0

我尝试用rasterio

rasterio用来掩盖感兴趣的区域,然后将其余范围定义为无数据

我的目标是保持原始光栅边界,选择感兴趣的区域,但减小图像大小

我使用以下精彩的文档 Masking a raster using a shapefile from rateriowebsite

我从原始程序更改了以下行

with rasterio.open("tests/data/RGB.byte.tif") as src:
    out_image, out_transform = rasterio.mask.mask(src, shapes, crop=True)
    out_meta = src.meta

with rasterio.open("tests/data/RGB.byte.tif") as src:
    out_image, out_transform = rasterio.mask.mask(src, shapes, filled=True , nodata=0)
    out_meta = src.meta

结果就在这里,正是我想要的:

结果

但是新的光栅文件大小保持不变!我希望将图像尺寸减小到一半或更多!

所以我尝试了以下操作:

gdal_translate -of GTiff -a_nodata 0 input.tif output.tif

或者

gdal_translate -of GTIFF -scale -a_nodata 0 myVrt.vrt output.tif

两者都没有帮助

4

0 回答 0