Работая с QGIS 2.4.0 Chugiak, у меня возник вопрос по поводу отсечения растровых изображений. У меня есть аэрофотоснимок, который я хочу обрезать, используя размеры шейп-файла. Пока все хорошо, я использовал для этого инструмент растр / извлечение / обрезка. Проблема в том, что размер файла моего выходного растра почти в три раза больше исходного файла (т.е. 725,283 и 249,693 кбайт соответственно), тогда как он покрывает меньшую поверхность.
Почему мой файл больше? И есть ли способ «установить» размер выходного файла?
Справочная функция clipper ссылается на следующую страницу: http://www.gdal.org/gdal_translate.html Хотя я не могу многого из этого извлечь.
Я относительно новичок в QGIS.
-co
флагом. Например, для GeoTiff можно-co compress=lzw
использовать сжатие LZW без потерь. Нам нужно знать больше о вашем наборе данных, чтобы иметь возможность помочь вам (например, черезgdlainfo
).Raster > Miscellaneous > Information
, чтоgdalinfo
работать на вашем растровый файл. Вы не можете запустить его непосредственно из консоли Python, потому что это не скрипт Python.Ответы:
Когда вы запускаете инструмент растрового клипа в QGIS, он показывает вам точную команду GDAL, которая будет выполняться в нижней части диалогового окна.
Нажав кнопку пера справа от команды, вы можете отредактировать ее напрямую и добавить опцию конфигурации сжатия. В моем примере это стартовая команда:
gdalwarp -q -cutline /tmp/mask.shp -crop_to_cutline -of GTiff /tmp/453A.tif /tmp/output.tif
Вы можете изменить это так:
gdalwarp -q -cutline /tmp/mask.shp -crop_to_cutline -of GTiff -co "COMPRESS=LZW" /tmp/453A.tif /tmp/output.tif
Это
-co "COMPRESS=LZW"
всего лишь один из многих возможных вариантов сжатия, которые вы можете использовать с файлами GeoTIFF. Документация GDAL содержит больше информации обо всех опциях.источник
gdalinfo
, что он сообщает для сжатия? Мы должны быть в состоянии повторить это во втором файле, как только мы узнаем. Я предполагаю, что это может быть JPEG с потерями, если он значительно меньше, чем LZW.Обновление для QGIS версии 3 и выше: опция сжатия теперь интегрирована в плагин
Raster
->Extraction
->Clip raster by mask layer
и в большинство других плагинов, которые создают растровые файлы.Под
Advanced parameters
->Profile
, выбрав либо,Low compression
либоHigh compression
получим меньший файл.Эти параметры сжатия без потерь, но вы можете выбрать и параметры с потерями:
Low compression
->-co PACKBITS
(без потерь)High compression
->-co DEFLATE
(без потерь)JPEG compression
->-co JPEG_QUALITY=75
(с потерями: будьте осторожны!)источник