Eu tenho alguns dados que estão em coordenadas geomagnéticas; isto é, são latitude e longitude, mas em referência ao pólo norte magnético no Canadá, e não ao polo norte geográfico. Como você pode imaginar, eu gostaria de combiná-los com outros dados que estão em outros sistemas de coordenadas.
(Os dados se originaram como um cálculo do oval auroral; isto é, eles se originaram como geomagnéticos e não há nenhuma fonte geográfica que eu pudesse consultar, mesmo em princípio.)
Os dados serão armazenados no PostGIS.
A maneira mais fácil de fazer isso é encontrar um código EPSG para o sistema de coordenadas geomagnéticas, marcar os dados com esse código e, em seguida, tudo é magicamente reprojetado para o que eu precisar no momento. No entanto, não encontro nenhum código EPSG no spatialreference.org que contenha geomagnético ou magnético . Várias pesquisas no Google também não aparecem.
Para o nível de precisão necessário, qualquer sistema de coordenadas de latitude / longitude (por exemplo, WGS84) modificado para ter um pólo norte diferente é bom o suficiente. Portanto, se houver uma maneira fácil de definir um sistema de coordenadas e carregá-lo no PostGIS, tudo bem também.
Esclarecimento
Por exemplo, suponha que, em vez de converter de coordenadas geomagnéticas em geográficas, eu simplesmente desejasse converter de UTM 15N em WGS84. Eu poderia salvar o objeto UTM no PostGIS sem modificação e marcá-lo com o código EPSG 26915 . Então, quando eu fiz uma consulta mais tarde, eu poderia dizer ao PostGIS, "retorne os resultados no código EPSG 4326 ", e o PostGIS seria convertido para WGS84 automaticamente.
Da mesma forma, eu gostaria de marcar os dados geomagnéticos com algum sistema de coordenadas e deixar o PostGIS fazer a reprojeção nos bastidores, sem que eu precise chamar uma reproject()
função manualmente.
Respostas:
Não tenho certeza se qualquer fonte aberta suporta esse geomagnético para geográfico.
Mas se você está tendo poucas coordenadas, pls. tente isso ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html
A NASA publicou o algoritmo, você pode tentar http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro
fonte
geo2mag.pro
IDL para Python . Esse código inverso é muito parecido commag2geo.pro
. Aqui está o código portado em Python .Os links fornecidos por vadivelan deixam claro que as coordenadas geomagnéticas são apenas uma rotação da esfera, de modo que (a) o pólo norte passa pelo atual pólo sul magnético e (b) o meridiano principal passa pelos pólos físico e magnético.
Por exemplo, o IGRF-95 usa a posição do pólo norte magnético em 1995, a latitude 79,30 e longitude -71,41 graus.
As rotações esféricas podem ser calculadas de várias maneiras , tipicamente convertendo para coordenadas cartesianas geocêntricas 3D, aplicando uma transformação linear (através de uma multiplicação de matriz 3 x 3 ou uma multiplicação de quaternário) e convertendo de volta para coordenadas esféricas. Mas se você não deseja programar isso, existe um truque:um GIS que suporta projeções oblíquas pode girar por meio de uma reprojeção. Apenas projete as coordenadas geomagnéticas como se fossem coordenadas geográficas, digamos, por meio de um aspecto polar da projeção estereográfica (com um meridiano central a 0 graus). Em seguida, desprojete o resultado usando o aspecto oblíquo da mesma projeção com latitude de origem em 79,30 e meridiano central de -71,41. Por fim, projete mais uma vez usando qualquer projeção desejada para obter a "reprojeção mágica".
fonte