【问题标题】:Convert a pandas dataframe to geoTIFF (python)将熊猫数据框转换为 geoTIFF (python)
【发布时间】:2021-11-17 16:02:51
【问题描述】:

我有一个带有 X/Y 和纬度/经度坐标的熊猫 df。

我想使用 lat/lon 列转换数据帧并将 TIFF 图像存储在 WGS84 CRS 中。

谢谢

【问题讨论】:

  • 什么意思,你想将DataFrame中的数据存储为TIFF图像?您所期待的并不是很明显。

标签: pandas gis geospatial arcgis geopandas


【解决方案1】:

为您推荐几个软件包:xarrayrioxarray

xarray 是 pydata 对标记的 N 维数组的解决方案(想想 pandas 但在 3+ 维中,或者认为 numpy ND-arrays 但使用 pandas 索引而不仅仅是位置索引。

rioxarray 是一个将 xarray 与 rasterio 相结合的扩展包,能够读取和写入包括 GeoTIFF 在内的光栅文件。 rioxarray 在converting xarray DataArrays to rasters 上有文档。另请参阅将 RasterArrayRasterDataset 对象转换为栅格的 API 文档。

在您的情况下,假设您的正交维度是 (lat, lon) 并且 model_latmodel_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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多