MapServer / MapServer

Source code of the MapServer project. Please submit pull requests to the 'main' branch.
https://mapserver.org
Other
1.03k stars 373 forks source link

Map metadata used when Layer Metadata is available #6166

Closed geographika closed 4 years ago

geographika commented 4 years ago

As per the mailing list post at https://lists.osgeo.org/pipermail/mapserver-users/2020-October/081905.html: with regards to the GetMetadata requests:

Looking at the code it appears the "contact" metadata can only be retrieved at the MAP rather than LAYER level [2]. Is this something that should be available at LAYER level also, perhaps using "wms_attribution_title"?

Reply from @tomkralidis:

Good point. Perhaps if MAP.LAYER.METADATA.wms_attribution_title is available we can override accordingly

tomkralidis commented 4 years ago

@geographika thanks for filing this issue. When looking at the WMS Server documentation, I see the following metadata that can be applied from LAYER.METADATA with suggested elements they would override:

In addition to these overrides, would we want to turn OFF ALL the MAP.WEB.METADATA.*_contact_* metadata if either or both of the above are available? Or simply override the above two and keep the rest?

geographika commented 4 years ago

Tricky one. Initially I would have thought all MAP metadata would apply unless overridden at the LAYER level.

But could there be cases where a LAYER contact could have the wrong details from the MAP level? I guess this is something users would have to watch out for, and would need to override all relevant settings at the LAYER level.

Although is this possible? E.g. wms_contactelectronicmailaddress is only available at the MAP.WEB level (at least when listed in the docs). Maybe it can be set at the layer level even if not used by GetCapabilitites.

tomkralidis commented 4 years ago

Correct, contact metadata is only available at the MAP level (and not the LAYER level). So then are we proposing introducing the wms_contact* metadata at the LAYER level? Would this get much use outside of the Layer Metadata API? Also, this probably needs an RFC. Thoughts?

jratike80 commented 4 years ago

But is there place for layer level contact information in the GetCapabilities schema http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd?

tomkralidis commented 4 years ago

@jratike80 right, there is not. So adding LAYER level contact metadata would only be valuable for the Layer Metadata API, unless there are other uses?

geographika commented 4 years ago

OK probably not worth adding then - it would likely confuse things. Main use case is to be able to show the source of a LAYER's data. The wms_attribution_title looks the most likely LAYER METADATA item to store this, so then it is a case of mapping it to an ISO XML property.

Looking at the sample GetMetadata at: https://demo.mapserver.org/cgi-bin/mapserv?map=/osgeo/mapserver/msautotest/world/world.map&request=GetMetadata&layer=world_latlong

I'm not sure which property (if any) fits this.

tomkralidis commented 4 years ago

We could map wms_attribution_title to gmd:otherCitationDetails (see example). Does this make sense for folks?