2

我有一个 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. 是否可以裁剪该区域周围的图像或在它们之间进行连接?

4

1 回答 1

3

如果您只想将光栅裁剪到红色多边形的内部,例如可以使用带有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)
于 2019-05-24T00:04:26.490 回答