Vermessen Sie die Nordwestpassage mit geomagnetischer Modellierung
Die Nordwestpassage ist ein Seeweg entlang der nordamerikanischen Küste, der den Nordatlantik und den Pazifik verbindet. Er wurde im Jahr 1850 entdeckt und vom Entdeckungsreisenden Roald Amundsen zwischen 1903 und 1906 zum ersten Mal befahren. Die Nordwestpassage mit einem traditionellen Magnetkompass zu befahren ist aufgrund der großen Unterschiede, die in hohen Breitengraden zwischen dem magnetischen und dem wahren Norden herrschen, eine Herausforderung. Dieses Beispiel vermisst die Nordwestpassage mithilfe von GeomagneticModelData, womit die aktuellen Magnetfelddaten der Erde abgerufen werden können.
Beginnen Sie mit einer Liste von Längengrad-Breitengradpaaren, die die Nordwestpassage angeben, und ermitteln Sie die Position des geomagnetischen Nordens.

course = GeoPosition[{{60.7, -56}, {67.7, -58.5}, {74, -74.4}, {74.4, \
-91.8}, {74.3, -95.9}, {74.2, -98.5}, {73.7, -113.5}, {73.08, \
-116.86}, {72.57, -118.9}, {71.29, -119.9}, {70.7, -124.3}, {70.83, \
-128.4}, {69.85, -139.6}, {70.44, -143.1}, {71.6, -156.5}, {70.4, \
-163.2}, {68.9, -167.3}, {65.7, -168.5}, {62.3, -167.9}}];

geomagneticNorthLocation =
GeomagneticModelData["NorthGeomagneticPole"]


GeoGraphics[{
{Red, PointSize[Large], Point[geomagneticNorthLocation]},
Line[course]}]

Bestimmen Sie eine Funktion, um die Richtung des geomagnetischen Nordpols (in rot) und des lokalen Nordens laut Kompass (in blau) zu veranschaulichen.

bearings[point_] := Module[{
d1,
d2,
distance = Quantity[400, "Kilometers"],
h1 = GeoDirection[point, geomagneticNorthLocation],
h2 = GeomagneticModelData[point, "Declination"]
},
{d1, d2} =
GeoDestination[point, GeoDisplacement[{distance, #}]] & /@ {h1, h2};
{Red, Arrow[{GeoPosition@point, d1}], Blue,
Arrow[{GeoPosition@point, d2}]}
]
Achten Sie auf eine angemessenen Abstand zwischen den Punkten, die Sie berechnen, und untersuchen Sie die Differenz zwischen der wahren (rot) und der magnetischen (blau) Passage.

samplepoints = course[[All, {2, 3, 4, 7, 11, 13, 15, 17, 19}]];

GeomagneticModelData[#, "Declination"] & /@ Thread[samplepoints]


GeoGraphics[{{Red, PointSize[Large], Point[geomagneticNorthLocation]},
Line[course],
bearings /@ samplepoints[[1]]}, GeoRange -> Quantity[1000, "Miles"]]
