Можно ли сделать соединение между геотифовым изображением с фреймом данных геопанды? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть шейп-файл и изображение геотифа.

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 Ответ

0 голосов
/ 24 мая 2019

Если вы просто хотите обрезать растр внутри красного многоугольника, вы можете, например, использовать растровую маску с 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)
...