[Marble-devel] Feature request: full metric support
Dennis P
dennis_p at fastmail.fm
Thu Nov 1 10:56:37 CET 2007
Feature request: full metric support
Hi, I noticed Marble is using metric values for altitude and distance yet
doesn't use metric notation of coordinates. This is understandable as even
the wikipedia UTM article refers more to its historical existence rather than
giving a straight practical explanation of how it can be used by civilians in
everyday life. So I've written the following explanation which hopefully
makes anyone living outside the USA and UK jump for joy screaming "yeah this
notation fits in with what kids learn in school and would even make sense to
my mother in law" :-)
UTM x and y notation maps earths sphere into 1000 x 1000 km squares which
overlap each other horizontally. It allows everybody brought up on the metric
system to easily map their surroundings in meter distances on a north-up map
using two eight digit coordinates.
The y value is a perfectly straight line on the flat (Mercator projected
world) map at a 90 degree angle with equator (hence the M in UTM). The
equator is given a y value of 10000000 meter, any location in the northern
hemisphere has a y value above 10000000 m and any location below the equator
in the southern hemisphere has a y value below 10000000 m. Pretty
straightforward (well if the earth was a smooth sphere anyway, which it is on
a north-up WGS 84 map :-)
The x value however makes a sudden jump each time the distance to the center
line of the next horizontal square is less than the current one. The x value
is the meter offset from the nearest UTM longitude zone center line (these
lines run from from pole to pole). There are 60 zones (like 60 parts in a
peeled orange) and therefor 60 center lines named: x 01500000 m to x 60500000
m.
Usage in Marble
At high altitude coordinates jump erratically with each mouse movement anyway
so you only need a single line of coordinate information, the 'jumpyness' of
the x value will be unnoticeable. The status bar can therefor easily be
replaced with:
vector#8 x = 31628830 m y = 15804260 m Altitude = ... km
(monospaced figure 1: Amsterdam)
At middle high altitude we should have two lines in the status bar. Whenever
the mouse pointer enters an overlapping the second line is shown but it is
shown dimmed. When you cross the zone border the dimming flips to indicate
that now the other line contains the legitimate x value for the position
underneath your mouse pointer.
vector#8 x = 31800000 m y = 15804260 m Altitude = ... km
vector#8 x = 32020000 m y = 15804260 m Altitude = ... km
(monospaced figure 2: made up a bogus overlap)
Call me crazy but I want 3 lines in the statusbar at low altitude to showcase
Pythagoras's theorem when only one zone is visible. A first click would set a
marker, a second marker set with a second click would then create a box named
D C
A B
draw the line between the two markers AC or BD and calculate the distance,
unless "Solve diagonals" has been unchecked in the Marble Settings (this is
part of the educational package after all). A third click would remove the
two markers.
A = vector#2 x = 31002000 m y = 15003000 m Altitude = ... km
C = vector#6 x = 31006000 m y = 15006000 m Altitude = ... km
AC = 00005000 AB = 00004000 m BC = 00003000 m Altitude = ... km
(monospaced figure 3: A 5 km diagonal box (within France?))
One should always use the legal x value positions at a zone border, unless a
single object crosses the border (for example something measured in a
blueprint) then you may be better off using one offset center line. The
maximum width of a zone is around 800 km at the equator, and equals 6 degrees
of longitude in width. The center line for zone 01 is x 01500000 and equals
the longitude 177 degree west, the zone borders for zone 01 are at longitudes
180 and 174 (like the simplest xy grid used in school the zones count up
toward the east).
By using a marble smooth earth named WGS 84 as used by GPSes, Openstreetmap
and everyone else you should now realize that the projected meter spaced grid
of UTM has the same precision as available for GPS latitude and longitude
notation; mm for construction, cm for magnetic guidepoints for selfparking
cars and m for finding the addressed door or mailbox with your handheld. Yet
a single zone is such a small part of earths surface that it can be
considered flat. When near to the poles there is a lot of overlap which has
been (ab)used by Scandinavian countries to include some beach areas with the
mainland offset center line instead of the one at sea. Joined together the
small zones are still less then 800 km wide. At the poles navigation using a
paper printed UTM map becomes impractical but every location can still be
notated correctly.
Vector
The vector of entry, or facing the entry door, or facing a wall, is to be
visualized with a 90 degree (plus 2 x 45 degrees) triangular arrow which
points towards the xy position.
Vector of direction:
1 - looking north
2 - turning 45 degrees to your right
3 - looking east
4 - turning 45 degrees to your right
5 - looking south
6 - turning 45 degrees to your right
7 - looking west
8 - turning 45 degrees to your right
9 - A magnetic north of a magnet is placed just underneath the street surface
to help you verify your location.
0 - A magnetic south of a magnet is attracting you to help you verify your
location.
When copying the notation an address is formed using three 8 character long
lines:
vector#8
31628830
15804260
The characters of the word vector can be replaced with ###### or with an error
correction code in decimal or hex to verify and indicate the incorrect typing
of specific digits of x and y coordinates during manual entry, to be defined
by a future RFC. Please note that this is the very first draft of the concept
and usage of vector of direction.
There are several reasons for this draft. A GPS can bring one to a street
however imprecision, even in the upcoming Galileo positioning system, may
likely keep you from knowing which nearby door to enter. This single address
will point you in the right direction. Unlike the public USA zip code the
European post codes are propriety and will not be made public as there are
several indexes available at reasonable cost for commercial use, so there is
no monopoly abuse but OpenStreetMap.org complains that recreating this data
for free civilian usages would be a Jehovahisticly large undertaking. This
vector address has the advantage of not needing a map (if you have the
addresses of a village you can see its residential streets right in Marble
just by looking at backsides of the arrows pinpointing the mailboxes). These
addresses would be global. (And you don't need a valid street map or postal
codes index to know or visualize their location!)
Of course usage of miles, latitudes and longitudes will not go away so one
should be able to switch between them and the metric system, for example by
clicking the "km" displayed for Altitude Marble could switch to imperial. It
would also be nice if you could edit the fields in the statusbar, no wait,
making Marble the first free metric navigation tool would be awesome enough
already, thanks for your attention programmers of Marble.
Dennis Pennekamp
More information about the Marble-devel
mailing list