Объединение каналов в один файл

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Объединение каналов в один файл

Сообщение Aleksander » 01 сен 2009, 14:45

Подскажите, пожалуйста, есть ли бесплатные программы под Linux, позволяющие объединять отдельные каналы в один файл (как Layer Stack в ERDAS).

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Объединение каналов в один файл

Сообщение Mavka » 01 сен 2009, 15:12

Вроде бы gdal_merge может такое:

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

gdal_merge.py -seperate red.tif nir.tif mir.tif -o stack.tif
лангольеры под окном жрали время ом-ном-ном

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 03 сен 2009, 15:50

Спасибо, Mavka, программа работает. Значения пикселей по каналам совпадают с результатами объединения каналов с помощью ERDAS.
Однако привязка полученного изображения получается по обоим осям смещенной, по-видимому, ровно на половину разрешения пикселя (проверил только для снимков Landsat - смещение было 15 м). Использовал gdal_merge.py в составе FWTools 2.0.6 (Linux x86 32bit). Неужели программа рассчитывает при привязке координаты угла пикселя? Или это ошибка программы?

Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: Объединение каналов в один файл

Сообщение Mavka » 03 сен 2009, 16:04

Не проверял. Могу лишь предложить перепрошить заголовок с правильной привязкой.
Была какая то программа, которая брала заголовок одного tiff'а и пришивала его в другой.
Никак не могу вспомнить какая, но вот здесь - libgeotiff предлагают две:
listgeo и geotifcp - одна сохраняет, другая загружает.
лангольеры под окном жрали время ом-ном-ном

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 04 сен 2009, 15:30

На самом деле это известная фитча...
GeoTransform (начало координат изображения) может задаваться двумя способами:
1. Левый-верхний угол 1-го (верхнего левого) пикселя растра.
2. Центр 1-го пикселя.
О том какой именно способ используется должно быть сказано в документации к ПО, GDAL использует второй.

Какой программный продукт вы используете для проверки?

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 04 сен 2009, 15:41

В использованных мною снимках Landsat привязка происходит по центру пикселя (обрабатывались в USGS с помощью LPGS_10.0.0), а после использования gdal_merge.py получилось смещение +15 м по оси x и -15 м по оси y. Привязку смотрел в ERDAS IMAGINE 8.7.

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 04 сен 2009, 15:56

Возможно питоновская реализация глючит, я в свое время делал такую утилитку, если надо могу поискать...

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 04 сен 2009, 16:01

Было бы интересно посмотреть

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 04 сен 2009, 16:05

куда положить?

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 04 сен 2009, 16:19

вот ловите...
Нужно положить рядом GDAL16.dll (ее найти не трудно, например утянуть с официального сайта http://gdal.org),
Далее в ком. строке запускаем утиль в качестве аргумента пихаем каналы ландсата или иконоса или пофиг чего.
Вложения
stack.rar
внешний LayerStack
(34.07 КБ) 591 скачивание

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 04 сен 2009, 16:22

Спасибо!

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 04 сен 2009, 16:24

отпишите по результатам

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 08 сен 2009, 11:10

Результаты точно такие же, как при использовании gdal_merge.py (значения пикселей правильные, но есть смещение привязки).

pendduduk
Активный участник
Сообщения: 179
Зарегистрирован: 05 июл 2009, 22:18
Репутация: 47

Re: Объединение каналов в один файл

Сообщение pendduduk » 08 сен 2009, 11:56

Aleksander писал(а):Результаты точно такие же, как при использовании gdal_merge.py (значения пикселей правильные, но есть смещение привязки).
если у вас есть утилиты gdal, запустите пожалуйста команду gdalinfo в качестве аргумента укажите первый канал который стыкуете, запишите параметры которые выплюнет прога, затем сделайте тоже самое но с получившимся файлом. И сравните координаты. Они должны быть одинаковыми!

Дело в том, что я просто читаю то что записано в первом файле и записываю в выходной.

Aleksander
Участник
Сообщения: 60
Зарегистрирован: 12 май 2009, 13:03
Репутация: 0
Откуда: Минск

Re: Объединение каналов в один файл

Сообщение Aleksander » 08 сен 2009, 13:18

В самом деле одинаковые, если сравнивать с помощью gdalinfo.
Однако теперь (сравнивая с помощью gdalinfo) смещенными получаются результаты объединения с помощью ERDAS :D .

Ответить

Вернуться в «Общий - ПО»

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

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