2

I'm trying to load this (https://resource.sgu.se/service/wms/inspire/GE-Berggrund_1M) WMS layer into QGIS (v3.28.2). While I see the individual layers when I connect to the service, I see nothing once I add the layer. On the contrary, ArcGIS Online seems to add the layer without any issues. Why won't it load the layers in QGIS?

2
  • Well I just tried to load a sub-layer, and it worked! Still don't understand why the whole layer won't load and allow me to select individual layers though.
    – joshiNJ
    Apr 12, 2023 at 11:00
  • Sub layers are where the data lies, other layers are groupings to allow the service to conform to INSPIRE regulation naming requirements.
    – nmtoken
    Apr 12, 2023 at 12:29

1 Answer 1

3

It seems to be a server side issue. By looking at the capabilities https://resource.sgu.se/service/wms/inspire/GE-Berggrund_1M the group layers have both name and title, which means that selecting the group layer means the same than selecting all the layers in the group.

<!--  Grupplager GE.GeologicFault  -->
<Layer queryable="1">
<Name>GE.GeologicFault</Name>
<Title>GE.GeologicFault</Title>
<Abstract>Grupplager: GE.GeologicUnit</Abstract>
...

However, requesting the group layer yields an error

GetMap captured from QGIS debug tools (f12)

<ServiceExceptionReport xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.3.0" xsi:schemaLocation="http://www.opengis.net/ogc http://maps3.sgu.se/geoserver/schemas/wms/1.3.0/exceptions_1_3_0.xsd">
<ServiceException code="LayerNotDefined" locator="layers"> Could not find layer inspire:GE.GeologicUnit </ServiceException>
</ServiceExceptionReport>

If you can add the group layer into ArcGIS Online then it cannot use the group layer in the request or it would get the same error from the server. Obviously it creates the GetMap request by listing the layers of the group, somehow like this:

&LAYERS=GE.GeologicUnit.SGU.Bedrock_1M.Age.Line%2CGE.GeologicUnit.SGU.Bedrock_1M.Age.Polygon%2CGE.GeologicUnit.SGU.Bedrock_1M.Lithology.Line%2CGE.GeologicUnit.SGU.Bedrock_1M.Lithology.Polygon

The Swedish site seems to use GeoServer. The layer group configuration of GeoServer is documented in https://docs.geoserver.org/stable/en/user/data/webadmin/layergroups.html. For me it looks like the layer groups in the GetCapabilities are configured as "named tree"

named tree: the layer group can be referred to by one name, but also exposes its nested layers and groups in the capabilities document.

but the server behaves like the layer groups were "container trees"

container tree: the layer group is exposed in the capabilities document, but does not have a name, making it impossible to render it on its own. This is called “containing category” in the WMS specification.

As far as I know it is not possible to make such configuration by using the GeoServer admin app and user interface. Maybe the GetCapabilities are edited by hand. Or then INSPIRE requires that kind of non-standard configuration.

1
  • Thanks for your answer!! I contacted the Swedish org and they unfortunately basically said "We're surprised it doesn't work, good luck". I think I understand why it doesn't work now, Many thanks!!
    – joshiNJ
    Apr 12, 2023 at 14:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.