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

Fil connexe

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top