public class ViennaModelCoefficientsLoader extends AbstractSelfFeedingLoader implements DataLoader
如果用户初始化纬度和经度的值不在流中,则执行双线性插值。
系数是从Vienna Mapping Functions Open Access Data获取的。在VMF Model Documentation文件中找到更多信息。
这些文件在被此加载器读取之前必须被提取为UTF-8文本文件。
提取后,假定它们被命名为VMFG_YYYYMMDD.Hhh用于ViennaOneModel
和VMF3_YYYYMMDD.Hhh用于ViennaThreeModel
。其中YYYY是4位数年份,MM是月份,DD是日期,hh是2位数小时。
格式始终相同,下面显示了VMF1模型的示例。
示例:
! 版本:1.0 ! 来源:J. Boehm, TU Vienna (创建于:2018-11-20) ! 数据类型:VMF1(lat lon ah aw zhd zwd) ! 时期:2018 11 19 18 00 0.0 ! 比例因子:1.e+00 ! 范围/分辨率:-90 90 0 360 2 2.5 ! 注释:http://vmf.geo.tuwien.ac.at/trop_products/GRID/2.5x2/VMF1/VMF1_OP/ 90.0 0.0 0.00116059 0.00055318 2.3043 0.0096 90.0 2.5 0.00116059 0.00055318 2.3043 0.0096 90.0 5.0 0.00116059 0.00055318 2.3043 0.0096 90.0 7.5 0.00116059 0.00055318 2.3043 0.0096 90.0 10.0 0.00116059 0.00055318 2.3043 0.0096 90.0 12.5 0.00116059 0.00055318 2.3043 0.0096 90.0 15.0 0.00116059 0.00055318 2.3043 0.0096 90.0 17.5 0.00116059 0.00055318 2.3043 0.0096 90.0 20.0 0.00116059 0.00055318 2.3043 0.0096 90.0 22.5 0.00116059 0.00055318 2.3043 0.0096 90.0 25.0 0.00116059 0.00055318 2.3043 0.0096 90.0 27.5 0.00116059 0.00055318 2.3043 0.0096
不安全让多个线程共享此类的单个实例。
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_SUPPORTED_NAMES
默认支持的文件名模式。
|
Constructor and Description |
---|
ViennaModelCoefficientsLoader(double latitude, double longitude, ViennaModelType type)
使用默认支持的名称构造函数。
|
ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type)
使用用户提供的支持名称构造函数。
|
ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type, DataProvidersManager dataProvidersManager)
使用用户提供的支持名称和映射函数文件来源构造函数。
|
Modifier and Type | Method and Description |
---|---|
double[] |
getA()
返回a系数数组。
|
String |
getSupportedNames()
获取支持的名称正则表达式。
|
double[] |
getZenithDelay()
返回天顶延迟数组。
|
void |
loadData(InputStream input, String name)
从流中加载数据。
|
void |
loadViennaCoefficients()
使用支持的名称加载数据。
|
void |
loadViennaCoefficients(DateTimeComponents dateTimeComponents)
加载给定日期的数据。
|
boolean |
stillAcceptsData()
检查加载器是否仍然接受新数据。
|
feed, getDataProvidersManager, setSupportedNames
@DefaultDataContext public ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type)
默认数据上下文
。
supportedNames
- 支持的名称
latitude
- 站点的地理纬度,弧度表示
longitude
- 站点的地理经度,弧度表示
type
- 维也纳对流层模型的类型(一或三)
ViennaModelCoefficientsLoader(String, double, double, ViennaModelType, DataProvidersManager)
public ViennaModelCoefficientsLoader(String supportedNames, double latitude, double longitude, ViennaModelType type, DataProvidersManager dataProvidersManager)
supportedNames
- 支持的名称
latitude
- 站点的地理纬度,弧度表示
longitude
- 站点的地理经度,弧度表示
type
- 维也纳对流层模型的类型(一或三)
dataProvidersManager
- 提供对辅助文件的访问
@DefaultDataContext public ViennaModelCoefficientsLoader(double latitude, double longitude, ViennaModelType type)
默认数据上下文
。
latitude
- 站点的地理纬度,弧度表示
longitude
- 站点的地理经度,弧度表示
type
- 维也纳对流层模型的类型(一或三)
ViennaModelCoefficientsLoader(String, double, double, ViennaModelType, DataProvidersManager)
public double[] getA()
public double[] getZenithDelay()
public String getSupportedNames()
AbstractSelfFeedingLoader
getSupportedNames
在类 AbstractSelfFeedingLoader
中
DataProvidersManager.feed(String, DataLoader)
public void loadViennaCoefficients()
public void loadViennaCoefficients(DateTimeComponents dateTimeComponents)
dateTimeComponents
- 日期和时间组件
public boolean stillAcceptsData()
DataLoader
此方法用于通过尽快中断数据集的爬行来加快数据加载速度,一旦加载器找到它正在等待的数据,就会中断。对于可以从任意数量的来源合并数据的加载器(例如将JPL星历或分布在多个文件中的地球定向参数合并的加载器),此方法应始终返回true,以确保没有数据被遗漏。
stillAcceptsData
在接口 DataLoader
中
public void loadData(InputStream input, String name) throws IOException, ParseException
DataLoader
loadData
在接口 DataLoader
中
input
- 数据输入流
name
- 文件的名称(或zip条目)
IOException
- 如果无法读取数据
ParseException
- 如果无法解析数据或发生某些特定于加载器的错误
Copyright © 2002-2023 CS GROUP. All rights reserved.