Атрибуты запроса с двоеточием: между ogr2ogr и PostGIS - PullRequest
1 голос
/ 05 июня 2019

Я использую базу данных PostGIS, заполненную osm2pgsql. Адресные ключи хранятся, например, как

"addr:street"

Цель состоит в том, чтобы сохранить эти геометрии как GeoPackage от ogr2ogr. Сценарий выглядит так

ogr2ogr -f "GPKG" address_point.gpkg PG:"host=**** dbname=**** user=**** password=****" -sql "select addr:housenumber","addr:housename","addr:flats","addr:conscriptionnumber","addr:street","addr:place","addr:postcode","addr:city","addr:country","addr:full","addr:hamlet","addr:suburb","addr:subdistrict","addr:district","addr:province","addr:state","addr:interpolation","addr:interpolation","addr:inclusion","addr:door","addr:unit","addr:floor","addr:block",way from planet_osm_point"

ogr2ogr возвращает ошибку из-за двоеточия в каждом атрибуте. Я думаю, что запрос не выполняется из-за того, "который должен обернуть запрос для ogr2ogr.

Когда я использую 'следующим образом:

ogr2ogr -f "GPKG" address_point.gpkg PG:"host=**** dbname=**** user=**** password=****" -sql "select 'addr:housenumber','addr:housename','addr:flats','addr:conscriptionnumber','addr:street','addr:place','addr:postcode','addr:city','addr:country','addr:full','addr:hamlet','addr:suburb','addr:subdistrict','addr:district','addr:province','addr:state','addr:interpolation','addr:interpolation','addr:inclusion','addr:door','addr:unit','addr:floor','addr:block',way from planet_osm_point"

запрос тоже не выполнен.

Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 05 июня 2019

Вам нужно экранировать двойные кавычки вокруг имен полей

ogr2ogr [...] -sql "select \"addr:housenumber\",\"addr:housename\" from planet_osm_point"

Или вы можете использовать одинарные кавычки для всей строки SQL

ogr2ogr [...] -sql 'select "addr:housenumber","addr:housename" from planet_osm_point'
...