如何不自己做数学就将地磁坐标转换为地理坐标?


10

我有一些地磁数据。也就是说,它们是经度和纬度,但是是指加拿大磁性北极而不是地理北极。您可能会猜到,我想将它们与其他坐标系中的其他数据进行匹配。

(数据起源于极光椭圆的计算;即,它们起源于地磁,即使在原则上也没有可以参考的地理资源。)

数据将存储在PostGIS中。

这样做的简单方法是找到地磁坐标系的EPSG代码,用该代码标记数据,然后将所有内容神奇地重新投影到我当时需要的任何位置。但是,我在spatialreference.org找不到包含地磁磁场的任何EPSG代码。各种Google搜索也都没有结果。

对于我需要的精度水平,任何经修改以具有不同北极的纬度/经度坐标系(例如WGS84)就足够了。因此,如果有一种简单的方法来定义这样的坐标系并将其加载到PostGIS中,那也可以。

澄清度

例如,假设我只是想从UTM 15N转换为WGS84,而不是从地磁坐标转换为地理。我可以将UTM对象未经修改地保存到PostGIS中,并用EPSG代码26915对其进行标记。然后,当我稍后进行查询时,我可以对PostGIS说“请在EPSG代码4326中返回结果”,然后PostGIS将自动转换为WGS84。

同样,我想用一些坐标系标记地磁数据,并让PostGIS在幕后进行重新投影,而无需reproject()手动调用函数。


1
您能先解释一下如何获得地磁坐标吗?我认为这可能是找到准确解决方案的关键:看来它们很可能是根据地理坐标计算出来的。(否则,人们将如何直接测量地磁纬度?)
笨蛋

@whuber,问题已编辑。感谢您的澄清。
2012年

Answers:


7

我不确定任何开源都支持这种地磁到地理。

但是,如果坐标很少,请。试试这个。.http
://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html

NASA已发布该算法,您可以尝试 http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro


1
我已经为proj4团队打开了一张票。他们可能会在更高版本中添加对此的支持吗?trac.osgeo.org/proj/ticket/178
尼克

有人将geo2mag.pro IDL代码移植到Python。此反代码与十分相似mag2geo.pro。这是Python移植的代码
Serge Stroobandt 2014年

2

通过vadivelan化妆提供的链接明确指出地磁坐标只是一个球体的旋转,这样(一)北极通过电流磁磁极和(b)本初子午线经过物理和磁极。

例如,IGRF-95使用1995年的磁性北极位置,即纬度79.30和经度-71.41度。

球形旋转可以通过多种方式进行计算,通常是将其转换为3D地心笛卡尔坐标,应用线性变换(通过3 x 3矩阵乘法或四元数乘法),然后转换回球形坐标。但是,如果您不想对此进行编程,则有一个技巧:支持倾斜投影的GIS可以通过重新投影来旋转。只需将地磁坐标投影为地理坐标即可,例如借助立体投影的极坐标(中心子午线为0度)。然后,使用同一投影的斜面(原点纬度为79.30,中央子午线为-71.41)对结果进行非投影。最后,再次使用任何所需的投影进行投影以获得“神奇的投影”。


嗯 有没有办法让我定义这样的GEOS或PROJ坐标系,或者PostGIS可以接受的其他方法,让图书馆进行重新投影而无需我明确地进行?
里德2012年

这取决于您“明确”的意思。在某个时候(最好是在过程的早期),您应该将坐标从地磁物理转换为地理坐标。您可以使用合适的GIS(例如QGIS看起来可行)或重新投影实用程序来执行此操作。如果您使用我概述的技巧,则无需了解此的重新投影方程式。
ub

让我澄清回答这个问题。
Reid 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.