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

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
updates-bot
Bot
Сообщения: 276
Зарегистрирован: 03 фев 2008, 23:13
Репутация: 3

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

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

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

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

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

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

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

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

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

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

Сообщение Дмитрий Барышников » 12 июл 2012, 15: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 КБ) 13324 просмотра
Кстати, на сриншоте есть заблокированная кнопочка "Показать справку". Если бы была помощь в документировании wxGIS многих вопросов удалось избежать. Не хотите поучаствовать? Справку можно писать в Офисе, прямо в Вики ГИС-Лаба или иными удобными способами. Может чего и получше предложите.
А там глядишь и кнопочку разблокируем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить

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

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

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