Yes, you are right. Looks like I remembered it wrong. I also have tried 
different versions of wms : 1.0.0, 1.1.0 … and all have this root layer. So 
this was just my misconception.
Regarding root layer name both options (setting wms_rootlayer_name to empty 
string as well as setting name property of map to empty string) , I think, gave 
the same result.
Probably I will ask front end developers to disregard layers with empty name as 
you suggest. Thanks a lot.
Sincerely, Dimitri
  
>Четверг, 16 апреля 2020, 20:10 +03:00 от Rahkonen Jukka (MML) 
><[email protected]>:
> 
>Hi,
> 
>Can you point some common WMS server that does not have a root layer? For 
>example all Geoservers have root layer like this  
>https://demo.geo-solutions.it/geoserver/ows?service=wms&version=1.3.0&request=GetCapabilities
> 
><Layer>
><Title>GeoServer Web Map Service</Title>
> 
>This is an ArcGIS server and it seems to have root layer with title but 
>without a name as well  https://hakku.gtk.fi/locations/wmsserver/ .
> 
>OpenLayers can certainly parse GetCapabilities from common WMS servers. The 
>nested layers are there, I guess, for making it possible to categorize layers 
>and thus help with building a user friendly presentation of the layers. But if 
>you parse only the layers with name and skip layers with just title the result 
>might please you.
> 
>However, it should be possible to make Mapserver to have a root layer with 
>just title, that is mandatory, but without name. Do you mean that your root 
>layer has always name even if your MAP has an empty name (NAME "") or if you 
>have set an empty name for it in MAP-METADATA (wms_rootlayer_name "")?
> 
>-Jukka Rahkonen-
> 
>Lähettäjä: Zmitser Kozhukh < [email protected] >
>Lähetetty: torstai 16. huhtikuuta 2020 19.41
>Vastaanottaja: Rahkonen Jukka (MML) < [email protected] >
>Kopio: [email protected]
>Aihe: Re[2]: [mapserver-users] mapserver creating layers group MS , that is 
>displayed in GetCapabilities. how to get rid of it? what is the reason for it?
> 
>Thank you Jukka! For me it is surprise to find out that there is a such thing 
>as a root layer. Do you know if it is possible to disable it? Or is it just 
>natural way how mapserver parses mapfile into getcapabilities xml? I would 
>rather prefer to have list of separate layers in getcapabilities.
>I have tried to set the name of the root layer to empty string, also the name 
>of the map I was setting to empty string, also tried to put metadata 
>ows_enable_request to ‘!*’ but the root layer still appears in 
>GetCapabilities. In case when I omit wms_title and wms_abstract on the Map 
>object level, it is still substituted to ‘MS’ automatically by mapserver. 
>For me personally, this requirement to have root layer partially makes sense, 
>but the customer , who uses OL to read getcapabilities of wms services, that I 
>am preparing, is bothered by having root layer there — it is meaningless and 
>not needed for him.
>So I guess I will just preprepare custom getcapabilities xmls and configure 
>server to serve them instead of using mapserver for this.
>Sincerely, Dimitri
> 
>>Четверг, 16 апреля 2020, 18:43 +03:00 от Rahkonen Jukka (MML) < 
>>[email protected] >:
>> 
>>WMS service does not actually need to have a root layer but usually it 
>>exists. Each layer must have a title but name in optional. If layer does not 
>>hava a name it cannot be accessed with GetMap so what you need to do is to 
>>get rid of the name of your root layer. How to do that is documented in  
>>https://www.mapserver.org/ogc/wms_server.html :
>> 
>>Map Name and wms_title:
>>WMS Capabilities requires a Name and a Title tag for every layer. The Map’s 
>>NAME and wms_title metadata will be used to set the root layer’s name and 
>>title in the GetCapabilities XML output. The root layer in the WMS context 
>>corresponds to the whole mapfile. You can suppress the root layer’s name by 
>>setting wms_rootlayer_name to "".
>> 
>>There has been some changes in configuring the name of the root layer. 
>>Earlier it just took the NAME from the MAP level if it was not left empty. Do 
>>you perhaps have “MS” as a name of your mapfile now?
>> 
>>Discussion about the topic in  
>>https://github.com/mapserver/mapserver/issues/5404
>> 
>>And this is from the WMS 1.3.0 standard:
>> 
>>7.2.4.6.2 Title
>>A <Title> is mandatory for all layers; it is a human-readable string for 
>>presentation in a menu. The Title is not
>>inherited by child Layers.
>>7.2.4.6.3 Name
>>If, and only if, a layer has a <Name>, then it is a map layer that can be 
>>requested by using that Name in the
>>LAYERS parameter of a GetMap request. A Layer that contains a <Name> element 
>>is referred to as a “named
>>layer” in this International Standard. If the layer has a Title but no Name, 
>>then that layer is only a category title for
>>all the layers nested within. A server that advertises a Layer containing a 
>>Name element shall be able to accept
>>that Name as the value of LAYERS argument in a GetMap request and return the 
>>corresponding map. A client
>>shall not attempt to request a layer that has a Title but no Name.
>>A server shall throw a service exception (code="LayerNotDefined") if an 
>>invalid layer is requested.
>>A containing category itself may include a Name by which a map portraying all 
>>of the nested layers can be
>>requested at once. For example, a parent layer "Roads" may have children 
>>“Interstates” and “State Highways”
>>and allow the user to request either child individually or both together.
>>The Name is not inherited by child Layers.
>> 
>> 
>>-Jukka Rahkonen-
>> 
>> 
>>Lähettäjä: mapserver-users < [email protected] >  
>>Puolesta  Zmitser Kozhukh
>>Lähetetty: torstai 16. huhtikuuta 2020 17.32
>>Vastaanottaja: [email protected]
>>Aihe: [mapserver-users] mapserver creating layers group MS , that is 
>>displayed in GetCapabilities. how to get rid of it? what is the reason for it?
>> 
>>Good day,
>>I haven’t been using mapserver for a while, but I guess, that since last time 
>>I have used it, something has changed.
>>Now when I am querying GetCapabilities of WMS service, created by Mapserver 
>>(version 7.2.0 running on a linux server), it puts everying in ‘MS’ layer 
>>group. But I don’t have any MS group defined in mapfile. Could anyone explain 
>>how to get rid of this MS group in GetCapabilities xml? This is how it looks 
>>in xml:
>><Layer queryable="1">
>><Name>MS</Name>
>><Title>MS</Title>
>><Abstract>MS</Abstract>
>><CRS>EPSG:4326</CRS>
>>….
>>after normal layers follow:
>>        <Layer queryable="1" opaque="0" cascaded="0">
>>        …..
>>        </Layer>
>>        …..
>></Layer>
>>So for me it looks that for no reason the group MS is created which is sort 
>>of container for all normal layers.
>>But how to get rid of this MS group?
>>Sincerely,
>> 
>> 
>>--
>>Zmitser Kozhukh
> 
> 
>--
>Zmitser Kozhukh
> 
 
 
--
Zmitser Kozhukh
 
_______________________________________________
mapserver-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to