2010-08-27 6 views
6

Das hängt etwas mit einer anderen Frage zusammen, die ich gestellt habe: Translate GPS coordinates to location on PDF Map. Das hat mich zu diesem Punkt gebracht, jetzt bleibe ich in der Mathematik stecken.GPS-Koordinaten in Koordinatenebene umwandeln

Nehmen wir an, ich habe einen Grundriss eines Gebäudes, ich habe GPS-Koordinaten aus jeder Ecke des Gebäudes genommen. Nehmen Sie außerdem an, dass der Grundriss mit der geografischen Breite und Länge ausgerichtet ist.

Wie konvertiere ich eine GPS-Koordinate in eine X-, Y-Position auf dieser Karte? Ich kann die Mathematik nicht richtig verstehen.

alt text

Antwort

10

Lassen delta_long und delta_lat die Unterschiede in Grad an, in den GPS-Koordinaten von den Ecken des Gebäudes. Lassen Sie delta_x = 320 und delta_y = 480 (Fuß, sagen wir mal). Dann:

vertical_scale = delta_y/delta_lat mit Einheiten Meter/Grad Breite

horizontal_scale = delta_x/(cos(latitude)*delta_long) mit Einheiten Fuß/Grad Länge.

Der Faktor cos(latitude) kompensiert die unterschiedliche Länge von 1 Grad Längengrad , wenn man sich vom Äquator zu den Polen bewegt. Wir können für diese Anwendung annehmen, dass sich zwischen dem nördlichen und südlichen Ende des Gebäudes nicht nennenswert ändert.

Dann ist für jeden in der Nähe gelegene (lat, long), die Koordinaten der SW Ecke des Gebäudes subtrahieren aus, und die vertikale und horizontale Skalen in der offensichtlichen Weise anzuwenden, dass Punkt in Bezug auf das Layout des Gebäudes zu lokalisieren .

+0

Danke für die tolle Antwort. Ich habe vergessen zu erwähnen, dass die Ebene des iPhone-Koordinatensystems umgekehrt ist, so dass (0,0) in der oberen linken Ecke des Beispielbildes ist. Wie wirkt sich das auf die Berechnungen aus? – christo16

+0

Es sollte erwähnt werden, dass dies die "equirectangular projektion" ist http://en.wikipedia.org/wiki/Equirectangular_projection – INS

+0

Also Jim, du sagst das 'x = (lon_origin - lon) * horizontal_scale' und' y = (lat_origin - lat) * vertical_scale', wobei lat_origin, lon_origin die GPS-Koordinaten der südwestlichen Ecke sind. Recht? –

0

Was Sie tun müssen, ist die ECEF Koordinaten des lat/long Punkt berechnen:

Latitude and Longitude, GPS Conversion

+0

Das Gebäude-Layout stellt kein erdzentriertes Koordinatensystem dar, also ist es ein ganz anderer als das, was christo16 nach sucht (was näher an einer topozentrischen als an einer geozentrischen Position ist). –