Tengo algunos datos que están en coordenadas geomagnéticas; es decir, son latitud y longitud, pero en referencia al polo norte magnético en Canadá en lugar del polo norte geográfico. Como puede suponer, me gustaría relacionarlos con otros datos que están en otros sistemas de coordenadas.
(Los datos se originaron como un cálculo del óvalo auroral; es decir, se originaron como geomagnéticos y no hay una fuente geográfica que pueda consultar, incluso en principio).
Los datos se almacenarán en PostGIS.
La manera fácil de hacer esto es encontrar un código EPSG para el sistema de coordenadas geomagnéticas, etiquetar los datos con ese código y luego todo se vuelve a proyectar mágicamente a lo que necesite en ese momento. Sin embargo, no puedo encontrar ningún código EPSG en spatialreference.org que contenga geomagnética o magnética . Varias búsquedas en Google tampoco muestran nada.
Para el nivel de precisión que necesito, cualquier sistema de coordenadas de latitud / longitud (por ejemplo, WGS84) modificado para tener un polo norte diferente es lo suficientemente bueno. Entonces, si hay una manera fácil de definir dicho sistema de coordenadas y cargarlo en PostGIS, eso también estaría bien.
Aclaración
Por ejemplo, supongamos que en lugar de convertir de coordenadas geomagnéticas a geográficas, simplemente quería convertir de UTM 15N a WGS84. Podría guardar el objeto UTM en PostGIS sin modificar y etiquetarlo con el código EPSG 26915 . Luego, cuando más tarde hice una consulta, pude decirle a PostGIS, "devuelva los resultados en el código EPSG 4326 ", y PostGIS se convertiría a WGS84 automáticamente.
Del mismo modo, me gustaría etiquetar los datos geomagnéticos con algún sistema de coordenadas y dejar que PostGIS haga la reproyección detrás de escena, sin que tenga que llamar a una reproject()
función manualmente.
Respuestas:
No estoy seguro de que ninguna fuente abierta sea compatible con este geomagnético a geográfico.
Pero si tienes pocas coordenadas, por favor. prueba esto ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html
La NASA ha publicado el algoritmo, puedes probar http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro
fuente
geo2mag.pro
IDL a Python . Este código inverso es muy similar amag2geo.pro
. Aquí está el código portado por Python .Los enlaces proporcionados por vadivelan dejan en claro que las coordenadas geomagnéticas son solo una rotación de la esfera, de modo que (a) el polo norte pasa a través del polo sur magnético actual y (b) el meridiano principal pasa a través de los polos físico y magnético.
Por ejemplo, IGRF-95 usa la posición del polo norte magnético en 1995, en la latitud 79.30 y longitud -71.41 grados.
Las rotaciones esféricas se pueden calcular de muchas maneras , generalmente mediante la conversión a coordenadas cartesianas geocéntricas 3D, aplicando una transformación lineal (a través de una multiplicación de matriz de 3 x 3 o una multiplicación de cuaterniones) y volviendo a convertir a coordenadas esféricas. Pero si no quieres programar esto, hay un truco:Un SIG que admita proyecciones oblicuas puede rotar mediante una reproyección. Simplemente proyecte las coordenadas geomagnéticas como si fueran coordenadas geográficas, por ejemplo, mediante un aspecto polar de la proyección esterográfica (con un meridiano central a 0 grados). Luego, desproyecte el resultado utilizando el aspecto oblicuo de la misma proyección con latitud de origen en 79.30 y meridiano central de -71.41. Finalmente, proyecte una vez más usando cualquier proyección deseada para obtener la "reproyección mágica".
fuente