Изменение проекции изображения с помощью Python

Координаты угла изображения известны:

  • Слева вверху: (70.20315, 20.92749)
  • Вверху справа: (70.20315, 31.45240)
  • Внизу слева: (59,70571, 20,92749)
  • Справа внизу: (59.70571, 31.45240)

(В основном карта Финляндии и немного Швеции / Норвегии / России)

Я не смог найти способ изменить проекцию изображения на оверлей карты Google, желательно с помощью Python.

Это можно сделать с помощью Pyproj и PIL, но я не смог понять, как это сделать. Я также нашел GDAL, а точнее gdalwarp, но не смог найти варианты для правильного изменения проекции.

Пример изображения

1 ответ

Решение

(Копировать-вставить из ГИС ответ)

Обширный метод проб и ошибок показал, что он работает нормально, без указания исходной проекции. То же самое может быть достигнуто с помощью только GDAL Python API. Действия по воспроизведению:

Добавление контрольных точек в TIF (конечно, сначала convert mapimage.png mapimage.tif):

gdal_translate mapimage.tif mapimage_georeffed.tif -gcp 2300 2300 31.45240 59.70571 -gcp 0 0 20.92749 70.20315 -gcp 2300 0 31.45240 70.20315 -gcp 0 2300 20.92749 59.70571 -a_srs +proj=longlat

Затем GDAL привязки Python включают в себя gdal2tiles.py, который автоматически генерирует плитки на правой проекции для карт, а также образцы страниц карты.

Для справки, я не совсем уверен, что проекция абсолютно верна, но в этой области она, по крайней мере, достаточно хороша.

Другие вопросы по тегам