INSPIRE-MIF / caniuse

Which INSPIRE GML and GeoJSON features can I use in which software?
5 stars 8 forks source link

Difference between GML from file and GML from WFS - inheritance #16

Open heidivanparys opened 5 years ago

heidivanparys commented 5 years ago

The tests should differentiate between GML loaded from a file and GML served by WFS. In QGIS, it is apparently a complete different part of the source code that handles that, so the results can be completely different.

One example is the handling of inheritance. E.g. when the geometry is defined on the supertype, geometries are not rendered at all.

See e.g. the service described at https://geodata-info.dk/srv/eng/catalog.search#/metadata/8e82f1df-1352-4375-83ce-503aa8425661 (the first link).

sMorrone commented 5 years ago

I tried the link you provided: I am able to connect to WFS ("http://kortforsyningen.kms.dk/ra_tn_elf_gml321?") both from QGIS2.18 and from QGIS3.4. Geometries are correctly displayed and info is correct + it is same info displayed in the case of GML. In the case of QGIS 3.4, however, I have to specify the wfs version in the connection URL to make it work (see attached screenshot). 2019-06-05 (4)

heidivanparys commented 5 years ago

I investigated again. The scenario I described is without the use of the GML application toolbox plugin,

image

image

The geometry is defined on the supertype, tn-ra:RailwayLink, and not on elf:RailwayLink, and then QGIS doesn't recognize the geometries.

I tried also with the GML application toolbox plugin, in QGIS 3.4.10, but I get a Python error, and nothing is shown. Probably the same as described in https://github.com/BRGM/gml_application_schema_toolbox/issues/88

AttributeError: 'NoneType' object has no attribute 'split' 
Traceback (most recent call last):
  File "C:/Users/B004114/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\gml_application_schema_toolbox\gui\load_wizard_wfs.py", line 135, in on_connectBtn_clicked
    return self.on_connectBtn_clicked_()
  File "C:/Users/B004114/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\gml_application_schema_toolbox\gui\load_wizard_wfs.py", line 137, in on_connectBtn_clicked_
    wfs = self.wfs()
  File "C:/Users/B004114/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\gml_application_schema_toolbox\gui\load_wizard_wfs.py", line 118, in wfs
    with qgis_proxy_settings():
  File "C:/Users/B004114/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\gml_application_schema_toolbox\core\proxy.py", line 30, in __enter__
    excludes = excludes.split("|")
AttributeError: 'NoneType' object has no attribute 'split'
sMorrone commented 5 years ago

Thank you Heidi for your follow-up. To consume WFS 2.0 serving complex features you need to use the GML application toolbox plugin. Unfortunately no support is provided out of the box. That said, using the plugin, I am still able to load your data as well as the data from WFS link in BRGM/gml_application_schema_toolbox#88 -as you can see respectively from screenshot 1, 2 and 3. I am neither able to reproduce your issue nor to obtain your error message. So I guess the system configuration options are involved somehow (I am using Windows 10 - GDAL 2.4 - Gml Application schema version 1.2.0 2019-08-26 screenshot1 2019-08-26 screenshot2 2019-08-26 screenshot3

.