Wie muss der Name des INSPIRE Default Style im Darstellungsdienst lauten? So wie es im Dokument "Technical Guidance for the implementation of INSPIRE View Services - Version 3.11" die Implementation Requirement 42 besagt:

<wms:Style><wms:Name>inspire_common:DEFAULT</wms:Name>

Oder müssen die Namen aus den Data Specification, z.B. AD.Address.Default, CP.CadastralParcel.Default, CP.CadastralZoning.Default, ... verwendet werden?


3 Comments

  1. user-28958

    So eine richtige Vorgabe ist das ja nicht (Guidance-Dokumente eben). Üblich ist, dass der Default-Stil auch "Default" genannt wird. Das steht da auch so. Ansonsten ist es Sache des Clients den Namen des Default-Stils beim Server zu erfragen. Das Capabilitiesdokument gibt da nicht wirklich was her.

  2. Bitte auch Implementation Requirement 44 beachten:

    "If  no  style  is  specified  in  the  request  or  the  style  parameter  is empty, the <inspire_common:DEFAULT>style shallbe used in layer rendering"

     

    Mit genau dieser Fragestellung hatte ich mich kürzlich ebenfalls auseinandergesetzt. Hintergrund war die Rückmeldung eines Nutzers, dessen Client den Style-Namen (STYLES=) beim GetMap Aufruf übergab. Im Mapfile (Mapserver) wird/wurde im METADATA-Block eines jeden Layers ein "wms style" z.B. „laerm_hauptstrecke_lden“ in unseren Diensten benannt.

    Dies führt konsequenterweise zu einer ServiceExeption:

    "msWMSLoadGetMapParams(): WMS server error. Style (laerm_hauptstrecke_lden) not defined on layer."

    da der Style nicht im STYLE-Block des Layers wiederholt wurde.

     

    Hier zunächst mal meine „Diagnose“ der OGC-Vorschrift:

     “The special in your getMap is that it uses “STYLES=namedStyle” in a WMS 1.1.1 Version. This is a non-mandatory function

    ‘… 7.4 DescribeLayer (SLD WMS only)

    The optional DescribeLayer operation applies only to a Styled Layer Descriptor WMS.

    See the SLD specification [3] for this operation. …’ (OGC 01-068r3)

    , that isn’t supported by Mapserver very well, as far as I can see.

     

    Above in the Spec there is written that:

    ‘… 7.1.4.5.4 Style

    Zero or more Styles may be advertised for a Layer or collection of layers using <Style>

    elements, each of which shall have <Name> and <Title> elements. The style's Name is

    used in the Map request STYLES parameter. The Title is a human-readable string. If

    only a single style is available, that style is known as the "default" style and need not be

    advertised by the server. …‘

    This works with our service, just replace the name of the dedicated style to ‘default’ and you will get a valid map.

     

    There might be a workaround for your kind of getMap request with the named style (see http://mapserver.org/development/rfc/ms-rfc-39.html), but I need time to check out.

     

    If your client would use the default style, it will work. Of course it works also without a STYLES definition.

    If you need it for the legend only, every layer in our services has its own LegendURL.”

     

    Soweit zur Verpflichtung einen named Style für ein OGC WMS 1.1.1. anzugeben.

     

     

    Ändert man im Mapfile des Mapservers den Metadtenblock in z.B.:

    „...

    # Aenderung der wms style Eintraege auf "default statt "laerm_hauptstrecke_lden" (Luks, 3.11.2017)

        "wms_style" "default"

        "wms_style_default" "Lärmindex Haupstrecke Tag-Abend-Nacht (LDEN)"

        "wms_style_default_legendurl_width" "80"

        "wms_style_default_legendurl_height" "132"

        "wms_style_default_legendurl_format" "image/png"

        "wms_style_default_legendurl_href" http://laermkartierung1.eisenbahn-bundesamt.de/cgi-bin/mapserv64/mapserv.fcgi?map=c:/srv/mapfiles/isophone.map&language=ger&version=1.1.1&service=WMS&request=GetLegendGraphic&sld_version=1.1.0&layer=laerm_hauptstrecke_lden&format=image/png

    ...„

    dann heißt der named style im getCapabilities „default“ und das daraus erstellte getMap mit STYLES=default funktioniert schon mal.

     

    Bei weiterer Betrachtung ist der Beschluss gereift, diesen Block komplett wegzulassen. Aus meiner Sicht hat er nur Sinn, wenn man tatsächlich mit named Styles arbeitet. Die OGC Spezifikation verlangt diesen nicht. Auch siehe Table 4: Mapping between INSPIRE layer metadata elements and ISO 19128 WMS element der Technical Guidance for the implementation of INSPIRE View Services - Version 3.11 weist dieses Element nicht auf. Und das Eingangs erwähnte Requirement 44 sieht eine Fallunterscheidung mit einem nicht definierten Style vor.

     

    Mein Fazit: Wenn named styles nicht unterschieden werden, sollten keine style names benannt werden.

  3. So wird das Requirement 42 im korrespondierenden Test im INSPIRE Validator getestet (WMS 1.3.0):

    • For each named Layer element:

      • If the INSPIRE Data Specification defines a default style for the harmonised layer,

        • Check that the Style Name of one of the Style elements provided in the layer itself or inherited from a parent layer is equal to the name of the default style defined in the Data Specification.
      • Otherwise, a default style for that harmonised layer name is not defined in the Theme INSPIRE Data Specification, therefore the test passes.