public class GeoMagneticField extends Object
基于美国国家海洋和大气管理局(NOAA)国家地球物理数据中心的Manoj Nair编写的原始软件,作为WMM 2010软件发布的一部分(WMM_SubLibrary.c)
Modifier | Constructor and Description |
---|---|
protected |
GeoMagneticField(String modelName, double epoch, int maxN, int maxNSec, double validityStart, double validityEnd)
创建具有给定参数的新地磁场模型。
|
Modifier and Type | Method and Description |
---|---|
GeoMagneticElements |
calculateField(double latitude, double longitude, double height)
计算指定大地点的磁场,由纬度、经度和海拔标识。
|
static double |
getDecimalYear(int day, int month, int year)
获取给定日期的十进制年份的实用函数。
|
double |
getEpoch()
返回此磁场模型的时代。
|
String |
getModelName()
返回模型名称。
|
protected void |
setMainFieldCoefficients(int n, int m, double gnm, double hnm)
设置给定的主场系数。
|
protected void |
setSecularVariationCoefficients(int n, int m, double dgnm, double dhnm)
设置给定的岁差系数。
|
boolean |
supportsTimeTransform()
指示此模型是否支持时间转换。
|
GeoMagneticField |
transformModel(double year)
使用岁差系数从模型的基准年转换模型系数。
|
GeoMagneticField |
transformModel(GeoMagneticField otherModel, double year)
使用第二个模型进行线性插值,从模型的基准年转换模型系数。
|
double |
validFrom()
返回此模型的有效期开始。
|
double |
validTo()
返回此模型的有效期结束。
|
protected GeoMagneticField(String modelName, double epoch, int maxN, int maxNSec, double validityStart, double validityEnd)
modelName
- 模型名称
epoch
- 模型的时代
maxN
- 主模型的最大程度
maxNSec
- 岁差变化的最大程度
validityStart
- 此模型的有效开始
validityEnd
- 此模型的有效结束
public double getEpoch()
public String getModelName()
public double validFrom()
public double validTo()
public boolean supportsTimeTransform()
true
如果此模型可以在其有效期内转换,否则false
protected void setMainFieldCoefficients(int n, int m, double gnm, double hnm)
n
- n指数
m
- m指数
gnm
- n,m位置处的g系数
hnm
- n,m位置处的h系数
protected void setSecularVariationCoefficients(int n, int m, double dgnm, double dhnm)
n
- n指数
m
- m指数
dgnm
- n,m位置处的dg系数
dhnm
- n,m位置处的dh系数
public GeoMagneticElements calculateField(double latitude, double longitude, double height)
latitude
- 以弧度表示的WGS84纬度
longitude
- 以弧度表示的WGS84经度
height
- WGS84椭球体上方的高度,以米为单位
GeoMagneticElements
public GeoMagneticField transformModel(double year)
year
- 要将模型转换为的年份
public GeoMagneticField transformModel(GeoMagneticField otherModel, double year)
otherModel
- 另一个磁场模型
year
- 要将模型转换为的年份
public static double getDecimalYear(int day, int month, int year)
day
- 日(1-31)
month
- 月(1-12)
year
- 年
Copyright © 2002-2023 CS GROUP. All rights reserved.