栅格数据转面 python
时间: 2023-10-28 17:00:16 浏览: 200
要将栅格数据转换为面数据,可以使用Python中的几个库进行操作,例如`geopandas` 和 `rasterio`。下面是一个使用这两个库的示例代码:
```python
import geopandas as gpd
import rasterio
from rasterio.features import shapes
# 读取栅格数据
with rasterio.open('path/to/raster.tif') as src:
# 将栅格数据转换为多边形
image = src.read(1) # 读取栅格数据的第一个波段
results = (
{'properties': {'raster_val': v}, 'geometry': s}
for i, (s, v) in enumerate(shapes(image, mask=None, transform=src.transform))
)
# 创建面数据的GeoDataFrame
gdf = gpd.GeoDataFrame.from_features(results, crs=src.crs)
# 可以保存为矢量文件
gdf.to_file('path/to/output.shp')
```
上述代码首先使用`rasterio`库打开栅格数据,然后使用`shapes()`函数将栅格数据转换为多边形。最后,使用`geopandas`库将多边形数据转换为`GeoDataFrame`对象,并保存为矢量文件。
请注意替换代码中的文件路径为您自己的栅格数据路径和输出路径。
阅读全文
相关推荐
















