2010-08-27 22 views
6

Ceci est en quelque sorte lié à une autre question que j'ai posée: Translate GPS coordinates to location on PDF Map. Cela m'a amené à ce point, maintenant je suis coincé sur les maths. Disons que j'ai un plan d'étage d'un bâtiment, j'ai pris des lectures de coordonnées GPS de chaque coin du bâtiment. Supposez également que le plan d'étage est aligné avec la latitude et la longitude. Comment convertir une coordonnée GPS en une position X, Y sur cette carte? Je n'arrive pas à bien comprendre les maths.Convertir les coordonnées GPS en coordonnées

alt text

Répondre

10

Let delta_long et delta_lat être les différences, en degrés, dans les coordonnées GPS des coins du bâtiment. Soit delta_x = 320 et delta_y = 480 (pieds, disons). Puis:

vertical_scale = delta_y/delta_lat avec les pieds unités/degré de latitude

horizontal_scale = delta_x/(cos(latitude)*delta_long) pieds unités/degré de longitude.

Le facteur cos(latitude) compense la longueur variable de 1 degré de longitude lorsque l'on se déplace de l'équateur aux pôles. Nous pouvons supposer pour cette application que il ne changera pas sensiblement entre les extrémités nord et sud du bâtiment.

Ensuite, pour toute proximité (lat, long) points, soustraire au large des coordonnées du coin sud-ouest du bâtiment, et d'appliquer les échelles verticales et horizontales de la manière évidente pour localiser ce point par rapport à la disposition du bâtiment .

+0

Merci pour la bonne réponse. J'ai oublié de mentionner, le plan des coordonnées de l'iPhone est inversé, de sorte que (0,0) est dans le coin supérieur gauche de l'image d'échantillon. Comment cela affecte-t-il les calculs? – christo16

+0

Il convient de mentionner que c'est la "projection équirectangulaire" http://en.wikipedia.org/wiki/Equirectangular_projection – INS

+0

Donc, Jim, vous dites que 'x = (lon_origin - lon) * horizontal_scale' et' y = (lat_origin - lat) * vertical_scale', où lat_origin, lon_origin sont des coordonnées GPS du coin sud-ouest. Droite? –

0

Ce que vous devez faire est de calculer les coordonnées ECEF du point lat/long:

Latitude and Longitude, GPS Conversion

+0

La structure du bâtiment ne représente pas un système de coordonnées centré sur la terre, ce qui est très différent de ce que cherche christo16 (qui est plus proche d'une position topocentrique que géocentrique). –

Questions connexes