OSGeo / gdal

GDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.
https://gdal.org
Other
4.8k stars 2.51k forks source link

OGR GML driver uses bbox instead of actual feature geometry #7925

Closed pathmapper closed 1 year ago

pathmapper commented 1 year ago

Not entirely sure if this is a GDAL issue, so please close here if it's QGIS related and I'll file it there.

Expected behavior

OGR GML driver uses actual feature geometry.

Actual behavior

OGR GML driver uses bbox instead of actual geometry, GFS from GDAL 3.7.0 includes the following compared to the GFS from GDAL 3.6.2:

grafik

Steps to reproduce the problem.

Drag'n'drop the attached test.gml in QGIS. GFS from GDAL 3.6.2 and 3.7.0 also attached.

test_data.zip

Result after drag'n'drop in QGIS: grafik

Operating system

Windows 10 Version 2009

GDAL version and provenance

3.7.0 installed with QGIS standalone installer 3.30.3

jratike80 commented 1 year ago

That data seem to have a very complex schema. In addition, the schema is hard to find because this location is no more valid xmlns:xplan="http://www.xplanung.de/xplangml/5/2" and it redirects into an URL that gives an error "page not found" https://xleitstelle.de/xplangml/5/2

I managed to find where the schema is and the advanced GMLAS driver is able to resolve it.

ogrinfo gmlas:test.gml -oo XSD="https://repository.gdi-de.org/schemas/de.xleitstelle.xplanung/5.2/XPlanGML.xsd" -oo remove_unused_layers=yes -oo remove_unused_fields=yes

I tested one layer and GMLAS driver finds linestrings:

ogrinfo gmlas:test.gml -oo XSD="https://repository.gdi-de.org/schemas/de.xleitstelle.xplanung/5.2/XPlanGML.xsd" -oo remove_unused_layers=yes -oo remove_unused_fields=yes bp_baugrenze

Layer bp_plan has more complicated geometries like MULTISURFACE (CURVEPOLYGON (COMPOUNDCURVE (CIRCULARSTRING ....

pathmapper commented 1 year ago

Thanks @jratike80 !

it redirects into an URL that gives an error "page not found"

I'll report that to XLeitstelle.

Any idea what could have changed between GDAL 3.6.2 and 3.7.0 what could cause this issue with the GML driver?

Edit: True, the schema is very complex...

rouault commented 1 year ago

Definitely a regression. This is related to the https://github.com/OSGeo/gdal/pull/7133 change. I'm investigating