【发布时间】:2020-09-29 03:02:49
【问题描述】:
我目前正在使用 Python 模块 rioxarray 根据特定几何图形裁剪 Xarray 数据集,以生成纬度/经度坐标网格。我的数据如下:
obs_dataset_full
xarray.Dataset
Dimensions:
Lat: 451 Lon: 350 lat: 450 lon: 350
Coordinates:
Lon
(Lon)
int64
0 1 2 3 4 5 ... 345 346 347 348 349
Lat
(Lat)
int64
0 1 2 3 4 5 ... 446 447 448 449 450
Longitude
(lon)
float64
-105.7 -105.7 ... -78.34 -78.26
Latitude
(lat)
float64
35.04 35.08 35.11 ... 51.52 51.56
spatial_ref
()
int64
0
Data variables:
precip_var
(lon, lat, Lon, Lat)
float64
0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 nan
Attributes:
grid_mapping :
spatial_ref
注意:Lon/Lat 尺寸无关紧要;我正在尝试使用具有实际坐标的 lon/lat。
obs_dataset_full.rio.write_crs('EPSG:4326',inplace = True)
obs_dataset_cropped = obs_dataset_full.rio.clip(geometries=cropping_geometries, crs='EPSG:4326')
当我运行此代码时,我收到以下错误:
DimensionMissingCoordinateError: lon missing coordinates.
obs_dataset_full 数据集和 precip_var 数据数组都有相应的坐标,而 rioxarray 文档页面并没有特别清楚地说明这个异常意味着什么。非常感谢任何帮助!
【问题讨论】:
-
在调用
clip之前尝试定义空间维度名称:obs_dataset_full.rio.set_spatial_dims('Lon', 'Lat', inplace=True)?
标签: python python-xarray