我有一个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');
我只想将data
的值分配给df
定义的红色区域。是否可以在该区域周围裁剪图像或在它们之间建立连接?
答案 0 :(得分:0)
如果您只想将栅格裁剪到红色多边形的内部,则可以使用例如crop = True的栅格蒙版。
from shapely.geometry import mapping
src = rasterio.open(fileI)
clipped_array, clipped_transform = rasterio.mask.mask(src, [mapping(df.iloc[0].geometry)], crop=True)