Уменьшить размер растра после маскировки интересующей области - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь замаскировать область AOI на растровом изображении с помощью rasterio

Я использую rasterio, чтобы замаскировать интересующую область, а затем определить остальной экстент как отсутствие данных

Моя цель - сохранить исходные границы растра, выбрать интересующую область, но уменьшить размер изображения

Я использую следующий замечательный документ Маскировка растра с помощью шейп-файла с raterio веб-сайта

Я изменил следующую строку с оригинальной процедуры

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

Результат здесь, именно то, что я хочу:

result

Но новый размер растрового файла остается прежним !! Я ожидаю уменьшить размер изображения до половины или более!

Итак, я попробовал следующее:

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

или

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

Оба не помогают

...