【发布时间】:2021-11-17 16:02:51
【问题描述】:
【问题讨论】:
-
什么意思,你想将DataFrame中的数据存储为TIFF图像?您所期待的并不是很明显。
标签: pandas gis geospatial arcgis geopandas
【问题讨论】:
标签: pandas gis geospatial arcgis geopandas
xarray 是 pydata 对标记的 N 维数组的解决方案(想想 pandas 但在 3+ 维中,或者认为 numpy ND-arrays 但使用 pandas 索引而不仅仅是位置索引。
rioxarray 是一个将 xarray 与 rasterio 相结合的扩展包,能够读取和写入包括 GeoTIFF 在内的光栅文件。 rioxarray 在converting xarray DataArrays to rasters 上有文档。另请参阅将 RasterArray 和 RasterDataset 对象转换为栅格的 API 文档。
在您的情况下,假设您的正交维度是 (lat, lon) 并且 model_lat 和 model_lon 实际上由 lat 和 lon 索引(例如它们在 3D 投影中),并且 res 是你想编码的乐队,你的结果应该是这样的:
import xarray as xr
import rioxarray
da = df.set_index(['lat', 'lon']).to_xarray()
# promote the data variables model lat/long to 2d coordinates
da = da.set_coords(['model_lat', 'model_long'])
da.res.rio.to_raster(filepath)
【讨论】: