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

Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 02 дек 2015, 08:34
sergsh
Есть 10 файлов GeoTIFF и из них нужно вырезать полигон с фиксированными координатами.

Не все GeoTIFF полностью перекрывают полигон, иногда только часть.

Нужно чтобы в таком случае не покрытая часть полигона заполнялась NaN, но была.
То есть все нарезки из GeoTIFF должны быть одного размера, с одинаковыми координатами.

Такая команда нарезает куски разных размеров, берет из GeoTIFF только часть с данными

gdal_translate -of GTiff -a_ullr <КоординатыПолигона> -a_srs EPSG:4269 InputFile.tif OutputFile.tif


Какие ключи Gdal нужно использовать, чтобы получить нарезку из GeoTIFF одинакового размера ?

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 02 дек 2015, 09:19
Максим Дубинин
смержьте сначала все растры gdal_merge с -separate, потом нарезайте

или нарежьте сначала кусками, а потом смержьте с -separate и разделите обратно gdal_translate'ом

так и так получите одинаковые растры

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 02 дек 2015, 09:49
sergsh
Спасибо за ответ, но извиняйте не понял ...
что такое "смержьте"

можно ли привести пример командной строки ?
шаг за шагом ...

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 02 дек 2015, 10:37
freeExec
Значит "объединить" и получить из 10 шт только 1 файл.

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 02 дек 2015, 10:42
Донецков
gdal_merge
:)

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 00:20
sergsh
Если возможно - напишите строчку запуска ?

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 01:08
Максим Дубинин

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 01:44
Ariki
Для склейки в мозаику:

Код: Выделить всё

gdal_merge.py -co COMPRESS=LZW -o merged.tif file1.tif file2.tif file3.tif
Опция -separate здесь не нужна, она создаёт многоканальный растр.

Ещё лучше создать виртуальный набор данных:

Код: Выделить всё

gdalbuildvrt merged.vrt file1.tif file2.tif file3.tif
Что касается нарезки на одинаковые куски, то для этого, насколько мне известно, утилит в комплекте нет, тут только предварительно вычислять координаты и вырезать фрагменты, как вы делаете, с помощью gdal_translate или с помощью gdalwarp. Последний, кроме того, позволяет обрезать растр по экстенту векторного слоя.

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 02:15
Максим Дубинин
Ariki писал(а):Опция -separate здесь не нужна
нужна, перечитайте задачу

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 10:42
sergsh
Большое спасибо всем кто ответил !

Получается что нарезать из набора файлов GeoTIFF полигон одинакового размера нельзя.
Хотя казалось бы такая задача довольно часто встречается.

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 12:03
alexandr cherepanov
Получается что нарезать из набора файлов GeoTIFF полигон одинакового размера нельзя.
Почему нельзя? Вам же все написали, что нужно сделать :D
Максим Дубинин писал(а):смержьте сначала все растры gdal_merge с -separate, потом нарезайте
или нарежьте сначала кусками, а потом смержьте с -separate и разделите обратно gdal_translate'ом
так и так получите одинаковые растры

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 12:06
Ariki
Максим Дубинин писал(а):
Ariki писал(а):Опция -separate здесь не нужна
нужна, перечитайте задачу
Да, что-то совсем неправильно понял, что требуется.

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 12:42
Ariki
Кстати, есть более удобный вариант, чем предложенный Максимом:

Код: Выделить всё

gdalwarp -te xmin ymin xmax ymax input.tif output.tif
А опция -a_ullr у gdal_translate, которую использует топикстартер, если ничего не путаю, делает вообще другое: она перепривязывает растр.

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 19:10
sergsh
А что такое - xmin ymin xmax ymax ?
Если это не координаты , то как мне задать координаты моего полигона ?

И еще раз попрошу - если есть совет как сделать, то приводите пож примеры командной строки

Re: Какие ключи Gdal нужны для нарезки одинакового размера ?

Добавлено: 03 дек 2015, 19:37
Ariki
Это координаты, только не полигона, а прямоугольника границ создаваемого растра.
Для маскировки значений полигоном произвольной формы создайте шейп-файл с полигональной границей (ну или файл в любом формате, поддерживаемом OGR) и укажите его имя в опции -cutline.