Я пишу просту утиліту, щоб обрізати партії растрових файлів багатополосних геотифів на ту саму (меншу) область. Використовуючи gdalwarp, я можу легко обрізати файл за допомогою однофагового відсікання форм-файлу:
gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif
Однак фактична область, яку я хочу вирізати, завжди спочатку визначатиметься іншим растровим файлом геотифа, а не файлом форми. Було б добре, якби я міг використовувати масштаб цього растру як відсічний файл, але я не знаю, як це зробити. Не дивно, що наступне не працює (воно не викликає помилок, воно просто нічого не створює):
gdalwarp -cutline clipper.tif-crop_to_cutline input.tif output.tif
Отже, моє запитання: чи є спосіб поставити растр gdalwarp -cutline
? Крім того, чи існує ще одна функція gdal, яка може вирізати растр за допомогою іншого растру? Якщо жодне з цих варіантів неможливо, чи існує дуже простий спосіб створити файл форми з одного многокутника, визначений мірою растра?
Цей код буде обгорнуто більш широким сценарієм python, тому я можу використовувати або утиліти командного рядка gdal, або будь-яке з прив'язок python для gdal.
Як зауваження, я знаю, що я міг би просто створити відсічний формуляр, який охоплює міру мого растру в QGIS. Я можу зробити це, якщо я не знайду прямого рішення, але в кінцевому підсумку я закінчуся використанням цієї утиліти на десятках, якщо не сотнях областей, як частина великого автоматизованого аналізу, тому я вважаю за краще не мати нудного крок вручну, навіть якщо це дуже легко.
gdaltindex clipper.shp clipper.tif
, а потімgdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif