У меня есть некоторые данные, которые находятся в геомагнитных координатах; то есть они широта и долгота, но в отношении северного магнитного полюса в Канаде, а не географического северного полюса. Как вы можете догадаться, я бы хотел сопоставить их с другими данными, которые находятся в других системах координат.
(Данные возникли как вычисление аврорального овала; т. Е. Они возникли как геомагнитные, и нет географического источника, к которому я мог бы обратиться, даже в принципе.)
Данные будут храниться в PostGIS.
Самый простой способ сделать это - найти код EPSG для геомагнитной системы координат, пометить данные этим кодом, а затем все волшебным образом перепроецируется в то, что мне нужно в данный момент. Тем не менее, я не могу найти какие-либо EPSG-коды наpacereference.org, содержащие геомагнитные или магнитные . Различные поиски в Google также ничего не дают.
Для необходимого мне уровня точности достаточно любой системы координат широты / долготы (например, WGS84), модифицированной так, чтобы иметь другой северный полюс. Так что если есть простой способ определить такую систему координат и загрузить ее в PostGIS, это тоже будет хорошо.
осветление
Например, предположим, что вместо преобразования геомагнитных координат в географические, я просто хотел преобразовать UTM 15N в WGS84. Я мог бы сохранить объект UTM в PostGIS без изменений и пометить его кодом EPSG 26915 . Затем, когда я позже сделал запрос, я мог сказать PostGIS: «Пожалуйста, верните результаты в коде EPSG 4326 », и PostGIS автоматически конвертирует в WGS84.
Точно так же я хотел бы пометить геомагнитные данные с некоторой системой координат и позволить PostGIS выполнять перепроецирование за кулисы, без необходимости вызывать reproject()
функцию вручную.
Ответы:
Я не уверен, что любой открытый источник поддерживает это геомагнитное к географическому.
Но если у вас мало координат, пожалуйста. попробуйте это ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html
НАСА опубликовало алгоритм, вы можете попробовать http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro
источник
geo2mag.pro
IDL на Python . Этот обратный код очень похож наmag2geo.pro
. Вот Python-портированный код .Связи, предоставленные vadivelan, проясняют, что геомагнитные координаты - это просто вращение сферы, так что (а) северный полюс проходит через текущий магнитный южный полюс и (б) основной меридиан проходит через физический и магнитный полюсы.
Например, IGRF-95 использует положение магнитного северного полюса в 1995 году на широте 79,30 и долготе -71,41 градуса.
Сферические повороты могут быть вычислены многими способами , обычно путем преобразования в трехмерные геоцентрические декартовы координаты, применения линейного преобразования (посредством умножения матрицы 3 x 3 или умножения кватернионов) и преобразования обратно в сферические координаты. Но если вы не хотите программировать это, есть хитрость:ГИС, которая поддерживает наклонные проекции, может вращаться посредством репроекции. Просто спроецируйте геомагнитные координаты, как если бы они были географическими координатами, скажем, с помощью полярного аспекта стерографической проекции (с центральным меридианом в 0 градусов). Затем отмените проекцию результата, используя наклонный аспект той же проекции с широтой начала координат в 79,30 и центральным меридианом -71,41. Наконец, спроектируйте еще раз, используя любую желаемую проекцию, чтобы получить «магическое перепроецирование».
источник