Wie kann ich geomagnetische Koordinaten in geografische Koordinaten konvertieren, ohne selbst zu rechnen?

10

Ich habe einige Daten, die in geomagnetischen Koordinaten angegeben sind. Das heißt, sie sind Breiten- und Längengrade, jedoch in Bezug auf den magnetischen Nordpol in Kanada und nicht auf den geografischen Nordpol. Wie Sie vielleicht erraten haben, möchte ich sie mit anderen Daten abgleichen, die sich in anderen Koordinatensystemen befinden.

(Die Daten stammten als Berechnung des Auroralovals; dh sie stammten als geomagnetisch und es gibt keine geografische Quelle, die ich auch im Prinzip heranziehen könnte.)

Die Daten werden in PostGIS gespeichert.

Der einfache Weg, dies zu tun, besteht darin, einen EPSG-Code für das geomagnetische Koordinatensystem zu finden, die Daten mit diesem Code zu kennzeichnen und dann alles auf magische Weise auf das zu projizieren, was ich gerade benötige. Auf Spatialreference.org kann ich jedoch keine EPSG-Codes finden, die entweder geomagnetisch oder magnetisch sind . Verschiedene Google-Suchanfragen ergeben ebenfalls nichts.

Für die Genauigkeit, die ich benötige, ist jedes Breiten- / Längenkoordinatensystem (z. B. WGS84), das so modifiziert wurde, dass es einen anderen Nordpol hat, gut genug. Wenn es also eine einfache Möglichkeit gibt, ein solches Koordinatensystem zu definieren und in PostGIS zu laden, wäre dies ebenfalls in Ordnung.

Klärung

Angenommen, anstatt von geomagnetischen Koordinaten in geografische zu konvertieren, wollte ich einfach von UTM 15N nach WGS84 konvertieren. Ich könnte das UTM-Objekt unverändert in PostGIS speichern und es mit dem EPSG-Code 26915 versehen . Wenn ich später eine Abfrage machte, konnte ich PostGIS sagen: "Bitte geben Sie die Ergebnisse im EPSG-Code 4326 zurück ", und PostGIS würde automatisch in WGS84 konvertieren.

Ebenso möchte ich die geomagnetischen Daten mit einem Koordinatensystem versehen und PostGIS die Neuprojektion hinter den Kulissen durchführen lassen, ohne dass ich eine reproject()Funktion manuell aufrufen muss.

Reid
quelle
1
Können Sie erklären, wie Ihre geomagnetischen Koordinaten überhaupt erhalten wurden? Ich denke, das könnte der Schlüssel zu einer genauen Lösung sein: Es scheint wahrscheinlich, dass sie aus geografischen Koordinaten berechnet werden. (Wie würde man sonst direkt einen geomagnetischen Breitengrad messen ?)
whuber
@whuber, Frage bearbeitet. Danke für die Klarstellung.
Reid

Antworten:

7

Ich bin nicht sicher, ob Open Source diese geomagnetische bis geografische Unterstützung unterstützt.

Aber wenn Sie wenige Koordinaten haben, pls. Versuchen Sie dies ..
http://wdc.kugi.kyoto-u.ac.jp/igrf/gggm/index.html

Die NASA hat den Algorithmus veröffentlicht. Sie können http://idlastro.gsfc.nasa.gov/ftp/pro/astro/mag2geo.pro ausprobieren

Vadivelan
quelle
1
Ich habe ein Ticket für das proj4-Team geöffnet. Sie könnten Unterstützung dafür in einer späteren Version hinzufügen? trac.osgeo.org/proj/ticket/178
Nickves
Jemand hat den geo2mag.pro IDL- Code nach Python portiert . Dieser inverse Code ist sehr ähnlich zu mag2geo.pro. Hier ist der Python-portierte Code .
Serge Stroobandt
2

Die Links , die von vadivelan macht deutlich, dass geomagnetischen Koordinaten nur eine Drehung der Kugel ist , so dass (a) der Nordpol des magnetischen Strom gelangt durch Süd - Pol und (b) der Hauptmeridian der physikalischen und magnetische Pole durchläuft.

Beispielsweise verwendet IGRF-95 1995 die Position des magnetischen Nordpols bei 79,30 Breitengrad und -71,41 Längengrad.

Sphärische Rotationen können auf viele Arten berechnet werden , typischerweise durch Konvertieren in geozentrische kartesische 3D-Koordinaten, Anwenden einer linearen Transformation (durch eine 3 × 3-Matrixmultiplikation oder eine Quaternionsmultiplikation) und Zurückkonvertieren in sphärische Koordinaten. Aber wenn Sie dies nicht programmieren möchten, gibt es einen Trick:Ein GIS, das schräge Projektionen unterstützt, kann durch eine Neuprojektion gedreht werden. Projizieren Sie die geomagnetischen Koordinaten einfach so, als wären sie geografische Koordinaten, beispielsweise anhand eines polaren Aspekts der sterografischen Projektion (mit einem Mittelmeridian bei 0 Grad). Projizieren Sie dann das Ergebnis unter Verwendung des schrägen Aspekts derselben Projektion mit einem Ursprungsspielraum von 79,30 und einem Mittelmeridian von -71,41. Zum Schluss projizieren Sie noch einmal mit einer beliebigen Projektion, um die "magische Reprojektion" zu erhalten.

whuber
quelle
Hmm. Gibt es eine Möglichkeit für mich, ein solches GEOS- oder PROJ-Koordinatensystem oder etwas anderes zu definieren, das PostGIS akzeptiert, und eine Bibliothek die Neuprojektion durchführen zu lassen, ohne dass ich dies explizit tun muss?
Reid
Es hängt davon ab, was Sie unter "explizit" verstehen. Irgendwann - vorzugsweise so früh wie möglich - sollten Sie die Koordinaten physisch von geomagnetisch in geografisch konvertieren. Sie können dies einmal mit einem geeigneten GIS (z. B. QGIS sieht so aus, als würde es funktionieren) oder einem Dienstprogramm zur Neuprojektion tun. Sie müssen die Reprojektionsgleichungen dafür nicht kennen, wenn Sie den von mir beschriebenen Trick verwenden.
whuber
Lassen Sie mich die Frage klären, um das zu beantworten.
Reid