работа с большим количеством многозональных файлов

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Ответить
сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

работа с большим количеством многозональных файлов

Сообщение сила тракторович » 19 ноя 2012, 21:06

Всем добрый день!

Задача такова.

Дано. Много (около 100) снимков ETM+ в одном канале на разные территории и за разные даты.

Необходимо получить некоторое количество многозональных файлов формата *.lan (файлов будет столько, сколько разных территорий представлено снимками), в которых вместо снимков на одну территорию в разных спектральных диапазонах будут использованы снимки на одну территорию в одном спектральном диапазоне, но за разные даты.

Проблема. При формировании многозонального файла из снимков за разные даты, из-за немного различающейся привязки разных снимков, происходит несовпадение контуров, а это в моём случае совершенно недопустимо. Теоретически эта проблема может быть решена в бесплатном ПО ILWIS - там представлен инструмент Resample, который позволяет присвоить привязку (georeference) одного снимка - другому. Но практически мне этот способ не подходит, т.к. ILWIS позволяет осуществлять операцию Resample только для одного снимка за раз, а снимков очень много.

Вопрос в целом: как быстро получить набор файлов *.lan из снимков за разные даты?

Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.

Буду очень благодарен за любые замечания, советы и идеи, т.к. проблема очень актуальна для меня!

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: работа с большим количеством многозональных файлов

Сообщение Дмитрий Барышников » 19 ноя 2012, 21:44

сила тракторович писал(а): Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.
World file.
1. Делаете для первого привязанного снимка world file.
2. Удаляете у остальных привязку
3. Копируете world file c переименованием по количеству у вас растров, которым требуется назначить привязку.

P.S. Вы уверены, что сцены не нужно тупо обрезать одной геометрией? Тогда границы сцен будут совпадать.

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 20 ноя 2012, 09:42

Дмитрий Барышников писал(а):
сила тракторович писал(а): Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.
World file.
1. Делаете для первого привязанного снимка world file.
2. Удаляете у остальных привязку
3. Копируете world file c переименованием по количеству у вас растров, которым требуется назначить привязку.

P.S. Вы уверены, что сцены не нужно тупо обрезать одной геометрией? Тогда границы сцен будут совпадать.
Большое спасибо, вечером попробую!

Насколько я понимаю, обрезать можно либо по координатам, либо по пикселам, но для одного объекта на земной поверхности на снимках за разные даты ни те, ни другие координаты не совпадают. Сцены за разные даты могут быть слегка смещены.

Аватара пользователя
Дмитрий Барышников
Гуру
Сообщения: 2572
Зарегистрирован: 17 ноя 2009, 19:17
Репутация: 261
Откуда: Москва

Re: работа с большим количеством многозональных файлов

Сообщение Дмитрий Барышников » 20 ноя 2012, 13:52

сила тракторович писал(а):
Насколько я понимаю, обрезать можно либо по координатам, либо по пикселам, но для одного объекта на земной поверхности на снимках за разные даты ни те, ни другие координаты не совпадают. Сцены за разные даты могут быть слегка смещены.
Все сцены имеют привязку. Обрезать нужно геометрией из шейп-файла. Тогда ничего не сдвинется.
Используйте gdalwarp с ключом -cutline
gdalwarp -cutline /path_to_shape/cut_shape.shp original.tif cut_dest.tif

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 22 ноя 2012, 23:46

Дмитрий Барышников писал(а): Все сцены имеют привязку. Обрезать нужно геометрией из шейп-файла. Тогда ничего не сдвинется.
Используйте gdalwarp с ключом -cutline
gdalwarp -cutline /path_to_shape/cut_shape.shp original.tif cut_dest.tif
Спасибо!

На тех снимках, на которых попробовал, - работает

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 24 ноя 2012, 16:12

К сожалению, метод обрезки по геометрии работает не для всех снимков. Как я и предполагал, при различии в привязке снимков полигон-маска попадает в немного разные места на разных снимках.

Хотелось бы узнать подробнее про world-файл.

KolesovDmitry
Гуру
Сообщения: 810
Зарегистрирован: 22 авг 2007, 14:58
Репутация: 123
Откуда: Казань

Re: работа с большим количеством многозональных файлов

