【问题标题】:Rioxarray dimension missing coordinatesRioxarray 维度缺少坐标
【发布时间】: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


【解决方案1】:

您面临的问题是rioxarray 期望您的空间维度和坐标具有相同的名称。我建议使用 xarray 中的 rename 方法重命名尺寸和坐标,使它们同时为 longitidelatitudexy

【讨论】:

  • 为我工作,很棒的提示!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-25
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
  • 2019-06-28
  • 1970-01-01
  • 2018-01-11
相关资源
最近更新 更多