Страница 1 из 1

Tif формат обрезка

Добавлено: 25 дек 2017, 16:12
Павел26626
Почему при обрезке растра размер файла не изменяется.
Возможно ли уменьшить размер файла tif ели он привязан по координатам.

Re: Tif формат обрезка

Добавлено: 04 фев 2018, 15:04
antonv
Не понимаю, почему на этот вопрос до сих пор никто не дал ответа.
Павел26626 писал(а):
25 дек 2017, 16:12
Почему при обрезке растра размер файла не изменяется.
У QGIS в меню "Растр - извлечение - обрезка" есть две опции: обрезать по экстенту, указанному на карте, и обрезать по векторному слою-маске. Парадоксально, но в первом случае QGIS "физически" обрезает растр, изменяя его размер, а во втором просто записывает NODATA во все ячейки растра, не попадающие под маску. Следовательно, размер растра сам по себе не меняется. Выяснено эмпирически
Павел26626 писал(а):
25 дек 2017, 16:12
Возможно ли уменьшить размер файла tif ели он привязан по координатам.
Если требуется обрезка по простому прямоугольному контуру можно воспользоваться именно первой опцией с указанием прямоугольника обрезки прямо на карте, только нужно выставить "экранную" проекцию ту же, что и у обрезаемого растра.
А если результат не устроит, можно попробовать запустить GDAL как-то так: gdalwarp -cutline extent.shp -crop_to_cutline -of GTiff -dstnodata 255 inraster.tif inraster_cropped.tif -co COMPRESS=LZW --config GDAL_CACHEMAX 2048 -multi. Не обрежет, так хоть пожмёт.
Ещё один вариант, но дурацкий - поделить файл на тайлы так, чтобы "нужный" фрагмент попал на один тайл, а все остальные "ненужные" тайлы просто удалить.

Re: Tif формат обрезка

Добавлено: 07 фев 2018, 12:12
Эдуард Казаков
а во втором просто записывает NODATA во все ячейки растра, не попадающие под маску.
Потому что нужно просто нажать на галочку "Crop the extent of the target dataset to the extent of the cutline" (или вручную добавить в команду gdal параметр -crop_to_cutline)