Перепроецирование с помощью GDAL
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
Все таки дело, видимо, в этом файле привязке.
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Перепроецирование с помощью GDAL
Если уверены что это 3395 тогда должно быть примерно так
Если все таки 3857, то
Код: Выделить всё
2445.9849051256103515625
0.0
0.0
-2440.78067014107666015625
-20036285.35033643719482421875
19993654.859460629461669921875
Код: Выделить всё
2445.9849051256103515625
0
0
-2445.9849051256103515625
-20036285.35033643719482421875
20036285.35033643719482421875
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
В обоих случаях выдает ошибку:
ERROR 1: Unable to compute a GEOTRANSFORM based transformation between pixel/lin
e and georeferenced coordinates for map.tif.
Может нужно этот файл привязки как-то указать в GDAL? Как он его распознает вообще?
ERROR 1: Unable to compute a GEOTRANSFORM based transformation between pixel/lin
e and georeferenced coordinates for map.tif.
Может нужно этот файл привязки как-то указать в GDAL? Как он его распознает вообще?
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
А вот, посмотрел какая проекция была.
Я качал карту с SAS.Planet и там по умолчанию стояла такая проекция:
Projection of map - Mercator / Google maps (Sphere Radius 6378137) /EPSG:3785.
Обманул вас, наверное. Извиняюсь.
Я качал карту с SAS.Planet и там по умолчанию стояла такая проекция:
Projection of map - Mercator / Google maps (Sphere Radius 6378137) /EPSG:3785.
Обманул вас, наверное. Извиняюсь.
-
- Гуру
- Сообщения: 534
- Зарегистрирован: 30 ноя 2006, 13:31
- Репутация: 116
- Откуда: Moscow
Re: Перепроецирование с помощью GDAL
Создаете файл с именем map.tfw в той же папке, что файл map.tif
Вставляете туда параметры привязки для 3857.
Упрощаем команду до минимума
gdalwarp -s_srs EPSG:3857 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
Вставляете туда параметры привязки для 3857.
Код: Выделить всё
2445.9849051256103515625
0
0
-2445.9849051256103515625
-20036285.35033643719482421875
20036285.35033643719482421875
gdalwarp -s_srs EPSG:3857 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
- Игорь Белов
- Гуру
- Сообщения: 2230
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1503
- Откуда: Казань
Re: Перепроецирование с помощью GDAL
После создания файла привязки map.tfw нужно выполнить команду
После этого привязка и система координат окажутся внутри map.tif, и не нужно никаких экспериментов.
Код: Выделить всё
gdal_edit.py -a_srs EPSG:3395 map.tif
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
То же самое...
ERROR 1: The transformation is already "north up" or a transformation between pi
xel/line and georeferenced coordinates cannot be computed for map.tif. There is
no affine transformation and no GCPs. Specify transformation option SRC_METHOD=N
O_GEOTRANSFORM to bypass this check.
Все таки, какую СК писать то?
Попробовал так:
1) gdal_edit.py -a_srs EPSG:3395 map.tif
gdalwarp -s_srs EPSG:3395 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
Не работает.
2) gdal_edit.py -a_srs EPSG:3857 map.tif
gdalwarp -s_srs EPSG:3857 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
Не работает
ERROR 1: The transformation is already "north up" or a transformation between pi
xel/line and georeferenced coordinates cannot be computed for map.tif. There is
no affine transformation and no GCPs. Specify transformation option SRC_METHOD=N
O_GEOTRANSFORM to bypass this check.
Все таки, какую СК писать то?
Попробовал так:
1) gdal_edit.py -a_srs EPSG:3395 map.tif
gdalwarp -s_srs EPSG:3395 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
Не работает.
2) gdal_edit.py -a_srs EPSG:3857 map.tif
gdalwarp -s_srs EPSG:3857 -t_srs EPSG:4326 -r lanczos -co COMPRESS=LZW map.tif map_4326.tif
Не работает
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
Причем эти команды никаких ошибок не выдают:
gdal_edit.py -a_srs EPSG:3395 map.tif
gdal_edit.py -a_srs EPSG:3857 map.tif
gdal_edit.py -a_srs EPSG:3395 map.tif
gdal_edit.py -a_srs EPSG:3857 map.tif
- Игорь Белов
- Гуру
- Сообщения: 2230
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1503
- Откуда: Казань
Re: Перепроецирование с помощью GDAL
Каюсь, виноват, был не в себе.
В файле привязки map.tfw последнее число должно быть положительным:
Регистрируем:
Перепроецируем:
Всё должно быть OK.
В файле привязки map.tfw последнее число должно быть положительным:
Код: Выделить всё
2445.98490512564
0
0
-2445.98490512564
-20036285.350336737
20036285.350336737
Код: Выделить всё
gdal_edit.py -a_srs EPSG:3395 map.tif
Код: Выделить всё
gdalwarp -t_srs EPSG:4326 map.tif map_4326.tif
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
Все равно не делает...
ERROR 1: The transformation is already "north up" or a transformation between pi
xel/line and georeferenced coordinates cannot be computed for map.tif. There is
no affine transformation and no GCPs. Specify transformation option SRC_METHOD=N
O_GEOTRANSFORM to bypass this check.
Хоть ты застрелись...
ERROR 1: The transformation is already "north up" or a transformation between pi
xel/line and georeferenced coordinates cannot be computed for map.tif. There is
no affine transformation and no GCPs. Specify transformation option SRC_METHOD=N
O_GEOTRANSFORM to bypass this check.
Хоть ты застрелись...
- Игорь Белов
- Гуру
- Сообщения: 2230
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1503
- Откуда: Казань
Re: Перепроецирование с помощью GDAL
Зачем же так мрачно! Выложите, наконец, картинку.
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
Да обычная картинка. Вот уменьшенный вариант, полный много весит...
- Вложения
-
- map_resize.jpg (2.24 МБ) 5507 просмотров
- Игорь Белов
- Гуру
- Сообщения: 2230
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1503
- Откуда: Казань
Re: Перепроецирование с помощью GDAL
Это просто. Превратим JPEG в GeoTIFF:
Трансформируем в географическую WGS 84:
Код: Выделить всё
gdal_translate -of GTiff -a_srs EPSG:3395 -gcp 0 0 -20037508.34 20037508.34 -gcp 3000 0 20037508.34 20037508.34 -gcp 0 3000 -20037508.34 -20037508.34 map_resize.jpg map_resize.tif
Код: Выделить всё
gdalwarp -t_srs EPSG:4326 map_resize.tif map_resize_4326.tif
- Вложения
-
- map_resize_4326.jpg (856.93 КБ) 5501 просмотр
The purpose of computing is insight, not numbers
-
- Интересующийся
- Сообщения: 17
- Зарегистрирован: 21 мар 2018, 17:45
- Репутация: 0
- Откуда: Беларусь
Re: Перепроецирование с помощью GDAL
О, здорово!
Теперь преобразует, но неправильно. Видимо из-за того, что у меня размеры оригинальной карты 16384x16384 пикселя. Как правильно теперь прописать координаты для такого изображения?
Объясните в двух словах, как распознавать эти цифры:
-gcp 0 0 -20037508.34 20037508.34 -gcp 3000 0 20037508.34 20037508.34 -gcp 0 3000 -20037508.34 -20037508.34
Теперь преобразует, но неправильно. Видимо из-за того, что у меня размеры оригинальной карты 16384x16384 пикселя. Как правильно теперь прописать координаты для такого изображения?
Объясните в двух словах, как распознавать эти цифры:
-gcp 0 0 -20037508.34 20037508.34 -gcp 3000 0 20037508.34 20037508.34 -gcp 0 3000 -20037508.34 -20037508.34
- Игорь Белов
- Гуру
- Сообщения: 2230
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1503
- Откуда: Казань
Re: Перепроецирование с помощью GDAL
Код: Выделить всё
gdal_translate -of GTiff -a_srs EPSG:3395 -gcp 0 0 -20037508.34 20037508.34 -gcp 16384 0 20037508.34 20037508.34 -gcp 0 16384 -20037508.34 -20037508.34 map_resize.jpg map_resize.tif
RTFM
The purpose of computing is insight, not numbers
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 16 гостей