Страница 1 из 1

Gdal перепроецирование

Добавлено: 29 авг 2014, 10:15
Dima73
Есть несколько вопросов по перепроецирование растров с помощью GDAL:
1) Из каких в какие проекции можно перепроецировать растры?
2) Какие датумы поддерживаются и можно ли задавать свои для входного/выходного файлов?
3) Можно ли производить перепроецирование в памяти, без записи результата на винчестер?
4) Из каких этапов должен состоять процесс перепроецирования растров на c++?

Re: Gdal перепроецирование

Добавлено: 01 сен 2014, 22:31
Дмитрий Барышников
1) Во все которые поддерживаются GDAL. Списка проекций я никогда не видел (есть описание http://gdal.org/osr_tutorial.html). В принципе при перепроецировании используется proj4 (http://trac.osgeo.org/proj/), а в нем список вробе есть.
2) Аналогично - испольуется proj4 - те датумы и поддерживаются. Свой создать можно, но будет ли в proj переход к WGS84 не факт (хотя toWGS84 в описании прокции помогает)
3) Да, можно воспользоваться memory driver (http://gdal.org/frmt_mem.html)
4) Вот здесь дан пример (http://gdal.org/warptut.html) еще можно посмотреть исходники gdalwarp (https://svn.osgeo.org/gdal/trunk/gdal/apps/gdalwarp.cpp)

Re: Gdal перепроецирование

Добавлено: 01 сен 2014, 23:41
ericsson
Забавное совпадение - я как раз сейчас занимаюсь выяснением того, с какими же проекциями умеет работать GDAL, какие поддерживаются в GeoTIFF и WKT, как это пересекается с множеством кодов проекций EPSG. Весьма запутано, между прочим.
Список проекций для GDAL/ORG, похоже, живет в https://svn.osgeo.org/gdal/branches/1.1 ... atialref.h а для GeoTIFF (в том виде, который поддерживается GDAL) в https://svn.osgeo.org/gdal/branches/1.1 ... kt_srs.cpp

Re: Gdal перепроецирование

Добавлено: 01 сен 2014, 23:54
ericsson
Для Geotiff заявлен напрямую вот этот список: http://www.remotesensing.org/geotiff/proj_list/
А вот для proj4 список куда шире, так что на него смотреть, судя по всему, смысла нет (то есть то, что проекция поддерживается PROJ, судя по всему, не означает, что она поддерживается для растров GDAL). http://svn.osgeo.org/metacrs/proj/trunk ... /pj_list.h

Re: Gdal перепроецирование

Добавлено: 02 сен 2014, 06:19
gamm
ericsson писал(а):то есть то, что проекция поддерживается PROJ, судя по всему, не означает, что она поддерживается для растров GDAL
если мне не изменяет мой склероз, то для gdal проекции можно задавать в +формате proj, так что все поддерживает (по крайне мере, в программном интерфейсе). EPSG в +proj тоже переводится, в базе все параметры есть. Что касается wkt, то там были косяки, не знаю, поправили ли их теперь.

Re: Gdal перепроецирование

Добавлено: 02 сен 2014, 07:27
ericsson
Ок, можно тогда рабочий пример перепроецирования растра из Lat/Lon в Winkel Tripel (последняя с конца из списка PROJ.4, отсутствующая в коде GDAL) с версией GDAL и PROJ? Потому что для ogr2ogr я подобные вещи где-то встречал, но для gdal_warp они не заработали.

Re: Gdal перепроецирование

Добавлено: 02 сен 2014, 11:59
gamm
ericsson писал(а):Ок, можно тогда рабочий пример перепроецирования растра из Lat/Lon в Winkel Tripel (последняя с конца из списка PROJ.4, отсутствующая в коде GDAL) с версией GDAL и PROJ? Потому что для ogr2ogr я подобные вещи где-то встречал, но для gdal_warp они не заработали.
1) данная проекция ущербная, см. например
it can't be used as a custom CRS in QGIS because there's no inverse transformation in the proj library (see lists.maptools.org/pipermail/proj/2012-May/006302.html). And it seems that the inverse transformation isn't trivial (and will always be an approximation...).
2) мне лично хватает проекции в одну сторону, поскольку я gdal_warp не пользуюсь, а в той программе, которой пользуюсь, достаточно построить трансформационную сетку. При традиционном подходе нужна обратная проекция. Как-то так ...

Re: Gdal перепроецирование

Добавлено: 02 сен 2014, 19:32
ericsson
Ну вот о том и речь была.