Як я можу перетворити геомагнітні координати в географічні координати, не роблячи математики самостійно?


10

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

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

Дані будуть зберігатися в PostGIS.

Найпростіший спосіб зробити це - знайти код EPSG для геомагнітної системи координат, позначити дані цим кодом, і тоді все буде магічно відтворено на все, що мені потрібно в той час. Однак я не можу знайти жодного EPSG-коду на просторіreference.org, що містить геомагнітний або магнітний . Різні пошукові запити в Google також не дають нічого.

Для рівня точності мені потрібна будь-яка система координат широти / довготи (наприклад, WGS84), модифікована для того, щоб мати інший північний полюс. Отже, якщо є простий спосіб визначити таку систему координат і завантажити її в PostGIS, це теж буде добре.

Уточнення

Наприклад, припустимо, що замість перетворення геомагнітних координат на географічні я просто хотів перетворити з UTM 15N в WGS84. Я міг би зберегти об'єкт UTM у незміненому PostGIS та позначити його кодом EPSG 26915 . Потім, коли я зробив запит, я можу сказати PostGIS: "Будь ласка, поверніть результати в коді EPSG 4326 ", і PostGIS перетвориться на WGS84 автоматично.

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


1
Чи можете ви пояснити, як отримувались в першу чергу геомагнітні координати? Я думаю, що це може стати ключем до точного рішення: мабуть, вони обчислюються з географічних координат. (Інакше як би безпосередньо виміряти геомагнітну широту ?)
whuber

@whuber, питання відредаговано. Дякуємо за роз’яснення.
Рейд

Відповіді:


7

Я не впевнений, що будь-який відкритий код підтримує цей геомагнітний та географічний.

Але якщо у вас мало координат, pls. спробуйте це ..
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 .
Серж Стройбандт

2

Посилання, надані вадивеланом, дають зрозуміти, що геомагнітні координати - це лише обертання сфери, так що (а) північний полюс проходить через поточний магнітний південний полюс і (b) меридіан проходить через фізичний і магнітний полюси.

Наприклад, IGRF-95 використовує положення магнітного північного полюса в 1995 році на широті 79,30 і довготі -71,41 градуса.

Сферичні обертання можна обчислити багатьма способами , як правило, шляхом перетворення на 3D геоцентричні декартові координати, застосовуючи лінійне перетворення (через множення 3-х матриць або множення кватерніона) та перетворення назад до сферичних координат. Але якщо ви не хочете програмувати це, є хитрість:ГІС, що підтримує косі проекції, може обертатися за допомогою репроекції. Просто проектуйте геомагнітні координати так, ніби вони географічні координати, скажімо, за допомогою полярного аспекту стерографічної проекції (з центральним меридіаном у 0 градусів). Потім зніміть результат, скориставшись косим аспектом тієї ж проекції з широтою початку координат 79,30 і центральним меридіаном -71,41. Нарешті, спроектуйте ще раз, використовуючи будь-яку бажану проекцію, щоб отримати "магічну репроекцію".


Хм. Чи є спосіб, щоб я визначив таку систему координат GEOS або PROJ, чи щось інше, що PostGIS прийме, і дозволити бібліотеці зробити перепроектування без того, щоб я це робив явно?
Рейд

Це залежить від того, що ви маєте на увазі під "явним чином". У якийсь момент - бажано якомога раніше в процесі - вам слід фізично перетворити координати з геомагнітних на географічні. Ви можете зробити це один раз, використовуючи відповідний ГІС (наприклад, QGIS виглядає так, як це буде працювати) або утиліту повторного проектування. Для цього вам не потрібно знати рівняння репроекції, якщо ви використовуєте викладений мною трюк.
whuber

Дозвольте мені уточнити питання, щоб відповісти на це.
Рейд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.