我正在使用 rasterio 从 geotiff 中切出我的 shapefile 中勾勒出的湖的形状。当使用带有 geotiff 的单一湖泊的 shapefile 时,这可以完美地工作,但在使用包含许多不同湖泊轮廓的不同 shapefile 切割单个湖泊的 geotiff 时就不行了。我想知道我的代码编写方式或我正在使用的文件是否有问题?
这是我的代码:
import rasterio
import rasterio.mask
import fiona
with fiona.open("liag_shapes/liag_shapes.shp", "r") as shapefile:
features = [feature["geometry"]for feature in shapefile]
with rasterio.open("lakesimcoe11.tif") as src:
out_image, out_transform = rasterio.mask.mask(src, features, filled=True,
crop=True)
out_meta = src.meta.copy()
out_meta.update({"driver": "GTiff",
"height": out_image.shape[1],
"width": out_image.shape[2],
"transform": out_transform})
with rasterio.open("new_test.tif", "w", **out_meta) as dest:
dest.write(out_image)