2

我正在使用 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)
4

0 回答 0