Диапазон значений магнитного поля Земли
Новые функции CoordinateBounds и CoordinateBoundingBox позволяют найти значения экстремумов в каждом измерении многомерного массива. Данный пример демонстрирует поиск диапазона значений магнитного поля Земли в заданной области.
Задайте область рядом с Северным полюсом через её широту и долготу.
In[1]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_7.png)
lat = {65, 85};
lon = {-30, 30};
Графически изобразите область на карте мира.
In[2]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_8.png)
GeoGraphics[GeoBoundsRegion[{lat, lon}], GeoGridLines -> Automatic,
GeoZoomLevel -> 5]
Out[2]=
![](assets.ru/ranges-of-values-of-the-earths-magnetic-field/O_7.png)
Сгенерируйте данные магнитного поля Земли для данной области.
In[3]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_9.png)
data = GeomagneticModelData[Transpose[{lat, lon}], GeoZoomLevel -> 1]
Out[3]=
![](assets.ru/ranges-of-values-of-the-earths-magnetic-field/O_8.png)
Извлеките компоненты магнитного поля Земли из этих данных.
In[4]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_10.png)
components = {"NorthComponent", "EastComponent", "DownComponent"};
arr = Lookup[data, components]
Out[4]=
![](assets.ru/ranges-of-values-of-the-earths-magnetic-field/O_9.png)
Переведите список массивов в массив трёх векторов.
In[5]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_11.png)
qa = Transpose[QuantityArray[arr], {3, 1, 2}]
Out[5]=
![](assets.ru/ranges-of-values-of-the-earths-magnetic-field/O_10.png)
Далее представлены диапазоны компонентов магнитного поля Земли в заданной области.
In[6]:=
![Click for copyable input](assets.ru/ranges-of-values-of-the-earths-magnetic-field/In_12.png)
Thread[components -> CoordinateBounds[qa]]
Out[6]=
![](assets.ru/ranges-of-values-of-the-earths-magnetic-field/O_11.png)