PDA

Ver la Versión Completa : Convertir coordenadas Lat Long a UTM ¿?


cocute
14-11-2017, 19:21:38
Hola estoy buscando como convertir coordenadas Latitud Longitud a formato Mercato UTM
he encontrado un ejemplo hecho en delphi que ya tiene unos años, lo adjunto abajo utmlalo.rar

Pero el problema es que la conversión que me hace este programa
Test of RealLaLoToUTM and UTMtoRealLaLo
In: Real Lat/Long: 50.372 7.271
E377040.368 N5581419.187 Out: UTM Zone: 32

No coincide exaactamente el resultado con otros conversores online que he probado
https://www.latlong.net/lat-long-utm.html
i put Lat/Long: 50.372 7.271
E377049.84 N5581421.71 in 32U zone
and here:
http://www.rcn.montana.edu/resources/converter.aspx
E377049.8 N5581421.7

Es normal que no de lo mismo?
alguna idea de como hacerlo.

Muchas gracias

cocute
14-11-2017, 19:58:16
al final lo he conseguido con esta otra librería y ya me coincide con los conversores online

duilioisola
15-11-2017, 08:41:56
Supongo que en la primera opción no has tenido en cuenta el modelo con el que trabajar.
La tierra no es exactamente redonda, por lo que para ciertas regiones del planeta se prefiere trabajar con un modelo de esfera distinto.
El segundo toma el modelo WGS84 y el primero tiene varios de los que elegir.


// UTM_WGS84.pas

// Ellipsoid model IAG GRS 1980 constants (actual values here are for WGS84)
Const ct_dga = 6378137; //demi grand axe
ct_dpa = 6356752.314; //demi petit axe
ct_UTMScaleFactor = 0.9996; //facteur d'échelle


// UTMLaLo.pas

Ellipsoid: array[TMapDatum] of TEllipsoid = (
(Name:'Airy'; a:6377563; b:6356257),
(Name:'Australian National'; a:6378160; b:6356775),
(Name:'Bessel 1841'; a:6377397; b:6356079),
(Name:'Bessel 1841 (Nambia) '; a:6377484; b:6356166),
(Name:'Clarke 1866'; a:6378206; b:6356583),
(Name:'Clarke 1880'; a:6378249; b:6356515),
(Name:'Everest'; a:6377276; b:6356075),
(Name:'Fischer 1960(Mercury)'; a:6378166; b:6356784),
(Name:'Fischer 1968'; a:6378150; b:6356768),
(Name:'GRS 1967'; a:6378160; b:6356775),
(Name:'GRS 1980'; a:6378137; b:6356752),
(Name:'Helmert 1906'; a:6378200; b:6356818),
(Name:'Hough'; a:6378270; b:6356794),
(Name:'International'; a:6378388; b:6356912),
(Name:'Krassovsky'; a:6378245; b:6356863),
(Name:'Modified Airy'; a:6377340; b:6356034),
(Name:'Modified Everest'; a:6377304; b:6356103),
(Name:'Modified Fischer 1960'; a:6378155; b:6356773),
(Name:'South American 1969'; a:6378160; b:6356775),
(Name:'WGS 60'; a:6378165; b:6356783),
(Name:'WGS 66'; a:6378145; b:6356760),
(Name:'WGS 72'; a:6378135; b:6356751),
(Name:'WGS 84'; a:6378137; b:6356752));

cocute
15-11-2017, 19:02:21
pero es que en los dos casos usando WGS 84
no da el mismo resultado