Как я могу преобразовать геомагнитные координаты в географические, не занимаясь математикой самостоятельно?

10

У меня есть некоторые данные, которые находятся в геомагнитных координатах; то есть они широта и долгота, но в отношении северного магнитного полюса в Канаде, а не географического северного полюса. Как вы можете догадаться, я бы хотел сопоставить их с другими данными, которые находятся в других системах координат.

(Данные возникли как вычисление аврорального овала; т. Е. Они возникли как геомагнитные, и нет географического источника, к которому я мог бы обратиться, даже в принципе.)

Данные будут храниться в PostGIS.

Самый простой способ сделать это - найти код EPSG для геомагнитной системы координат, пометить данные этим кодом, а затем все волшебным образом перепроецируется в то, что мне нужно в данный момент. Тем не менее, я не могу найти какие-либо EPSG-коды наpacereference.org, содержащие геомагнитные или магнитные . Различные поиски в Google также ничего не дают.

Для необходимого мне уровня точности достаточно любой системы координат широты / долготы (например, WGS84), модифицированной так, чтобы иметь другой северный полюс. Так что если есть простой способ определить такую ​​систему координат и загрузить ее в PostGIS, это тоже будет хорошо.

осветление

Например, предположим, что вместо преобразования геомагнитных координат в географические, я просто хотел преобразовать UTM 15N в WGS84. Я мог бы сохранить объект UTM в PostGIS без изменений и пометить его кодом EPSG 26915 . Затем, когда я позже сделал запрос, я мог сказать PostGIS: «Пожалуйста, верните результаты в коде EPSG 4326 », и PostGIS автоматически конвертирует в WGS84.

Точно так же я хотел бы пометить геомагнитные данные с некоторой системой координат и позволить PostGIS выполнять перепроецирование за кулисы, без необходимости вызывать reproject()функцию вручную.

Reid
источник
1
Не могли бы вы объяснить, как ваши геомагнитные координаты были получены в первую очередь? Я думаю, что это может содержать ключ к точному решению: похоже, что они рассчитываются по географическим координатам. (В противном случае, как можно было бы непосредственно измерить геомагнитную широту ?)
whuber
@whuber, вопрос отредактирован. Благодарю за разъяснение.
Рейд

Ответы:

7

Я не уверен, что любой открытый источник поддерживает это геомагнитное к географическому.

Но если у вас мало координат, пожалуйста. попробуйте это ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html

НАСА опубликовало алгоритм, вы можете попробовать http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro

vadivelan
источник
1
Я открыл билет для команды proj4. Они могут добавить поддержку для этого в более поздней версии? trac.osgeo.org/proj/ticket/178
nickves
Кто-то перенес код geo2mag.pro IDL на Python . Этот обратный код очень похож на mag2geo.pro. Вот Python-портированный код .
Серж Строобандт
2

Связи, предоставленные vadivelan, проясняют, что геомагнитные координаты - это просто вращение сферы, так что (а) северный полюс проходит через текущий магнитный южный полюс и (б) основной меридиан проходит через физический и магнитный полюсы.

Например, IGRF-95 использует положение магнитного северного полюса в 1995 году на широте 79,30 и долготе -71,41 градуса.

Сферические повороты могут быть вычислены многими способами , обычно путем преобразования в трехмерные геоцентрические декартовы координаты, применения линейного преобразования (посредством умножения матрицы 3 x 3 или умножения кватернионов) и преобразования обратно в сферические координаты. Но если вы не хотите программировать это, есть хитрость:ГИС, которая поддерживает наклонные проекции, может вращаться посредством репроекции. Просто спроецируйте геомагнитные координаты, как если бы они были географическими координатами, скажем, с помощью полярного аспекта стерографической проекции (с центральным меридианом в 0 градусов). Затем отмените проекцию результата, используя наклонный аспект той же проекции с широтой начала координат в 79,30 и центральным меридианом -71,41. Наконец, спроектируйте еще раз, используя любую желаемую проекцию, чтобы получить «магическое перепроецирование».

Whuber
источник
Хм. Есть ли способ для меня определить такую ​​систему координат GEOS или PROJ, или что-то еще, что примет PostGIS, и позволит библиотеке выполнить перепроецирование без необходимости делать это явно?
Рейд
Это зависит от того, что вы подразумеваете под «явно». В какой-то момент - желательно как можно раньше в процессе - вы должны физически преобразовать координаты из геомагнитных в географические. Вы можете сделать это один раз, используя подходящую ГИС (например, QGIS выглядит так, как она будет работать) или утилиту перепроектирования. Вам не нужно знать уравнения репроекции для этого, если вы используете трюк, который я изложил.
whuber
Позвольте мне уточнить вопрос, чтобы ответить на него.
Рейд