Problèmes de conversion NAD83 UTM en lat et long
-
29-10-2019 - |
Question
Éditer Donc, la solution que j'ai publiée de Jenner chez VBForums était, évidemment, dans VB, et j'ai utilisé un convertisseur en ligne pour le porter en C #. Quelque chose a été perdu dans les traductions, et c'est pourquoi il était à 16 kilomètres.
Je suppose que je ne comprene que les algorithmes des forums de discussion Proj.net et c'est pourquoi ils ne faisaient pas ce que je voulais.
Je vais finir cette question dans deux jours où je pourrai marquer ma réponse à moins que quelqu'un ne fournisse quelque chose de génial.
J'ai des problèmes à convertir UTM en lat et long. Par exemple, j'ai la coordonnée NAD83 UTM suivante:
Easting: 686029.702258
Nord: 3581213.621173
Zone: 15
Une solution que j'ai trouvée sur vbforums Il y a quelque temps, il me donne un point à environ 10 miles au sud de l'endroit où je m'y attendais. Une solution mathématique simple que j'ai trouvée ici, me donne des résultats inattendus.
double[] inverseMercator (double x, double y) {
double lon = (x / 20037508.34) * 180;
double lat = (y / 20037508.34) * 180;
lat = 180/Math.PI * (2 * Math.Atan(Math.Exp(lat * Math.PI / 180)) - Math.PI / 2);
return new double[] {lon, lat};
}
double[] toPoint = inverseMercator (686029.702258, 3581213.621173);
J'obtiens le résultat suivant:
LAT: 30.602349476368449
Long: 6.1627096689832594
J'obtiens des résultats similaires en utilisant la solution proj.net fournie par D_Guidi dans le même thread.
En utilisant un convertisseur en ligne, j'ai pu rapprocher quelque chose de ce que j'attends:
LAT: 32.35238307052292
Long: -91.0230710652583
Quelqu'un peut-il faire la lumière sur ce que je fais mal?
EDIT - Préférerait .NET Solutions ou quelque chose qui serait facilement convertible
La solution 2
Donc, la solution que j'ai publiée de Jenner chez VBForums était, évidemment, dans VB, et j'ai utilisé un convertisseur en ligne pour le porter en C #. Quelque chose a été perdu dans les traductions, et c'est pourquoi il était à 16 kilomètres.
Je suppose que je ne comprene que les algorithmes des forums de discussion Proj.net et c'est pourquoi ils ne faisaient pas ce que je voulais.
Autres conseils
Avez-vous essayé le binaire CS2CS contenu dans "Proj" (projection, http://trac.osgeo.org/proj/)? Je crois que cela fera un travail précis pour convertir l'UTM en Easting / Northing et Lat / Lon. Le problème est que la formule mathématique simple ne tient pas avec précision, suffisamment compte de la forme de la Terre.