站点数据#
retrieve_obs_station 函数用于获取地面站点观测数据。
>>> import pandas as pd
>>> from nuwe_cmadaas.obs import retrieve_obs_station
>>> table = retrieve_obs_station(
... "SURF_CHN_MUL_HOR",
... time=[
... pd.to_datetime("2021-01-01 00:00:00"),
... pd.to_datetime("2021-01-02 00:00:00")
... ],
... config_file="cedarkit.yaml"
... )
>>> table
Station_Id_d Lat Lon Alti ... PRE_1h PRE_6h PRE_24h PRS
0 631 37.9167 102.6667 1531.5 ... 0 0 0 850.4
1 631 37.9167 102.6667 1531.5 ... 0 0 0 851.7
2 7129 44.85 84.7 455 ... 0 999999 999999 999999
3 7129 44.85 84.7 455 ... 0 999999 999999 999999
4 9168 46.8472 84.1847 891 ... 0 999999 999999 999999
... ... ... ... ... ... ... ... ...
126047 999999 24.6462 121.0829 718 ... 0 0 0 999998
126048 999999 23.0817 120.5825 298 ... 0 0 0 986.3
126049 999999 22.8596 120.5086 44 ... 0 0 0 999998
126050 999999 24.2965 120.6431 130 ... 0 0 0 999999
126051 999999 23.0739 120.5289 274 ... 0 0 0 999998
[126052 rows x 17 columns]
API#
- nuwe_cmadaas.obs.retrieve_obs_station(data_code: str = 'SURF_CHN_MUL_HOR', elements: str | None = None, time: Interval | Timestamp | List | Timedelta | None = None, station: str | List | Tuple | None = None, region: Dict | None = None, station_level: str | List[str] | None = None, order: str = 'Station_ID_d:asc', count: int | None = None, config: CMADaasConfig | str | Path | None = None, client: CMADaaSClient | None = None, **kwargs) DataFrame | MusicError#
检索地面站点观测数据资料。 对应 CMADaaS 中以
getSurfEle开头的一系列地面资料接口。区域筛选条件
经纬度范围
{ "type": "rect", "start_longitude": 115.7, "end_longitude": 117.4, "start_latitude": 41.6, "end_latitude": 39.4, }
流域
{ "type": "basin", "basin_codes": "CJLY" }
地区
{ "type": "region", "admin_codes": "110000" }
- 参数:
data_code -- 数据种类,即 CMADaaS 中的资料代码
elements -- 要素字段代码,以逗号分隔。如果为
None,会自动从数据集配置文件 (默认为nuwe_cmadaas/datasets/station.yaml) 中查找对应资料的elements配置项。time --
时间筛选条件,支持单个时间,时间列表,时间段和时间间隔
时间对象:
pd.Timestamp类型,单个时间点,对应接口的 times 参数时间列表:
typing.List[pd.Timestamp]类型,多个时间列表,对应接口的 times 参数时间段:
pd.Interval类型,起止时间,定义区间端点是否闭合,对应接口的 timeRange 参数时间间隔:
pd.Timedelta类型,用于获取地面资料最新时次 (getSurfLatestTime),忽略其余筛选条件
station --
站点筛选条件,支持字符串,列表和元组
字符串:单个站点
列表:多个站点
元组:站点范围,二元组,第一个元素是起止站号 (minStaId),第二个元素是终止站号 (maxStaId)
region --
- 区域筛选条件:
经纬度范围 (rect)
流域 (basin)
地区 (region)
station_level --
- 台站级别:
011: 国家基准气候站
012: 基本气象站
013: 一般气象站
order -- 排序字段
count -- 最大返回记录数,对应接口的 limitCnt 参数
config -- 配置。配置文件路径或配置对象
client -- 客户端对象。默认新建,如果设置则直接使用,忽略 config 参数
kwargs --
- 其他需要传递给 MUSIC 接口的参数,例如:
eleValueRanges: 要素值范围
hourSeparate: 小时取整条件
minSeparate: 分钟取整条件
- 返回:
站点观测资料表格数据,列名为
elements中的值- 返回类型:
pd.DataFrame