本教程介绍如何使用地磁场模型。
Orekit提供了一个易于使用的类来计算地球的地磁场。目前支持两种不同的模型:
地磁场模型依赖于加载时加载的已发布系数文件。这些文件有不同的格式,但是orekit使用的是修改过的版本,其中一个文件中可能包含多个时期的系数。
预期模型文件的格式如下:
{模型名称} {时期} {nMax} {nMaxSec} {nMax3} {有效起始时间} {有效结束时间} {最小高度} {最大高度} {模型名称} {行号}
{n} {m} {gnm} {hnm} {dgnm} {dhnm} {模型名称} {行号}
示例:
WMM2010 2010.00 12 12 0 2010.00 2015.00 -1.0 600.0 WMM2010 0
1 0 -29496.6 0.0 11.6 0.0 WMM2010 1
1 1 -1586.3 4944.4 16.5 -25.9 WMM2010 2
IGRF和WMM的最新系数文件可以在附件中找到。
计算指定地理位置和海拔的地磁场非常简单。
首先获取所需年份的地磁场模型(例如WMM):
GeoMagneticField model = GeoMagneticFieldFactory.getWMM(2020.0);
年份必须以十进制年份指定,可以从儒略日期转换为十进制年份,如下所示:
double year = GeoMagneticField.getDecimalYear(1, 6, 2020);
最后,我们可以计算地理位置(以弧度表示的纬度/经度)和海拔(以米为单位)处的磁场:
GeoMagneticElements result = model.calculateField(FastMath.toRadians(80.0), 0.0, 100.e3);
结果包含七个磁场分量: