GIS-LAB

Географические информационные системы и дистанционное зондирование


Форумы GIS-Lab.info

Геоинформационные системы (ГИС) и Дистанционное зондирование Земли


Ортокоррекция космических снимков с использованием RPC

Обсуждение материалов сайта: вопросы, замечания, предложения

Ортокоррекция космических снимков с использованием RPC

Сообщение updates-bot » 27 фев 2012, 13:00

Обсуждение статьи "Ортокоррекция космических снимков с использованием RPC"

http://gis-lab.info/qa/ortho-rpc.html
  • 0

updates-bot
Bot
 
Зарегистрирован: 04 фев 2008
 
Сообщения: 276
Репутация: 2

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение lexamam » 12 июл 2012, 12:23

Вопрос к автору статьи. Уважаемый, Bishop! Внимательно прочитал все Ваши материалы по поводу ортокоррекции на данном сайте. Сейчас сам занимаюсь этой проблемой. Столкнулся со следующими трудностями. В статье достаточно подробно описан процесс перехода от геодезических координат (широта, долгота, высота) к нормализованным X, Y. Но как выполнять обратное преобразование? Как привязать изображение? В проекте wxGis (да и в других системах) реализована ортокоррекция,во время которой выполняется интерполяция (билинейная или кубическая). Как она используется при ортокоррекции и для чего нужна? В статье об этом не сказано. Очень надеюсь на Ваш ответ. Заранее благодарен.
  • 0

lexamam
Новоприбывший
 
Зарегистрирован: 10 июл 2012
 
Сообщения: 6
Репутация: 0

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение Дмитрий Барышников » 12 июл 2012, 16:16

lexamam писал(а):В статье достаточно подробно описан процесс перехода от геодезических координат (широта, долгота, высота) к нормализованным X, Y. Но как выполнять обратное преобразование?

Если почитать источник №8
The RPC model allows a row/column location to be computed for a given lat, long and height value. It is not inherently invertable, though it is usually possible to compute at lat,long location from a row, column and height value using iterative methods.

Что в вольном переводе гласит: преобразование не инверсное и получить из координат пиксела географические можно итерационными методами. В принципе можно посмотреть в коде GDAL (файл: gdal_rpc.cpp) как они это делают. Т.к. перед ортокоррекцией осуществляется вычисление нового охвата изображения. Но по мне так проще использовать готовый функционал библиотеки GDAL. В том же файле есть метод RPCInverseTransformPoint. Да и через warp-инг можно гонять в обоих направлениях row/column <--> lat, long.
lexamam писал(а):Как привязать изображение?

Не понял, к чему вопрос?
lexamam писал(а):В проекте wxGis (да и в других системах) реализована ортокоррекция,во время которой выполняется интерполяция (билинейная или кубическая). Как она используется при ортокоррекции и для чего нужна?

Что касается wxGIS то на скриншотах в статье написано "Интерполяция значений высот". Т.к. рельеф обычно имеет более низкое разрешение - 90 м против спутниковой съемки 1 м, то нужно каким то образом определять высоты между центрами этих 90-метровых ячеек. Для этого рельеф сглаживается предложенными методами. Сейчас в wxGIS диалог ортокоррекции дополнился еще одним видом интерполяции - выходного растра. Это уже сглаживаются сами пикселы изображения, т.к. исходный пиксел, обычно попадает в пересечение целевых, а не точно в целевой пиксел.
ortho.png
ortho.png (36.61 КБ) Просмотров: 5604

Кстати, на сриншоте есть заблокированная кнопочка "Показать справку". Если бы была помощь в документировании wxGIS многих вопросов удалось избежать. Не хотите поучаствовать? Справку можно писать в Офисе, прямо в Вики ГИС-Лаба или иными удобными способами. Может чего и получше предложите.
А там глядишь и кнопочку разблокируем.
  • 0

Аватара пользователя
Дмитрий Барышников
Гуру
 
Зарегистрирован: 17 ноя 2009
Откуда: Москва (на карте)
 
Сообщения: 2571
Репутация: 258
Статьи: 7
Проекты: 2

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение lexamam » 18 июл 2012, 12:34

