Pregunta

A partir de lo que he leído esto toma algo de matemáticas complicadas que no soy bueno. Por lo tanto, estoy pidiendo aquí.

¿Alguien tiene experiencia convertir un MKMapPoint o CLLocationCoordinate2D a un valor UTM? He encontrado este recurso ( http://www.uwgb.edu/dutchs/usefuldata/UTMFormulas. HTM ) pero la matemática es abrumadora.

¿Fue útil?

Solución

Se puede utilizar uno lib a hacer eso, o analizar el código de una lib de entender el algoritmo y hacerlo usted mismo.

Este es un C ++ lib que hace el trabajo: http://geographiclib.sourceforge.net/html/

http://geographiclib.sourceforge.net/html/classGeographicLib_1_1UTMUPS.html

He encontrado este sitio web (http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html). Si nos fijamos en el código fuente, toda la conversión se realiza usando JavaScript, puede echar un vistazo a él y tratar de convertir a Obj-C.

Otros consejos

Me escribió recientemente una clase para esto y ha publicado un proyecto de ejemplo en GitHub

UTMConverter ejemplo para iOS

La parte que desea es un archivo llamado UTMConverter.m. Se dispone de métodos para la conversión de latitud / longitud a UTM y viceversa.

MKMapViewZoom parece tener algunos métodos de la clase que puede convertir entre-mapa plana (geométrica) y curvo-mapa coordenadas (geográficas), aunque no los he probado a cabo. Alguien me da un pulgar hacia arriba si esto funciona realmente

//convert from WGS84 (geographic coordinates) to UTM (geometric coordinates)
+ (double)longitudeToPixelSpaceX(double)pixelX
+ (double)latitudeToPixelSpaceY(double)pixelY

//convert from UTM to WGS84
+ (double)pixelSpaceXToLongitude(double)longitude
+ (double)pixelSpaceYToLatitude(double)latitude

alguna documentación aquí

ACTUALIZACIÓN:

Este es enloquecedor, pero con el fin de obtener el código fuente de esta clase para el trabajo con precisión que básicamente tuvo que extraer los métodos en mi propio dominio, esencialmente, a continuación, quitar las partes del código de referencia MERCATOR_OFFSET y cambio MERCATOR_RADIUS al valor metros de la radio de la tierra. Estaba un poco, bueno, muy sorprendido cuando descubrí este efectivamente trabajadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top