Привязка растров в gdal_translate и gdalwarp

Ответить
Аватара пользователя
Ruslan
Участник
Сообщения: 53
Зарегистрирован: 27 окт 2003, 17:33
Репутация: 5
Откуда: НекстГИС

Привязка растров в gdal_translate и gdalwarp

Сообщение Ruslan » 12 май 2008, 16:19

с интересом прочитал статью Использование GDAL для привязки растровых материалов
http://gis-lab.info/qa/georef-gdal.html
. Попытался ее применить на практике.
Итак задача: сделать привязку растра если известны координаты верхнего левого угла и нижнего правого.
Зараннее было известно что растр в проекции меркатора wgs84

поэтому преобразований никаких не нужно. по идее, так что достаточно двух точек, как написано в статье.
итак описываю
задаю их в строке для gdal_translate
gdal_translate.exe -of GTiff -gcp X Y Long Lat -gcp X Y Long Lat исх_картинка.tif прописанная_картинка.tif
с этим все понятно.

теперь нужно задать проекцию данного растра. Проекция меркатор.
команду оформил так
gdalwarp.exe -s_srs "+proj=longlat +ellps=wgs84 +datum=wgs84" -t_srs "+proj=mercator +ellps=wgs84 +datum=wgs84" прописанная_картинка.tif привязанная_картинка.tif


ничего не получилось, выдает ошибку:
ERROR 1: Translating source or target SRS failed:
+proj=mercator +ellps=wgs84 +datum=wgs84
вот
подскажите что делаю не так?
Последний раз редактировалось Ruslan 12 май 2008, 16:52, всего редактировалось 2 раза.

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

Re: Привязка растров в gdal_translate и gdalwarp

Сообщение Максим Дубинин » 12 май 2008, 16:34

в том то и дело, что никаких преобразований делать не надо, а ты пытаешься их делать вот этим:
gdalwarp.exe -s_srs "+proj=longlat +ellps=wgs84 +datum=wgs84" -t_srs "+proj=mercator +ellps=wgs84 +datum=wgs84" прописанная_картинка.tif привязанная_картинка.tif
а по идее надо

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

gdalwarp.exe -s_srs "+proj=longlat +ellps=wgs84 +datum=wgs84" -t_srs "+proj=longlat +ellps=wgs84 +datum=wgs84" прописанная_картинка.tif привязанная_картинка.tif 
пристегивайтесь, турбулентность прямо по курсу

Аватара пользователя
Ruslan
Участник
Сообщения: 53
Зарегистрирован: 27 окт 2003, 17:33
Репутация: 5
Откуда: НекстГИС

Re: Привязка растров в gdal_translate и gdalwarp

Сообщение Ruslan » 12 май 2008, 16:41

Процесс пошел, но остановился на следующем:
вот теперь какая ошибка:
error 6: Unable to load PROG.4 library <prog.dll>, creation of OGRCoordinateTransformation failed

то есть где брать куда копировать?

Аватара пользователя
Ruslan
Участник
Сообщения: 53
Зарегистрирован: 27 окт 2003, 17:33
Репутация: 5
Откуда: НекстГИС

Re: Привязка растров в gdal_translate и gdalwarp

Сообщение Ruslan » 12 май 2008, 17:10

файл <proj.dll> нашел, скопировал в систем 32
программа все сделала.
но растр все равно не привязался не совпал ни с векторами ни с аналогичным но привязанным другим методом.

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

Аватара пользователя
Ruslan
Участник
Сообщения: 53
Зарегистрирован: 27 окт 2003, 17:33
Репутация: 5
Откуда: НекстГИС

Re: Привязка растров в gdal_translate и gdalwarp

Сообщение Ruslan » 14 май 2008, 10:56

Сегодня продолжил экспериментировать с "замечательной библиотекой Gdal и несколькими ее утилитами".
Автор статьи написал, что достаточно 2-х известных координат растра, что бы сделать ему привязку.
имеем растр (известно, что он в проекции "mercator", но файл привязки к нему потерян) нам известны две его координаты левого верхнего угла и правого нижнего угла.

Итак нужно, банально, его заново привязать, никакой трансформации растра не нужно. (для меня привязать, это значит, что бы данный растр при выставлении в виде проекции mercator оказался там где он в идеале должен находится, совпал с векторами)

В прошлый раз я провел все действия, как в статье, указав координаты углов в десятичных градусах. В результате привязка не получилась.

В этот раз:
Я пересчитал десятичные с помощью эрдасовского калькулятора в спроектированные координаты в меркаторе wgs84
далее вписал получившиеся метровые координаты углов. в строку утилиты gdal_translate.exe .
строка: gdal_translate.exe -of GTiff -gcp X Y Long Lat -gcp X Y Long Lat исх_картинка.tif прописанная_картинка.tif

И опять попытался прописать проекцию меркатора с помощью утилиты gdalwarp.
строку составил так:
gdalwarp.exe -s_srs "+proj=merc +ellps=wgs84 +datum=wgs84" -t_srs "+proj=merc +ellps=wgs84 +datum=wgs84" растр_обработанный_утилитой _gdal_translate.tif привязанный растр.tif

в результате выдается ошибка:
ERROR 1: Failed to compute GCP transform: Not enough points available

Вопрос, что делается не так?
Где закралась ошибка?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 526
Ваше звание: Author
Контактная информация:

Re: Привязка растров в gdal_translate и gdalwarp

Сообщение Denis Rykov » 20 май 2008, 13:43

Была такая проблема, всё решилось путём увеличения GCP-точек (утилитой gdal_translate).

Ответить

Вернуться в «GDAL/OGR»

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

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