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

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

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

Сообщение sergsh » 02 дек 2015, 08:34

Есть 10 файлов GeoTIFF и из них нужно вырезать полигон с фиксированными координатами.

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

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

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

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


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

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9043
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 714
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

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

Сообщение Максим Дубинин » 02 дек 2015, 09:19

смержьте сначала все растры gdal_merge с -separate, потом нарезайте

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

так и так получите одинаковые растры
пристегивайтесь, турбулентность прямо по курсу

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

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

Сообщение sergsh » 02 дек 2015, 09:49

Спасибо за ответ, но извиняйте не понял ...
что такое "смержьте"

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

freeExec
Гуру
Сообщения: 967
Зарегистрирован: 23 апр 2011, 10:32
Проекты: 1
Репутация: 153
Откуда: Ульяновск

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

Сообщение freeExec » 02 дек 2015, 10:37

Значит "объединить" и получить из 10 шт только 1 файл.

Донецков
Гуру
Сообщения: 3056
Зарегистрирован: 19 май 2010, 19:44
Репутация: 188

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

Сообщение Донецков » 02 дек 2015, 10:42

gdal_merge
:)

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

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

Сообщение sergsh » 03 дек 2015, 00:20

Если возможно - напишите строчку запуска ?

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9043
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 714
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

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

Сообщение Максим Дубинин » 03 дек 2015, 01:08

пристегивайтесь, турбулентность прямо по курсу

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

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

Сообщение Ariki » 03 дек 2015, 01:44

Для склейки в мозаику:

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

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. Последний, кроме того, позволяет обрезать растр по экстенту векторного слоя.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9043
Зарегистрирован: 06 окт 2003, 20:20
Статьи: 231
Проекты: 12/6
Репутация: 714
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

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

Сообщение Максим Дубинин » 03 дек 2015, 02:15

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

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

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

Сообщение sergsh » 03 дек 2015, 10:42

Большое спасибо всем кто ответил !

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

alexandr cherepanov
Гуру
Сообщения: 533
Зарегистрирован: 30 ноя 2006, 13:31
Статьи: 3
Проекты: 1
Репутация: 116
Откуда: Moscow

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

Сообщение alexandr cherepanov » 03 дек 2015, 12:03

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

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

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

Сообщение Ariki » 03 дек 2015, 12:06

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

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

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

Сообщение Ariki » 03 дек 2015, 12:42

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

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

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

sergsh
Активный участник
Сообщения: 205
Зарегистрирован: 20 фев 2013, 21:48
Репутация: 30

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

Сообщение sergsh » 03 дек 2015, 19:10

А что такое - xmin ymin xmax ymax ?
Если это не координаты , то как мне задать координаты моего полигона ?

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

Ariki
Гуру
Сообщения: 731
Зарегистрирован: 12 янв 2011, 22:40
Проекты: 1
Репутация: 303
Ваше звание:

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

Сообщение Ariki » 03 дек 2015, 19:37

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

Ответить

Вернуться в «GDAL/OGR»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость