Не правильно проходит перепроецирование

Ответить
Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 11:42

Мне нужно положить снимок сделанный в проекции 4326 на эллипсе на карту. Для карт-основы использую leaflet (который как я понимаю данные берет с OSM). Исходя из этого на выходе мне проекция нужна EPSG:3857

Проблема в том, что у меня почему-то перепроецированные данные отображаются на карте со смещением т.е. вот так:
Изображение

Использую следующие команды:
gdalwarp -t_srs EPSG:3857 -srcnodata 0 <tif1> <tif2>
gdal_translate -of PNG <tif2> <png>

В чем может быть проблема?

В QGIS результирующий png почему-то ложится нормально:
Изображение
Последний раз редактировалось Syllion 22 авг 2016, 13:11, всего редактировалось 1 раз.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Не правильно проходит перепроецирование

Сообщение SergeyRyzhkov » 22 авг 2016, 12:44

tif1 и tif2.
В первой команде не перепутан порядок?

[ Сообщение с мобильного устройства ]

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 13:15

Вроде бы нет. Я там добавил пример того как те же данные qgis отображает.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Не правильно проходит перепроецирование

Сообщение SergeyRyzhkov » 22 авг 2016, 13:30

Syllion писал(а):Вроде бы нет. Я там добавил пример того как те же данные qgis отображает.
У вас все правильно. Просто где-было что первым идет target первым, а вторым source
Только поможет пример растра. Растр в студию!

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 13:46

Прикрепил файл.

Вот полный список используемых команд:
1) Перевод из с 16 в 8 бит с рескейлом изображения
gdal_translate -ot byte -scale <img> <tif1>

2) Перепроецирование изображения с заданием значения NoData
gdalwarp -t_srs EPSG:3857 -srcnodata 0 <tif1> <tif2>

3) Перевод в PNG
gdal_translate -of PNG <tif2> <png>
Вложения
201_010714_0_0_04.zip
(1.37 МБ) 438 скачиваний

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

Re: Не правильно проходит перепроецирование

Сообщение SergeyRyzhkov » 22 авг 2016, 14:16

Что-то в архиве уже результат, а не исходники (либо я не понял, ссори).
Также желательно сразу показать JS для Leaflet, который Вы используете для визуализации растра

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 14:24

В архиве данные в проекции 4326. Нужно их трансформировать так, чтобы они легли на карту. Трансформировать нужно в 3857. Пока в северных широтах вылезает вот такой сдвиг, как я на скриншоте привел.

trir
Гуру
Сообщения: 5271
Зарегистрирован: 09 апр 2010, 19:30
Репутация: 1013
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Не правильно проходит перепроецирование

Сообщение trir » 22 авг 2016, 14:54

Ну если QGIS показывает правильно, то может цепляете неправильно?

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 15:17

trir, ой вы правы. А не подскажите как мне координаты из 4326 в 3857 трансформировать? Именно вот есть строка долготы и широты. Нужна точно такая же но трансформированная для 3857

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Не правильно проходит перепроецирование

Сообщение Игорь Белов » 22 авг 2016, 15:21

Syllion писал(а):А не подскажите как мне координаты из 4326 в 3857 трансформировать?
gdaltransform

Вы уверены, что именно этого хотите? Растр в Вашем архиве в проекции UTM.
The purpose of computing is insight, not numbers

Syllion
Активный участник
Сообщения: 167
Зарегистрирован: 23 сен 2009, 16:09
Репутация: 0

Re: Не правильно проходит перепроецирование

Сообщение Syllion » 22 авг 2016, 15:45

Раст я перевожу в PNG вроде как правильно, но у меня есть отдельный специальный файл с метаданными, которые записаны в UTM. Их то и надо пересчитать.

По поводу gdaltransform. После запуска примера вот что получается:
> gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370 177502 311865
ERROR 4: `177502' does not exist in the file system,
and is not recognised as a supported dataset name.

что ему не нравится то? Это ж вроде тупо копи-паста.

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2227
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1500
Откуда: Казань

Re: Не правильно проходит перепроецирование

Сообщение Игорь Белов » 22 авг 2016, 15:58

Вот копипаста:

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

> gdaltransform -s_srs EPSG:28992 -t_srs EPSG:31370
> 177502 311865
А в Вашем варианте программа считает, что "177502" и "311865" - названия входного и выходного растров.
The purpose of computing is insight, not numbers

Ответить

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

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

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