将 Pandas 数据框转换为 GeoTIFF(Python)

3

我有一个pandas数据框,其中包含X/Y和纬度/经度坐标。

enter image description here

我希望将数据框转换为使用lat/lon列,并将TIFF图像存储在WGS84 CRS中。
谢谢。

你的意思是想把数据存储在DataFrame中作为TIFF图像吗?这并不是很明显你期望的结果。 - Felipe D.
1个回答

3

以下是针对您的一些包推荐:xarrayrioxarray

xarray 是 pydata 公司提供的标记 N 维数组解决方案(类似于 pandas,但是在三维及以上,或者类似于 numpy 的 ND-arrays,但使用 pandas 索引而不仅仅是位置索引)。

rioxarray是一个扩展包,将xarray和rasterio结合起来,使其能够读写栅格文件,包括GeoTIFFs。 rioxarray有关于将xarray DataArrays转换为rasters的文档。还可以查看API文档,了解如何将RasterArrayRasterDataset对象转换为rasters。
在您的情况下,假设您的正交维度为(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)


这对于二维数据完美地运作。谢谢! - Squeezie
对于我的数据集,这将所有数据转换为 nan - mikey
听起来好像还有其他问题。随时可以提出新的问题 :) - Michael Delgado

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接