On jeudi 19 octobre 2017 22:55:50 CEST Tamas Szekeres wrote: > Hi all, > > It looks like whenever we have a dataset (shapefile,db table,etc...) which > has a > column with such names like "description", "name", "location" GeoServer > maps it to the elements in the gml namespace (in a 1.1 request), > therefore DescribeFeatureType doesn't contain these attributes. > > For example this response doesn't include the name attribute > > http://cstest.coordinatesolutions.com/geoserver/wfs?VERSION=1.1.0&SERVICE=WF > S&REQUEST=DescribeFeatureType&TYPENAME=ogi:okcounties > > However that attribute is returned in the GetFeature request in the > gml:name section, like: > > http://cstest.coordinatesolutions.com/geoserver/wfs?VERSION=1.1.0&REQUEST=Ge > tFeature&TYPENAME=ogi:okcounties > > But as the result of this behaviour the WFS driver doesn't include this > item in the layer definition. Is that possible to retrieve these attributes > from the WFS driver as OGR fields for example to use them in SQL > expressions?
Hi Tamas, If your need is to filter on the server, then you'll need to compose the full URL at hand. If you want to post-filter, you can downloader the GetFeature request and open the GML file with the DOWNLOAD_SCHEMA=NO open option (or GML_DOWNLOAD_WFS_SCHEMA=NO configuration option) This will prevent the GML driver from trying to use the schema, and then it will discover the gml:name element. OGRFeature(okcounties):155 gml_id (String) = okcounties.155 name (String) = BEAVER state (Integer) = 40 county (Integer) = 7 stateplane (String) = N MULTIPOLYGON (((-100.945566 ....))) The XSD parser used by the WFS and GML drivers could also possibly be modified to hard-code the definition of those few GML fields (although they might depend on the GML version). Otherwise you can also use the GMLAS driver, but the result will be a bit inconvenient to use as it will create a dedicated layer for the name attribute (as gml:name can be repeated): $ ogrinfo GMLAS:out.xml INFO: Open of `GMLAS:out.xml' using driver `GMLAS' successful. 1: okcounties (Multi Surface) 2: okcounties_metadataproperty (None) 3: okcounties_name (None) 4: location (None) OGRFeature(okcounties):1 ogr_pkid (String) = 213FC01A8AA5FA1E1ADC65B21904DA34_okcounties_1 id (String) = okcounties.155 state (Integer64) = 40 county (Integer64) = 7 stateplane (String) = N MULTIPOLYGON (((-100.945566....))) OGRFeature(okcounties_name):1 ogr_pkid (String) = 213FC01A8AA5FA1E1ADC65B21904DA34_okcounties_1_name_1 parent_ogr_pkid (String) = 213FC01A8AA5FA1E1ADC65B21904DA34_okcounties_1 value (String) = BEAVER Even -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev