Suite

Comment convertir MGRS en Lat/Long ou UTM ?

Comment convertir MGRS en Lat/Long ou UTM ?


Comment puis-je convertir le système de référence de grille militaire (MGRS) en lat/long ou UTM ?


J'ai dû écrire du code pour convertir MGRS en LL l'année dernière, mais je ne peux pas publier le code. Ce que je peux publier, ce sont les deux principales ressources que j'ai utilisées lors de l'écriture du code :

Description du système de référence de grille militaire des États-Unis, publiée par NGA et l'annexe associée et un convertisseur en ligne MGRS en LL pour vérifier vos résultats pendant que vous codez.

edit: Il existe également GeographicLib, une bibliothèque open source qui contient du code pour les conversions MGRS et est sous licence MIT. Vous aurez besoin de regarder la classe GeographicLib::MGRS et les fichiers MGRS.hpp et MGRS.cpp si vous avez besoin de regarder le code.

edit #2: Si vous pouvez préciser si vous recherchez du code, une bibliothèque ou un utilitaire pour convertir une ou plusieurs coordonnées, vous obtiendrez de meilleures réponses.


Si quelqu'un a besoin de ça en Javascript…

Cela vaut probablement la peine d'être lié à cette question maintenant, qui inclut un lien vers une bibliothèque Javascript sous GPL (malheureusement, la LGPL aurait été plus universellement utile) qui fera cela.

Je suis désolé -- je devrais probablement ajouter que la lib est, plus précisément, USNG, qui est apparemment très étroitement liée à MGRS mais pas exactement la même.

Lorsqu'elles sont référencées au NAD 83 ou au WGS 84, les valeurs USNG sont équivalentes aux valeurs du système de référence de grille militaire (MGRS). La différence entre ces deux systèmes est que l'USNG référencé au NAD27 utilise le schéma MGRS WGS 84 de 100 000 m d'identifications carrées…

(à partir du lien ci-dessus vers L'arpenteur américain)

Il semble qu'OpenLayers vous permette de le faire également - exemple dans un environnement de production (licence MIT-flavor) ici.


GDAL a une implémentation silencieuse de MGRS.

Vous pouvez trouver le code source ici :

https://svn.osgeo.org/gdal/trunk/gdal/frmts/nitf/mgrs.c


Vous pouvez également utiliser Python pour convertir MGRS en lat/long et vice versa. Utilisation de la bibliothèque pyproj vous pouvez convertir une tuile MGRS donnée (par exemple, WGS84) comme suit :

import pyproj geod = pyproj.Geod(ellps='WGS84') lat_min, lon_min = mgrs_object.toLatLon(mgrs_id) x_var = geod.line_length([lon_min, lon_min], [lat_min, lat_min + 1]) y_var = geod.line_length [lon_min, lon_min + 1], [lat_min, lat_min]) lat_max = lat_min + mgrs_tile_edge_size / x_var lon_max = lon_min + mgrs_tile_edge_size / y_var

lat_min,lon_min,lat_max,lon_maxpuis donnez les coins de la tuile en coordonnées lon/lat.

Pour plus d'informations générales, vous pouvez consulter cet article de blog.


Voir la vidéo: How to convert Lat Long to UTM Easting,Northing. by QGIS Software English