Сообщение KolesovDmitry » 24 ноя 2012, 19:40

сила тракторович писал(а): Хотелось бы узнать подробнее про world-файл.
http://gis-lab.info/qa/tfw.html

gamm
Гуру
Сообщения: 4168
Зарегистрирован: 15 окт 2010, 08:33
Репутация: 1107
Ваше звание: программист
Откуда: Казань

Re: работа с большим количеством многозональных файлов

Сообщение gamm » 24 ноя 2012, 20:27

сила тракторович писал(а):Хотелось бы узнать подробнее про world-файл.
есть подозрение, что он вам не поможет. Если вы уверены, что ваши снимки совмещены (чего обычно нет - но может вам повезло), то несовпадение может быть только из-за сдвига дискретной пиксельной системы координат (это скорее всего есть, тогда несовпадение не больше пикселя).

Нужно взять один снимок как растровый шаблон (для каждого набора), и сделать ресемплинг ближайшим соседом или линейно на него. Как это делать руками, я знаю (и делаю); скорее всего в GDAL есть такие средства. Для одноразовой задачи я бы загрузил все в R через rgdal, и там сделал линейной интерполяцией (поскольку сдвиг для всех пикселей одинаковый, то это просто вычисление выражения над векторами; Ландсат в память влезет). Медленно, но верно.

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 24 ноя 2012, 20:40

gamm писал(а): есть подозрение, что он вам не поможет. Если вы уверены, что ваши снимки совмещены (чего обычно нет - но может вам повезло), то несовпадение может быть только из-за сдвига дискретной пиксельной системы координат (это скорее всего есть, тогда несовпадение не больше пикселя).
Можно подробнее насчёт совмещены/не совмещены?

Мне кажется, у меня проблема как раз в том, что вы описываете. Но вот вопрос - снимков много, мне нужно какое-то средство, которое позволило всё это сделать достаточно быстро...

Есть ли такие средства в gdal? Или где-то ещё?

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

Re: работа с большим количеством многозональных файлов

Сообщение Максим Дубинин » 24 ноя 2012, 21:38

Не очень понятно, если у вас снимки:
сила тракторович писал(а):на разные территории
то как вы хотите их совместить пиксел в пиксел.

Если все же задача решить проблему смещения и совместить изображения на примерно одну территорию пиксел в пиксел, то есть старый проверенный метод.

1. Делаете N-канальный стэк из всех ваших изображений
2. Расшиваете стэк обратно в отдельные каналы.

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

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 26 ноя 2012, 12:07

Максим Дубинин писал(а):Не очень понятно, если у вас снимки:
сила тракторович писал(а):на разные территории
то как вы хотите их совместить пиксел в пиксел.
Допустим, 100 снимков и 10 участков, у меня будет где-то по 10 снимков на каждый из участков. Примерно так.

Большое спасибо, буду пробовать!

сила тракторович
Интересующийся
Сообщения: 23
Зарегистрирован: 18 мар 2012, 14:08
Репутация: 3

Re: работа с большим количеством многозональных файлов

Сообщение сила тракторович » 12 дек 2012, 22:57

Попробовав разные варианты на разных снимках, пришёл к выводу, что вся моя проблема была только лишь в том, что некоторые снимки Landsat (таких немного) почему-то неправильно привязаны, поэтому они и не совмещаются с нормально привязанными снимками за другие даты.

Видимо, задачу можно считать решённой. Спасибо большое!

Hatt
Участник
Сообщения: 73
Зарегистрирован: 16 янв 2012, 07:26
Репутация: 8
Откуда: Москва

Re: работа с большим количеством многозональных файлов

Сообщение Hatt » 14 дек 2012, 11:08

Если смещены только некоторые снимки Landsat, дело может быть просто в том, что они имеют другой уровень обработки, не стандартный Level 1T, а Level 1Gt или Level 1G (можно уточнить в метаданных, расшифровка http://eros.usgs.gov/#/Find_Data/Produc ... ailable/TM).
Карты предоставляются на условиях «Как есть». Не предоставляется никаких явных или подразумеваемых гарантий нахождения конкретным пользователем конкретной ёлки. Местоположение ёлок может изменяться без уведомления.

Ответить

Вернуться в «Обработка ДДЗ»

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

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