Trace el Paso del Noroeste con modelado geomagnético
El Paso del Noroeste es una ruta marítima a lo largo de Norte América que conecta los océanos del norte del Atlántico y del Pacífico. Fue descubierto en 1850 y fue primero navegado por el explorador Roald Amundsen entre 1903–1906. La navegación del Paso del Noroeste usando el compás magnético tradicional es difícil debido a las grandes diferencias entre el norte magnético y el verdadero en altas latitudes. Este ejemplo grafica el Paso del Noroeste usando GeomagneticModelData para obtener los datos del campo magnético actual para la Tierra.
Comience con una lista de pares de longitud y latitud describiendo el Paso del Noroeste y obtenga la posición del norte geo-magnético.
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]}]
Defina una función para graficar la dirección al polo geo-magnético (en rojo) y la lectura del compás local (en azul).
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}]}
]
Seleccione un conjunto de puntos de muestra razonablemente espaciados, calcúlelos, y observe visualmente la diferencia entre el norte verdadero (rojo) y el magnético (azul) a lo largo del Paso.
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"]]