ogr2ogr афинное преобразование

Ответить
maks24
Интересующийся
Сообщения: 21
Зарегистрирован: 27 авг 2014, 11:44
Репутация: 0
Откуда: Новосибирск

ogr2ogr афинное преобразование

Сообщение maks24 » 03 сен 2014, 13:27

Стоит задача при конвертации сдвинуть координату Х. Искал решение как это сделать попутно на ogr2ogr. Нашёл только такой вариант: -dialect sqlite -sql "SELECT ShiftCoords(geometry,30000,0) FROM points"
источник - http://gis.stackexchange.com/questions/ ... n-in-qgis2
Пробовал с разными входными выходными файлами. Более менее корректно получилось с shp-shp. Но семантика всёравно пропала. В семантике записался FID и всё. Но координаты подвинулись :)

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

ogr2ogr 1\arc\hdrlin_1mln12.shp 1\arc\hdrlin_1mln1.shp -dialect sqlite -sql "SELECT ShiftCoords(geometry,40075014.13,0) FROM hdrlin_1mln1"
Вообще функции интересные, разобраться бы как с ними корректно работать.
Так же есть :
ScaleCoords( geom Geometry , scaleX Double precision [ , scaleY Double precision ] ) - умножение
SwapCoords( geom Geometry ) - поменять местами Х У

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ogr2ogr афинное преобразование

Сообщение Denis Rykov » 03 сен 2014, 17:02

Так вы в SELECT-е остальные поля то укажите.

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

SELECT ShiftCoords(geometry,40075014.13,0), field1, field2, ..., fieldn
Spatial is now, more than ever, just another column- The Geometry Column.

maks24
Интересующийся
Сообщения: 21
Зарегистрирован: 27 авг 2014, 11:44
Репутация: 0
Откуда: Новосибирск

Re: ogr2ogr афинное преобразование

Сообщение maks24 » 04 сен 2014, 06:26

Denis Rykov, а all по умолчанию здесь уже не работает?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: ogr2ogr афинное преобразование

Сообщение Denis Rykov » 04 сен 2014, 06:53

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

SELECT ShiftCoords(geometry,40075014.13,0), * FROM ...
Spatial is now, more than ever, just another column- The Geometry Column.

maks24
Интересующийся
Сообщения: 21
Зарегистрирован: 27 авг 2014, 11:44
Репутация: 0
Откуда: Новосибирск

Re: ogr2ogr афинное преобразование

Сообщение maks24 » 04 сен 2014, 07:34

Всё получилось. * сообщает о выборе всех полей семантики.
Привожу примеры осуществления афинного преобразования.
Смешение координат:

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

ogr2ogr -f "mapinfo file" hdrlin_1mln12.mif hdrlin_1mln1.shp -dialect sqlite -sql "SELECT ShiftCoords(geometry,40075014.13,0), * FROM hdrlin_1mln1"
На выходе их шейпа получаем mid/mif с прибавкой в координате Х

Масштабирование (коэфициенты умножения для координат):

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

ogr2ogr -f "mapinfo file" hdrlin_1mln12.mif hdrlin_1mln1.shp -dialect sqlite -sql "SELECT ScaleCoords(Geometry,0.2,-1), * FROM hdrlin_1mln1"
Поменять местами координаты Х и У

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

ogr2ogr -f "mapinfo file" hdrlin_1mln12.mif hdrlin_1mln1.shp -dialect sqlite -sql "SELECT SwapCoords(Geometry), * FROM hdrlin_1mln1"

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: ogr2ogr афинное преобразование

Сообщение Максим Дубинин » 04 сен 2014, 10:49

пристегивайтесь, турбулентность прямо по курсу

maks24
Интересующийся
Сообщения: 21
Зарегистрирован: 27 авг 2014, 11:44
Репутация: 0
Откуда: Новосибирск

Re: ogr2ogr афинное преобразование

Сообщение maks24 » 12 сен 2014, 06:04

Максим Дубинин писал(а):добавьте сюда: http://gis-lab.info/qa/ogr2ogr-examples.html
Если это адресовано мне, то я не представляю как это сделать.

Ответить

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

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

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