Подскажите, а как в wxGIS реализована ортокоррекция? Судя по Вашей статье "Ортокоррекция данных OrbView-3 с помощью GDAL" для wxGIS получаются более качественные результаты, чем для GDAL. Где в исходниках wxGIS можно посмотреть реализацию?
P.S. По поводу справки. Конечно, можно поучаствовать. Тем более, что это полезное дело для всех. Меньше вопросов будет.
  • 0

lexamam
Новоприбывший
 
Зарегистрирован: 10 июл 2012
 
Сообщения: 6
Репутация: 0

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение Дмитрий Барышников » 18 июл 2012, 13:56

Уже все исправлено - и статья тоже. Для GDAL стояла очень агрессивная оптимизация по-умолчанию. Теперь результат абсолютно одинаковый. Просто через wxGIS все делается через GUI.
В wxGIS используется ортокоррекция при помощи GDAL - я сам исправлял GDAL для поддержки рельефа (по-умолчанию было только по базовой высоте). Реализация соответственно в файлах wxGIS\src\geoprocessing\gporthocorrecttool.cpp и GDAL\alg\gdal_rpc.cpp

P.S. По поводу документации - даже если вы исправите статьи согласно возникших вопросов (что бы у других не возникало), это уже будет большое подспорье. Для редактирования в ВиКи необходимо "представится" системе с вашим логином и паролем с форума.
Таким же образом можно и новую статью (раздел помощи) сделать. Конкретнее по созданию новых материалов написано на заглавной странице.
  • 0

Аватара пользователя
Дмитрий Барышников
Гуру
 
Зарегистрирован: 17 ноя 2009
Откуда: Москва (на карте)
 
Сообщения: 2571
Репутация: 258
Статьи: 7
Проекты: 2

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение alexcpp » 18 июл 2012, 17:01

Здравствуйте. Стоит задача программно реализовать метод ортокоррекции с использованием RPC. Попытался разобраться в статье, но есть ряд вопросов. В статье приведены формулы для подсчета нормализованных колонки и строки (r и n) в изображении, как коэффициентов многочлена нормализованной геодезической широты (P), долготы (L) и высоты (H). У меня есть изображение в формате GeoTiff с коэффициентами RPC. Где для него взять параметры P, L, H (Latitude, Longitude, Height в формулах) для расчета r и n?
Как правильно двигаться по строкам/столбцам? Например, я беру первую строку изображения и первый столбец. Пересчитываю по формулам значения пикселей. Затем беру вторую строку и второй столбец и т.д. Будет ли верным такой алгоритм? Т.к. протестировал в ENVI ортокоррекцию. Так там размеры входного и ортокорректированного изображений отличаются. Например, для исходного файла размер 16384x15504, а после ортокоррекции 16381x15509. Т.е. размеры не совпадают. Откуда лишняя информация берется?
P.S. Я новичок в геоинформационных системах. Так что если вопросы тривиальные, прошу не ругать.
  • 0

alexcpp
Новоприбывший
 
Зарегистрирован: 18 июл 2012
 
Сообщения: 1
Репутация: 0

Re: Ортокоррекция космических снимков с использованием RPC

Сообщение Дмитрий Барышников » 18 июл 2012, 20:44

А велосипед-то зачем изобретать? GDAL можно использовать и в коммерческих целях - вон ArcGIS использует.
А касательно вопросов - все делается наоборот. Берется пиксель выходного изображения и по координатам определяется какой ему соответствует "цвет" из входного. А границы выходного определяются итерационно - как я писал выше.
  • 0

Аватара пользователя
Дмитрий Барышников
Гуру
 
Зарегистрирован: 17 ноя 2009
Откуда: Москва (на карте)
 
Сообщения: 2571
Репутация: 258
Статьи: 7
Проекты: 2


Вернуться в Материалы сайта

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

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


(Геокруг)

© GIS-Lab и авторы, 2002-2013. При использовании материалов сайта, ссылка на GIS-Lab и авторов обязательна. Содержание материалов - ответственность авторов (подробнее).