能否将Geotiff图像与Geopandas数据框进行连接?

3
我有一个shapfile文件和一个geotiff影像。
import geopandas as gpd
import rasterio
from rasterio.plot import show

df = gpd.read_file('myShape.shp')
fileI = 'myFile.tiff'

data = rasterio.open(fileI)
show((data), cmap='terrain', ax=ax)
p1 = df.geometry.boundary.plot(color=None,edgecolor='red',linewidth = 2,ax=ax)
ax.axis('off');

enter image description here

我想将data的值仅分配给由df定义的红色区域。是否可以在该区域周围裁剪图像或在它们之间进行连接?
1个回答

4
如果您只想将栅格图像裁剪为红色多边形内部,您可以例如使用带有crop=True的rasterio掩码。
from shapely.geometry import mapping

src = rasterio.open(fileI)
clipped_array, clipped_transform = rasterio.mask.mask(src, [mapping(df.iloc[0].geometry)], crop=True)

1
如果您在使用mask时遇到属性错误,可以通过使用from rasterio.mask import mask来克服它。 - user2589273

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