Страница 1 из 1
работа с большим количеством многозональных файлов
Добавлено: 19 ноя 2012, 21:06
сила тракторович
Всем добрый день!
Задача такова.
Дано. Много (около 100) снимков ETM+ в одном канале на разные территории и за разные даты.
Необходимо получить некоторое количество многозональных файлов формата *.lan (файлов будет столько, сколько разных территорий представлено снимками), в которых вместо снимков на одну территорию в разных спектральных диапазонах будут использованы снимки на одну территорию в одном спектральном диапазоне, но за разные даты.
Проблема. При формировании многозонального файла из снимков за разные даты, из-за немного различающейся привязки разных снимков, происходит несовпадение контуров, а это в моём случае совершенно недопустимо. Теоретически эта проблема может быть решена в бесплатном ПО ILWIS - там представлен инструмент Resample, который позволяет присвоить привязку (georeference) одного снимка - другому. Но практически мне этот способ не подходит, т.к. ILWIS позволяет осуществлять операцию Resample только для одного снимка за раз, а снимков очень много.
Вопрос в целом: как быстро получить набор файлов *.lan из снимков за разные даты?
Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.
Буду очень благодарен за любые замечания, советы и идеи, т.к. проблема очень актуальна для меня!
Re: работа с большим количеством многозональных файлов
Добавлено: 19 ноя 2012, 21:44
Дмитрий Барышников
сила тракторович писал(а):
Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.
World file.
1. Делаете для первого привязанного снимка world file.
2. Удаляете у остальных привязку
3. Копируете world file c переименованием по количеству у вас растров, которым требуется назначить привязку.
P.S. Вы уверены, что сцены не нужно тупо обрезать одной геометрией? Тогда границы сцен будут совпадать.
Re: работа с большим количеством многозональных файлов
Добавлено: 20 ноя 2012, 09:42
сила тракторович
Дмитрий Барышников писал(а):сила тракторович писал(а):
Вопрос более конкретно: как можно присвоить привязку одного снимка одновременно многим другим? При этом должна сохраниться возможность составления из полученных снимков файла *.lan.
World file.
1. Делаете для первого привязанного снимка world file.
2. Удаляете у остальных привязку
3. Копируете world file c переименованием по количеству у вас растров, которым требуется назначить привязку.
P.S. Вы уверены, что сцены не нужно тупо обрезать одной геометрией? Тогда границы сцен будут совпадать.
Большое спасибо, вечером попробую!
Насколько я понимаю, обрезать можно либо по координатам, либо по пикселам, но для одного объекта на земной поверхности на снимках за разные даты ни те, ни другие координаты не совпадают. Сцены за разные даты могут быть слегка смещены.
Re: работа с большим количеством многозональных файлов
Добавлено: 20 ноя 2012, 13:52
Дмитрий Барышников
сила тракторович писал(а):
Насколько я понимаю, обрезать можно либо по координатам, либо по пикселам, но для одного объекта на земной поверхности на снимках за разные даты ни те, ни другие координаты не совпадают. Сцены за разные даты могут быть слегка смещены.
Все сцены имеют привязку. Обрезать нужно геометрией из шейп-файла. Тогда ничего не сдвинется.
Используйте
gdalwarp с ключом -cutline
gdalwarp -cutline /path_to_shape/cut_shape.shp original.tif cut_dest.tif
Re: работа с большим количеством многозональных файлов
Добавлено: 22 ноя 2012, 23:46
сила тракторович
Дмитрий Барышников писал(а):
Все сцены имеют привязку. Обрезать нужно геометрией из шейп-файла. Тогда ничего не сдвинется.
Используйте
gdalwarp с ключом -cutline
gdalwarp -cutline /path_to_shape/cut_shape.shp original.tif cut_dest.tif
Спасибо!
На тех снимках, на которых попробовал, - работает
Re: работа с большим количеством многозональных файлов
Добавлено: 24 ноя 2012, 16:12
сила тракторович
К сожалению, метод обрезки по геометрии работает не для всех снимков. Как я и предполагал, при различии в привязке снимков полигон-маска попадает в немного разные места на разных снимках.
Хотелось бы узнать подробнее про world-файл.
Re: работа с большим количеством многозональных файлов
Добавлено: 24 ноя 2012, 19:40
KolesovDmitry
сила тракторович писал(а):
Хотелось бы узнать подробнее про world-файл.
http://gis-lab.info/qa/tfw.html
Re: работа с большим количеством многозональных файлов
Добавлено: 24 ноя 2012, 20:27
gamm
сила тракторович писал(а):Хотелось бы узнать подробнее про world-файл.
есть подозрение, что он вам не поможет. Если вы уверены, что ваши снимки совмещены (чего обычно нет - но может вам повезло), то несовпадение может быть только из-за сдвига дискретной пиксельной системы координат (это скорее всего есть, тогда несовпадение не больше пикселя).
Нужно взять один снимок как растровый шаблон (для каждого набора), и сделать ресемплинг ближайшим соседом или линейно на него. Как это делать руками, я знаю (и делаю); скорее всего в GDAL есть такие средства. Для одноразовой задачи я бы загрузил все в R через rgdal, и там сделал линейной интерполяцией (поскольку сдвиг для всех пикселей одинаковый, то это просто вычисление выражения над векторами; Ландсат в память влезет). Медленно, но верно.
Re: работа с большим количеством многозональных файлов
Добавлено: 24 ноя 2012, 20:40
сила тракторович
gamm писал(а): есть подозрение, что он вам не поможет. Если вы уверены, что ваши снимки совмещены (чего обычно нет - но может вам повезло), то несовпадение может быть только из-за сдвига дискретной пиксельной системы координат (это скорее всего есть, тогда несовпадение не больше пикселя).
Можно подробнее насчёт совмещены/не совмещены?
Мне кажется, у меня проблема как раз в том, что вы описываете. Но вот вопрос - снимков много, мне нужно какое-то средство, которое позволило всё это сделать достаточно быстро...
Есть ли такие средства в gdal? Или где-то ещё?
Re: работа с большим количеством многозональных файлов
Добавлено: 24 ноя 2012, 21:38
Максим Дубинин
Не очень понятно, если у вас снимки:
сила тракторович писал(а):на разные территории
то как вы хотите их совместить пиксел в пиксел.
Если все же задача решить проблему смещения и совместить изображения на примерно одну территорию пиксел в пиксел, то есть старый проверенный метод.
1. Делаете N-канальный стэк из всех ваших изображений
2. Расшиваете стэк обратно в отдельные каналы.
Это легко автоматизируется, все необходимые примеры есть
здесь.
Re: работа с большим количеством многозональных файлов
Добавлено: 26 ноя 2012, 12:07
сила тракторович
Максим Дубинин писал(а):Не очень понятно, если у вас снимки:
сила тракторович писал(а):на разные территории
то как вы хотите их совместить пиксел в пиксел.
Допустим, 100 снимков и 10 участков, у меня будет где-то по 10 снимков на каждый из участков. Примерно так.
Большое спасибо, буду пробовать!
Re: работа с большим количеством многозональных файлов
Добавлено: 12 дек 2012, 22:57
сила тракторович
Попробовав разные варианты на разных снимках, пришёл к выводу, что вся моя проблема была только лишь в том, что некоторые снимки Landsat (таких немного) почему-то неправильно привязаны, поэтому они и не совмещаются с нормально привязанными снимками за другие даты.
Видимо, задачу можно считать решённой. Спасибо большое!
Re: работа с большим количеством многозональных файлов
Добавлено: 14 дек 2012, 11:08
Hatt
Если смещены только некоторые снимки Landsat, дело может быть просто в том, что они имеют другой уровень обработки, не стандартный Level 1T, а Level 1Gt или Level 1G (можно уточнить в метаданных, расшифровка
http://eros.usgs.gov/#/Find_Data/Produc ... ailable/TM).