[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