Comment convertir les coordonnées à 6 et 7 chiffres en degrés de latitude et de longitude

8

Je suis un peu nouveau dans le monde SIG dans son ensemble, et bien que je fasse de grands progrès en dessinant des polygones et autres dans Bing Maps, je suis actuellement bloqué. Dans nos données spatiales SQL, je suis tombé sur des données MULTIPOLYGON, où toutes les valeurs de coordonnées sont de très grands nombres (6 chiffres et 7 chiffres pour ce qui devrait être la latitude et la longitude, avant la décimale). J'ai trouvé une méthode SQL pour démonter le multi-polygone en plusieurs polygones, mais ces grandes valeurs ne fonctionnent pas dans Bing Maps ni Google Maps. J'ai donc cherché un algorithme pour convertir ces grands nombres en ce que j'ai perçu comme des nombres de latitude / longitude réguliers, tels que 45.19167 -93.58328 (qui fonctionne sur les cartes en ligne).

Cela dit, quelqu'un pourrait-il me montrer ou me diriger dans une grande direction pour apprendre à convertir 631456.83, 3816200.79 en quelque chose que je peux utiliser en ligne. Je sais que les coordonnées se situent quelque part en Arizona.

Jonathan Hansen
la source
1
Vous devez convertir ces données d'un système de coordonnées à un autre. N'utilisez pas d'algorithme, utilisez une bibliothèque. Ou une application de bureau SIG. Ou OGR. alastaira.wordpress.com/ogr2ogr-patterns-for-sql-server
Alex Leith
3
Veuillez mettre à jour la question avec l'emplacement de vos données / point d'échantillonnage (ville, comté, etc.). Comme @radar l'indique, vos données sont dans un système de référence de coordonnées projeté plutôt que géographique. Ce peut être UTM, mais cela pourrait être autre chose. Savoir où se trouvent les données permettra à quelqu'un de déterminer quelle zone UTM, ou s'il existe un autre ProjCRS possible.
mkennedy
1
Question en double sur SO (avec un exemple de polygone): stackoverflow.com/q/20552567
Antonio Falciano
Je n'ai pas réalisé que ce site existait jusqu'à ce que je poste sur StackOverflow et que j'obtienne toutes sortes de réponses de personnes apparemment aussi confuses que moi. :-)
Jonathan Hansen
Il y a une certaine confusion ici parce que vous semblez avoir confondu les significations de latitude et de longitude.
whuber

Réponses:

9

Vos coordonnées sont probablement dans les abscisses et les ordonnées UTM (Universal Transverse Mercator).

Vous pouvez convertir les coordonnées UTM en lat / long en ligne en utilisant de nombreux sites différents. Ici en un . Vous pouvez également effectuer ce calcul dans Excel ou à l'intérieur d'une base de données si vous pouvez calculer la formule. Vous pouvez également effectuer la conversion à l'intérieur d'un SIG tel que QGIS ou ArcGIS.

Avant de pouvoir convertir des coordonnées en lat / long, vous devez savoir dans quelle zone UTM vos coordonnées se situent.

Voici un exemple pour l'Amérique du Nord:

entrez la description de l'image ici

Dans cet exemple, la majeure partie de la Floride se situe dans la zone UTM 17N.

Je suis tombé sur cette page en recherchant `` convertir par lots UTM en lat / long ''.

Radar
la source
3
Si la latitude a six chiffres et la longitude sept, ce n'est certainement pas une coordonnée UTM.
whuber
1
Les zones UTM ne sont que quelques-uns des nombreux systèmes de coordonnées projetés, de sorte que le demandeur peut avoir besoin de rechercher celle qui a été utilisée si une simple inversion de ses X et Y ne commence pas à avoir un sens UTM.
PolyGeo
La société pour laquelle je travaille utilise une application tierce pour traiter l'affichage de leur SIG, mais l'application est terriblement lente et obsolète, et je suis chargé de voir si une solution personnalisée peut être développée pour afficher ces cartes SIG sur Bing Maps, comme fait partie de notre service en ligne. Je sais que toutes les coordonnées sont dans les limites des États-Unis.
Jonathan Hansen
Je sais dans quel État et comté se situent les coordonnées, ainsi que le nombre total d'acres, ainsi que les champs que je présume être FarmNumber et TractNumber. J'espère qu'avec ces données, je pourrai déterminer la zone.
Jonathan Hansen
Radar, cela m'a mis dans le bon état. Merci beaucoup de m'avoir expliqué cela. Maintenant, je dois trouver un moyen de déterminer dynamiquement les zones, en fonction des paires État / Comté ... mais cela semble amusant.
Jonathan Hansen
7

Essaye celui-là:

http://cs2cs.mygeodata.eu/

ou utilisez "proj" (ligne de commande ci-dessous en supposant que la zone UTM 17 sud et wgs84):

# geographical coordinates (ie. longitude,latitude) to utm
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 < myfile

# utm to geographical coordinates (ie. longitude,latitude)
proj -f "%.4f" +proj=utm +zone=17 +south +ellps=WGS84 -I < my file

Dans votre cas (c.-à-d. 631456.83356859628, 3816200.7961099017; qui sont respectivement les coordonnées UTM Est et Nord en METRES), vous devez connaître l'UTM ZONE et HEMISPHERE (quelque chose comme ZONE 17 SOUTH ci-dessus). Vos données devraient probablement être dans WGS84.

En fin de compte, si vous ne connaissez pas la zone UTM que vous êtes, je ferais simplement une boucle sur les zones UTM des États-Unis (c.-à-d. 10-19) pour obtenir les coordonnées géographiques, puis tracer les coordonnées résultantes pour voir quelles sont les bonnes :

for ((utmZone=10;utmZone<20;utmZone++))
do
  echo 631456.83356859628 3816200.7961099017 | proj -f "%.4f" +proj=utm +zone=$utmZone +north +ellps=WGS84 -I
done

obtenir:

-121.5685       34.4790
-115.5685       34.4790
-109.5685       34.4790
-103.5685       34.4790
-97.5685        34.4790
-91.5685        34.4790
-85.5685        34.4790
-79.5685        34.4790
-73.5685        34.4790
-67.5685        34.4790

où "% .4f" contrôle le nombre de décimales.

J'espère que cela t'aides,

Gery
la source