首页 > 解决方案 > geopandas 光栅化 shpefile

问题描述

我正在寻找最简单的方法来光栅化 geopandas 中的 shpfile - 相当于 arcpy PolygonToRaster_conversion() ,它在一行中执行操作。

我发现了一些相对复杂的方法,例如 https://snorfalorpagus.net/blog/2014/11/09/masking-rasterio-layers-with-vector-features/

有这么复杂吗?或者是否有像 arcpy 的 PolygonToRaster_conversion() 这样的单行选项

我正在寻找最简单的起点来获得这个想法

我一直在探索 rasterio 来做到这一点,但也许还有其他方法

我才刚刚开始使用 Geopandas,希望得到任何指点

标签: geopandasrasterizingrasterio

解决方案


您是否尝试一步栅格化一组具有唯一值的多边形?如果是这样,您希望使用每个多边形的唯一值进行栅格化,但请注意,栅格化到给定像素的最后一个多边形将“声明”它(即,多个多边形可能会触及一个像素,但您的特征列表中的最后一个将是那里光栅化的值)。

或者您是否想单独栅格化每个多边形(或同时栅格化所有多边形,就好像它们是单个多边形一样),以便您可以从栅格中提取统计数据? 掩码可能适用于此,在每个功能的循环中。

最接近单行操作的方法是使用rasterio's rio maskrio rasterize操作。您链接到的示例涉及更多的原因是您需要做一些额外的事情来提取原始栅格的子集。现在在 rasterio 中有一些额外的方法可以让这变得更容易一些(文档)。

在 geopandas 中,您的几何图形位于GeoSeries. 我没有直接对此进行测试,但您可能需要调用该__geo_interface__系列来获取 rasterio 期望作为输入的类似 GeoJSON 的形状。


推荐阅读