INSPIRE WMS extension: make possible to include more Layer and Service level metadata in GetCapabilities
--------------------------------------------------------------------------------------------------------
Key: GEOS-4320
URL: http://jira.codehaus.org/browse/GEOS-4320
Project: GeoServer
Issue Type: Improvement
Components: Community modules
Affects Versions: 2.1-RC1
Reporter: Gabriel Roldán
Assignee: Gabriel Roldán
Fix For: 2.1-RC2
This is a long discussion from email:
* about the layers them self : the metadataUrl must be in the
Capabilities
for the INSPIRE layers ... how to do that
automagically !?I'm not sure there's a way to do it automagically unless we have a tighter
integration with GeoNetwork (and other catalogs). Right now you select
the
metadata online URL in the layer page. In GeoNode -
http://demo.geonode.orgwe do automagically link the CSW and the WMS,
since people fill out the
metadata for both in one place, and we control both of them. But I'm not
sure how we could do it if we're not shipping with GeoNetwork.
Well there is no need to have a tight integration with a catalog :
basically the metadataUrl input field already exist in the admin interface
of Geoserver. I was juste saying that :
1/ having the whole bunch of INSPIRE metadata in the capabilities in an
option;
Here is an extract of a EU WMS 1.3.0 service implementing that :
{code:xml}
<inspire_vs:ExtendedCapabilities>
<inspire_vs:ResourceLocator>
<inspire_vs:URL>http://image2000.jrc.ec.europa.eu</inspire_vs:URL>
<inspire_vs:MediaType>text/html</inspire_vs:MediaType>
</inspire_vs:ResourceLocator>
<inspire_vs:ResourceLocator>
<inspire_vs:URL>http://…/WMSServer?request=GetCapabilities&service=wms&version=1.3.0</inspire_vs:URL>
<inspire_vs:MediaType>CSW</inspire_vs:MediaType>
</inspire_vs:ResourceLocator>
<inspire_vs:ResourceType>service</inspire_vs:ResourceType>
<inspire_vs:TemporalReference>
<inspire_vs:DateOfCreation>2005-12-12</inspire_vs:DateOfCreation>
</inspire_vs:TemporalReference>
<inspire_vs:Conformity>
<inspire_vs:Specification
xsi:type="inspire_vs:citationInspireNSRegulation">
<inspire_vs:Title>Commission Regulation (EC) No
976/2009 of 19 October 2009 implementing Directive
2007/2/EC of the European Parliament and of the
Council as regards the Network
Services</inspire_vs:Title>
<inspire_vs:DateOfPublication>2009-10-19</inspire_vs:DateOfPublication>
<inspire_vs:URI>CELEX:32009R0976:EN:NOT</inspire_vs:URI>
<inspire_vs:ResourceLocator>
<inspire_vs:URL>http://…/LexUriServ.do?uri=CELEX:32009R0976:EN:NOT</inspire_vs:URL>
<inspire_vs:MediaType>text/html</inspire_vs:MediaType>
</inspire_vs:ResourceLocator>
</inspire_vs:Specification>
<inspire_vs:Degree>notEvaluated</inspire_vs:Degree>
</inspire_vs:Conformity>
<inspire_vs:Conformity>
<inspire_vs:Specification
xsi:type="inspire_vs:citationInspireMDRegulation">
<inspire_vs:Title>Commission Regulation (EC) No
1205/2008 of 3 December 2008 implementing Directive
2007/2/EC of the European Parliament and of the
Council as regards metadata (Text with EEA
relevance)</inspire_vs:Title>
<inspire_vs:DateOfPublication>2008-12-03</inspire_vs:DateOfPublication>
<inspire_vs:URI>CELEX:32008R1205:EN:NOT</inspire_vs:URI>
<inspire_vs:ResourceLocator>
<inspire_vs:URL>http://…/LexUriServ.do?uri=CELEX:32008R1205:EN:NOT</inspire_vs:URL>
<inspire_vs:MediaType>text/html</inspire_vs:MediaType>
</inspire_vs:ResourceLocator>
</inspire_vs:Specification>
<inspire_vs:Degree>notEvaluated</inspire_vs:Degree>
</inspire_vs:Conformity>
<inspire_vs:Conformity>
<inspire_vs:Specification
xsi:type="inspire_vs:citationInspireDirective">
<inspire_vs:Title>Directive 2007/2/EC of the European Parliament and of the Council of 14 March 2007 establishing an Infrastructure for Spatial Information in the European Community (INSPIRE)</inspire_vs:Title>
<inspire_vs:DateOfPublication>2007-04-25</inspire_vs:DateOfPublication>
<inspire_vs:URI>OJ:L:2007:108:SOM:EN:HTML</inspire_vs:URI>
<inspire_vs:ResourceLocator>
<inspire_vs:URL>http://…/JOHtml.do?uri=OJ:L:2007:108:SOM:EN:HTML</inspire_vs:URL>
<inspire_vs:MediaType>text/html</inspire_vs:MediaType>
</inspire_vs:ResourceLocator>
</inspire_vs:Specification>
<inspire_vs:Degree>notEvaluated</inspire_vs:Degree>
</inspire_vs:Conformity>
<inspire_vs:MetadataPointOfContact>
<inspire_vs:OrganisationName>Spatial Data Infrastructure Unit, Institute for Environment & Sustainability, Joint Research Centre, European Commission</inspire_vs:OrganisationName>
<inspire_vs:EmailAddress>image2000@anonymised.com</inspire_vs:EmailAddress>
</inspire_vs:MetadataPointOfContact>
<inspire_vs:MetadataDate>2010-06-15</inspire_vs:MetadataDate>
<inspire_vs:SpatialDataServiceType>view</inspire_vs:SpatialDataServiceType>
<inspire_vs:MandatoryKeyword>
<inspire_vs:KeywordValue>humanGeographicViewer</inspire_vs:KeywordValue>
</inspire_vs:MandatoryKeyword>
<inspire_vs:MandatoryKeyword>
<inspire_vs:KeywordValue>infoMapAccessService</inspire_vs:KeywordValue>
</inspire_vs:MandatoryKeyword>
<inspire_vs:Keyword xsi:type="inspire_vs:inspireTheme">
<inspire_vs:OriginatingControlledVocabulary>
<inspire_vs:Title>GEMET - INSPIRE themes</inspire_vs:Title>
<inspire_vs:DateOfPublication>2008-06-01</inspire_vs:DateOfPublication>
</inspire_vs:OriginatingControlledVocabulary>
<inspire_vs:KeywordValue>Orthoimagery</inspire_vs:KeywordValue>
</inspire_vs:Keyword>
<inspire_vs:Keyword>
<inspire_vs:KeywordValue>satellite imagery</inspire_vs:KeywordValue>
</inspire_vs:Keyword>
<inspire_vs:SupportedLanguages>
<inspire_vs:DefaultLanguage>eng</inspire_vs:DefaultLanguage>
</inspire_vs:SupportedLanguages>
<inspire_vs:ResponseLanguage>eng</inspire_vs:ResponseLanguage>
<inspire_vs:MetadataUrl>
<inspire_vs:URL>
http://…/discovery/csw?Service=CSW&Request=GetRecordById&Version=2.0.2&id=jrc_img2k_service_pan&outputSchema=http://www.isotc211.org/2005/gmd&elementSetName=full</inspire\_vs:URL>
<inspire_vs:MediaType>ISO:19115</inspire_vs:MediaType>
</inspire_vs:MetadataUrl>
</inspire_vs:ExtendedCapabilities>
{code}
2/ having just the minimum extensions in the capabilities is the direction
we are aiming. Let's have a glance at our WMS-C implementation (base test
for INSPIRE WMS 1.1.1), the capabilities say :
{code:xml}
...
<VendorSpecificCapabilities>
<inspire_vs:ExtendedCapabilities>
<inspire_vs:MetadataURL>
<gmd:linkage>
<gmd:URL>http://…/servicesRest?Service=CSW&Request=GetRecordById&Version=2.0.2&id=IGNF_GPAWMSC2D.xml&outputSchema=http://www.isotc211.org/2005/gmd&elementSetName=full
</gmd:URL>
</gmd:linkage>
<gmd:applicationProfile>
<gco:CharacterString>INSPIRE (EC) 976/2009</gco:CharacterString>
</gmd:applicationProfile>
</inspire_vs:MetadataURL>
<inspire_vs:Languages>
<inspire_vs:Language default="true">fre</inspire_vs:Language>
</inspire_vs:Languages>
<inspire_vs:CurrentLanguage>
<inspire_vs:Language default="false">fre</inspire_vs:Language>
</inspire_vs:CurrentLanguage>
</inspire_vs:ExtendedCapabilities>
...
</VendorSpecificCapabilities>
...
{code}
Another example is the template for WMS 1.3.0 :
{code:xml}
<inspire_vs:ExtendedCapabilities>
<!-- SC1: link INSPIRE metadata for this NS -->
<inspire_vs:MetadataURL>
<gmd:linkage>
<gmd:URL>discoveryServiceURL?Service=CSW&Request=GetRecordById&Version=2.0.2&id=[METADATA_IDENTIFIER]&outputSchema=http://www.isotc211.org/2005/gmd&elementSetName=full</gmd:URL>
</gmd:linkage>
<!-- indicate it is INSPIRE application profile : -->
<gmd:applicationProfile>
<gco:CharacterString>INSPIRE (EC)
976/2009</gco:CharacterString>
</gmd:applicationProfile>
</inspire_vs:MetadataURL>
<!-- FIXME: OGC uses IETF/4626 in OWS, better use same
encoding ... -->
<inspire_vs:Languages>
<inspire_vs:Language>en_UK</Language>
<inspire_vs:Language default="true">fr_FR</Language>
</inspire_vs:Languages>
<inspire_vs:CurrentLanguage>
<inspire_vs:Language>en_UK</Language>
</inspire_vs:CurrentLanguage>
</inspire_vs:ExtendedCapabilities>
{code}
So we express the fact that more ISO metadata can be found over there in the CSW service AND that metadata belong to the INSPIRE application profile.
The reason for that : OWS 2.0.0 (or OWS 1.2!-) has a metadataUrl in at service's level, this attribute points to external an service instead of having them all in the caps...
Therefore, we have chosen to put the ISO metadata for the services into the catalogs and not into the capabilities in order to anticipate the OWS 2 move!
Some other details:
we won't put all the metadata into the extendedCapabilities,
so
the admin interface should be aware of that (see
http://wxs.ign.fr/geoportail/wmsc?SERVICE=WMS&REQUEST=GetCapabilties for
the prototype ...)So yeah, we'd appreciate guidance on this - what do you think the best
approach for handling this is? Part of the admin interface that lets you
customize all those values? We don't really know what any of those things
_mean_, and what the geoserver admin should have control over. Right now
they just can adjust the language param, the contact info, and the layer
level metadata links. We just coded in what we knew, with the idea that
we'd get feedback on what to actually put in there. If anyone more
knowledgeable of INSPIRE can make a mockup of how the admin interface for
this stuff should look (including what to call things) that would help us
immensely.From my point of view :
admin interface at WMS service level ask for :
languages (there is an s!-) and metadataUrl input fields.
Then, a checkbox could ask for :
describe INSPIRE's service full metadata
If clicked, then provide the form for keying in everything needed (or a
text field to copy them in as it is for sld)
If not clicked, just put in the applicationSchema element in the caps.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira