Изменение проекции изображения с помощью 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
, который автоматически генерирует плитки на правой проекции для карт, а также образцы страниц карты.
Для справки, я не совсем уверен, что проекция абсолютно верна, но в этой области она, по крайней мере, достаточно хороша.