[gdal-dev] How to replace an osm key?

Djordje Spasic issworld2000 at yahoo.com
Sat Nov 12 02:24:27 PST 2016


Thank you for the reply Jukka.

Neither "building:levels" nor "height" fields were located in osmconf.ini under the "[multipolygons]".
I have just added them as you suggested, and now the previously mentioned command creates the .shp file without raising an error.I tried the initial:

-dialect sqlite -sql "select geometry, building as bldg, 'building:levels' as bldg_level, height as height from multipolygons" "C:\ladybug\osm_files\barcelona_shp_files" 

and
-dialect sqlite -sql "select geometry, building as bldg, \"building:levels\" as bldg_level, height as height from multipolygons" "C:\ladybug\osm_files\barcelona_shp_files" 

And they both work.
The problem is that: once the .shp file is created, and I open it, all shapes have the "building:level" value for the "bldg_level" field. Here is a screenshot:
https://www.dropbox.com/s/nmlkkzr85w225qb/sql_choosing_keys.jpg?dl=0

Why is this happening?

Kind Regards,
Djordje

-----------------------


    On Saturday, November 12, 2016 10:29 AM, Rahkonen Jukka (MML) <jukka.rahkonen at maanmittauslaitos.fi> wrote:
 

 Hi,

Related to your previous question, you can use SQL select only for fields which are included in osmconf.ini. Perhaps "height" is not. 'building:levels' may make a surprise for you, if ogr2ogr follows SQL specification it will select a fixed string. You should use double quotes instead and they may require escaping but I do not remember with which character. Start with easy test and more attributes with odd names one by one.

-Jukka-
Lähettäjä:Djordje Spasic
Lähetetty:‎12.‎11.‎2016 3:37
Vastaanottaja:Rahkonen Jukka (MML);gdal-dev at lists.osgeo.org
Aihe:Re: VS: [gdal-dev] How to replace an osm key?

Hi Jukka,

I have just tried to rename the fields with SQL. Here is the syntax:
"C:\gdal\ogr2ogr.exe" --config OSM_USE_CUSTOM_INDEXING NO -skipfailures -f "ESRI Shapefile"-dialect sqlite -sql "select geometry, building as bldg, 'building:levels' as bldg_level, height as height from multipolygons" output_shps input.osm
It raises the following error message:
ERROR 1: In ExecutableSQL<>: sqlite3_prepare<select geometry, building as bldg, 'building:levels' as bldg_level, height as height from multipolygons>:
no such column: height

Interestingly when I convert an .osm file to .shp files without using the SQL syntax, then the multipolygons.shp file does contain the "height" field. Not all shapes inside it contain it, but some do.

So why is the upper "no such column: height" error message raised?

Is something wrong with the SQL syntax?

Thank you for the reply.

Kind regards,
Djordje   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20161112/e1118d6f/attachment.html>


More information about the gdal-dev mailing list