Proposal 2007-01 : OGC:GetCapabilities harvesting
Date | 2007/12/07 |
Contact(s) | François Prunayre |
Last edited | Timestamp |
Status | Vote passed with all PSC members in favor |
Assigned to release | Release number, to be determined |
Resources | Indicate if the required resources are available to complete the proposal |
Overview
Use the OGC:GetCapabilities document to produce metadata for services and layers in ISO19119/139 format
- add metadata of services based on ISO19119 in GeoNetwork.
- add import XML document functionnality using XSLT stylesheet
- add harwest WxS GetCapabilities
Proposal Type
- Type: New functionality
- App: GeoNetwork
- Module: Harvester, Metadata Import
Links
- Other wiki discussions:
Voting History
- Vote proposed : 20080311
- Vote passed: 20080326
- Jeroen Ticheler +1
- Andrea Carboni +1
- Patrizia Monteduro +1
- Emanuele Tajariol +1
- Francois Prunayre +1
- Simon Pigot +1
- Archie Warnock +1
Other votes:
- Mathieu +1
- Claudia +1
- Myunghwa +1 (Working on adding WPS Capabilities harvesting)
Uses cases
- UC1 : Create metadata using copy/paste the GetCapabilities document of a WxS service (i.e. Create a full ISO19119 MD based on a GetCapabilities request)
- UC2 : Harvest metadata from a WxS service (i.e. Create a full ISO19119 MD based on a GetCapabilities request, Try to add thumbnails for WMS layers metadata)
- (Not implemented) UC3 : Update Bbox section of a dataset metadata based on WMS GetCapabilities info (i.e. Update part of MD based on a Request)
Import GetCapabilities document
Harvest GetCapabilities document
Parameters
- Input parameter : URL of the service for which to create metadata
- Ouput parameter :
- ISO19119 metadata xml file to be load into GeoNetwork
- ISO19139 metadata for each layers of the services
- (optional) thumbnails
GUI
Import
Harvesting
Mapping
Service
OGC Service supported :
- WMS 1.0.0
- WMS 1.1.1
- WCS 1.0.0
- WFS 1.0.0
- WFS 1.1.0
Namespaces :
- xmlns:wfs="http://www.opengis.net/wfs"
- xmlns:ows="http://www.opengis.net/ows"
- xmlns:wcs="http://www.opengis.net/wcs"
Root element:
- WMS = WMT_MS_Capabilities
- WFS = wfs:WFT_MS_Capabilities
- WCS = wcs:WCS_Capabilities
- Service metadata /gmd:MD_Metadata
- Service Identfication /gmd:identificationInfo/srv:SV_ServiceIdentification
Element | ISO19119 equivalent | Service type | GetCapabilities element | Note | Agreement |
Service metadata | |||||
Identifier | /gmd:fileIdentifier/gco:CharacterString | WFS 1.1.0 | wfs:GetCapabilities/wfs:DCPType/wfs:HTTP/wfs:Get/@onlineResource + @version | Service url + version | |
WFS 1.0.0 | ows:Operation[@name='GetCapabilities']/ows:DCP/ows:HTTP/ows:Get/@xlink:href + @version | ||||
WMS | GetCapabilitiesOnlineResource[1]/@xlink:href + @version | ||||
WCS | wcs:GetCapabilities//wcs:OnlineResource[1]/@xlink:href + @version | ||||
Language | /gmd:language/gco:characterString | « eng » | Default value « eng » | ||
CharacterSet | /gmd:CharacterSet/gmd:MD_CharacterSetCode | « utf8 » | |||
Contact | /gmd:contact | cf contact mapping | |||
Date stamp | /gmd:dateStamp/gco:DateTime | Harvesting/Import date | |||
Standard name | /gmd:metadataStandardName/gco:CharacterString | « ISO 19119/2005 » | |||
Standard version | /gmd:metadataStandardVertsion/gco:CharacterString | « 1.0 » | |||
Service Identfication | |||||
Title | /gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString | WFS 1.1.0 | ows:ServiceIdentification/ows:Title | ||
WFS 1.0.0 | wfs:Service/wfs:Title | ||||
WMS | Service/Title | ||||
WCS | wcs:Service/wcs:label | ||||
Date | /gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:dateTime | ||||
Abstract | /gmd:abstract/gco:CharacterString | WFS 1.1.0 | ows:ServiceIdentification/ows:Abstract | ||
WFS 1.0.0 | wfs:Service/wfs:Abstract | ||||
WMS | Service/Abstract | ||||
WCS | wcs:Service/wcs:description | ||||
Status | /gmd:status/gmd:MD_ProgressCode | « Completed » | |||
Contact | /gmd:pointOfContact | cf contact mapping | |||
Keyword | /gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword/gco:CharacterString | WFS 1.1.0 | /ows:keywords/ows:Keyword | « theme » for type | |
WFS 1.0.0 | /wfs:Keywords/wfs:Keywords | ||||
WMS | /KeywordList/Keyword | ||||
WCS | /wcs:keywords/wcs:keyword | ||||
Topic Category | /gmd:topicCategory/gmd:MD_TopicCategoryCode | User input | |||
Service type | /srv:serviceType/gco:LocalName codeSpace="www.w3c.org" | WFS 1.1.0 | « OGC:WFS » | user input | |
WFS 1.0.0 | « OGC:WFS » | ||||
WMS | « OGC:WMS » | ||||
WCS | « OGC:WCS » | ||||
Service version | /srv:serviceTypeVersion/gco:CharacterString | /ROOT/@version | eg. « 1.0.0 » | ||
Fees | /srv:accessProperties/gmd:MD_StandardOrderProcess/gmd:fees/gco:CharacterString | WFS 1.1.0 | /ows:Fees | ||
WFS 1.0.0 | /wfs:Fees | ||||
WMS | /Fees | ||||
WCS | /wcs:Fees | ||||
AccessConstraint | /gmd:resourceConstraints/gmd:MD_Constraints/gmd:useLimitation | WFS 1.1.0 | /ows:AccessConstraints | ||
WFS 1.0.0 | /wfs:AccessConstraints | ||||
WMS | /AccessConstraints | ||||
WCS | /wcs:AccessConstraints | ||||
Operations | /srv:containsOperations/srv:SV_OperationMetadata/srv:operationName/gco:CharacterString | WFS 1.1.0 | /ows:OperationsMetadata/* | cf mapping on operation | |
WFS 1.0.0 | /wfs:Capability/wfs:Request/* | ||||
WMS | /Capability/Request/* | ||||
WCS | /wcs:Capability/wcs:Request/* | ||||
OperatesOn | /srv:operatesOn/gmd:MD_DataIdentification/@uuidref | WFS 1.1.0 | metadata uuid for generated layer/coverage/featuretype metadata | ||
WFS 1.0.0 | |||||
WMS | |||||
WCS | |||||
Bounding box | /srv:SV_ServiceIdentification/srv:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox | WFS 1.1.0 | math:min(//ows:WGS84BoundingBox/ows:LowerCorner / UpperCorner) | ||
WFS 1.0.0 | math:min(//wfs:LatLongBoundingBox/@minx) | ||||
WMS | math:min(//LatLonBoundingBox/@minx) | ||||
WCS | math:min(//wcs:lonLatEnvelope/gml:pos[1 / 2]) | ||||
CRS | referenceSystemInfo/MD_ReferenceSystem/referenceSystemIdentifier/RS_Identifier/code | 4326 if available if not the first one | |||
Status | /srv:SV_ServiceIdentification/status/MD_ProgressCode | « completed » | |||
dataQualityInfo | gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode | codeListValue="service" |
Link between data and service:
<srv:operatesOn> <gmd:MD_DataIdentification uuid='identifier' xlink:href="link to xml document" xlink:title="Layer description"/> </srv:operatesOn>
Data
Root element:
- WMS = WMT_MS_Capabilities/Capability/Layer
- WFS = wfs:WFS_Capabilities/wfs:FeatureTypeList/wfs:FeatureType
- WCS = wcs:WCS_Capabilities/wcs:ContentMetadata/wcs:CoverageOfferingBrief
- Data metadata root node = /gmd:MD_Metadata
- Layer identification node = gmd:identificationInfo/srv:SV_ServiceIdentification
- Distribution node = gmd:distributionInfo/gmd:MD_Distribution/gmd:transferOptions/gmd:MD_DigitalTransferOptions/gmd:onLine/gmd:CI_OnlineResource
- Data quality node = gmd:dataQualityInfo/gmd:DQ_DataQuality
- Projection node = gmd:referenceSystemInfo/gmd:MD_ReferenceSystem/gmd:referenceSystemIdentifier/gmd:RS_Identifier
Element | ISO19115 equivalent | Service type | GetCapabilities element | Note |
Service metadata | ||||
Identifier | /gmd:fileIdentifier/gco:CharacterString | uuid | ||
Language | /gmd:language/gco:characterString | « eng » | Default « eng » | |
CharacterSet | /gmd:CharacterSet/gmd:MD_CharacterSetCode | « utf8 » | ||
Contact | /gmd:contact | cf contact mapping | ||
Date stamp | /gmd:dateStamp/gco:DateTime | Harvesting/import date | ||
Standard name | /gmd:metadataStandardName/gco:CharacterString | « ISO 19115:2003/19139 » | ||
Standard version | /gmd:metadataStandardVersion/gco:CharacterString | « 1.0 » | ||
Layer identification | ||||
Title | /gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString | WFS 1.1.0 | /wfs:FeatureType/wfs:Title | |
WFS 1.0.0 | /wfs:FeatureType/wfs:Title | |||
WMS | /Layer/Title | |||
WCS | /wcs:CoverageOfferingBrief/wcs:label | |||
Date | /gmd:citation/gmd:CI_Citation/gmd:date/gmd:CI_Date/gmd:date/gco:dateTime | |||
Abstract | /gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString | WFS 1.1.0 | /wfs:FeatureType/wfs:Abstract | |
WFS 1.0.0 | ||||
WMS | /Layer/Abstract | |||
WCS | /wcs:CoverageOfferingBrief/wcs:Description | |||
LatLonBoundingBox | /gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/ gmd:westBoundLongitude|gmd:eastBoundLongitude|gmd:southBoundLatitude|gmd:northBoundLatitude/gco:Decimal | ows:WGS84BoundingBox/ows:LowerCorner / UpperCorner | ||
WFS 1.0.0 | math:min(//wfs:LatLongBoundingBox/@minx | |||
WMS | LatLonBoundingBox/@minx | |||
WCS | wcs:lonLatEnvelope/gml:pos[1 / 2] | |||
Status | /gmd:status/gmd:MD_ProgressCode | « Completed » | ||
Contact | /gmd:pointOfContact | cf contact mapping | ||
spatialRepresentationType | /gmd:spatialRepresentationType/gmd:MD_SpatialRepresentationTypeCode | WFS | codeListValue="vector" | |
WCS | codeListValue="grid" | |||
Scale | /gmd:spatialResolution/gmd:MD_Resolution/gmd:equivalentScale/gmd:MD_RepresentativeFraction/gmd:denominator/gco:Integer | WMS | /Layer/MinScaleDenominator + MaxScaleDenominator | |
Topic Category | /gmd:topicCategory/gmd:MD_TopicCategoryCode | User input | ||
Projection | ||||
/gmd:code/gco:CharacterString | 4326 if available if not the first one | |||
Distribution | ||||
URL | /gmd:linkage/gmd:URL | WFS 1.1.0 | ows:Operation[@name='GetFeature']/ows:DCP/ows:HTTP/ows:Get/@xlink:href | |
WFS 1.0.0 | wfs:GetFeature/wfs:DCPType/wfs:HTTP/wfs:Get/@onlineResource | |||
WMS | GetMap/DCPType/HTTP/Get/OnlineResource/@xlink:href | |||
WCS | wcs:GetCoverage/wcs:DCPType/wcs:HTTP/wcs:Get/wcs:OnlineResource/@xlink:href | |||
Protocol | /gmd:protocol/gco:CharacterString | WFS 1.1.0 | "OGC:WFS-1.1.0-http-get-feature" | mime-type ou liste GeoNetwork |
WFS 1.0.0 | "OGC:WFS-1.0.0-http-get-feature" | |||
WMS | "OGC:WMS-1.1.1-http-get-map" | |||
WCS | "OGC:WCS-1.0.0-http-get-coverage" | |||
Name | /gmd:name/gco:CharacterString | WFS 1.1.0 | wfs:FeatureType/wfs:Name | |
WFS 1.0.0 | wfs:FeatureType/wfs:Name | |||
WMS | /Layer/Name | |||
WCS | /wcs:CoverageOfferingBrief/wcs:name | |||
Description | /gmd:description/gco:CharacterString | WFS 1.1.0 | wfs:FeatureType/wfs:Title | |
WFS 1.0.0 | wfs:FeatureType/wfs:Title | |||
WMS | Layer/Title | |||
WCS | wcs:CoverageOfferingBrief/wcs:description | |||
Data Quality | ||||
Topic | /gmd:scope/gmd:DQ_Scope/gmd:level/gmd:MD_ScopeCode | « dataset » |
Contact
Root element:
- WMS = WMT_MS_Capabilities/Service/contactInformation/ContactPersonPrimary
- WFS = wfs:WFS_Capabilities/wfs:Service/wfs:contactInformation/wfs:ContactPerson
- WCS = wcs:WCS_Capabilities/wcs:Service/wcs:contactInformation/wcs:ContactPerson
Element | ISO19115 equivalent | Service type | GetCapabilities element | Note |
Name | /gmd:individualName/gco:CharacterString | WFS 1.1.0 | ows:ProviderName | |
WFS 1.0.0 | ContactPerson | |||
WMS | ContactPerson | |||
WCS | wcs:individualName | |||
Organisation | /gmd:organisationName/gco:CharacterString | WFS 1.1.0 | ContactOrganization | |
WFS 1.0.0 | ContactOrganization | |||
WMS | ContactOrganization | |||
WCS | wcs:organisationName | |||
Position Name | /gmd:positionName/gco:CharacterString | WFS 1.1.0 | ContactPosition | |
WFS 1.0.0 | ContactPosition | |||
WMS | ContactPosition | |||
WCS | wcs:positionName | |||
Role | /gmd:role/gmd:CI_RoleCode | « pointOfContact » | ||
Phone gmd:phone/gmd:CI_Telephone | ||||
Voice | /gmd:voice/gco:CharacterString | ContactVoiceTelephone | ||
Fax | /gmd:facsim/gco:CharacterString | ContactFacsimileTelephone | ||
Address | gmd:address/gmd:CI_Address | |||
Delivery point | /gmd:deliveryPoint/gco:CharacterString | ContactAddress/Address | ||
Administrative | /gmd:administrativeArea/gco:CharacterString | wMS | ContactAddress/StateOrProvince | |
City | /gmd:city/gco:CharacterString | WFS 1.1.0 | City | |
WFS 1.0.0 | City | |||
WMS | City | |||
WCS | wcs:address/wcs:city | |||
PostCode | /gmd:postalCode/gco:CharacterString | WFS 1.1.0 | ContactAddress/PostCode | |
Country | /gmd:country/gco:CharacterString | WFS 1.1.0 | ContactAddress/Country | |
WCS | wcs:address/wcs:country | |||
/gmd:electronicMailAddress/gco:CharacterString | eMailAdd | |||
WFS 1.0.0 | eMailAdd | |||
WMS | eMailAdd | |||
WCS | wcs:address/wcs:electronicMailAddress |
Operation
Root element
- WMS = Capability/Request/*
- WFS 1.0.0 = wfs:Capability/wfs:Request/*
- WFS 1.1.0 = ows:OperationsMetadata/*
- WCS = wcs:Capability/wcs:Request/*
- Identification = /MD_Metadata/srv:SV_ServiceIdentification
- Operation = /MD_Metadata/srv:SV_ServiceIdentification/srv:containsOperations/srv:SV_OperationMetadata/
Element | ISO19119 equivalent | Service type | GetCapabilities element | Note |
Identification | ||||
Coupling type | /srv:couplingType | « tight » | ||
Operation | ||||
Name | /srv:operationName/gco:CharacterString | WFS 1.1.0 | @name | |
WFS 1.0.0 | name(.) | |||
WMS | name(.) | |||
WCS | name(.) | |||
DCP | /srv:DCP/srv/DCPList | if (name(.)='Get' or name(.)='wfs:Get' or name(.)='wcs:Get' or name(.)='ows:Get') "HTTP-GET" | ||
else if (name(.)='Post' or name(.)='wfs:Post' or name(.)='wcs:Post' or name(.)='ows:Post') "HTTP-POST" | ||||
else | "Webservice" | |||
URL | /srv:connectPoint/gmd:CI_OlineRessource/gmd:linkage/gmd:URL | WFS 1.1.0 | ..ows:Get[1]/@xlink:href | |
WFS 1.0.0 | ..wfs:OnlineResource[1]/@xlink:href | |||
WMS | ..//OnlineResource[1]/@xlink:href | |||
WCS | ..wcs:OnlineResource[1]/@xlink:href | |||
Protocol | /srv:connectPoint/gmd:CI_OlineRessource/gmd:protocol/gco:CharacterString | WFS 1.1.0 | ows:Parameter[@name='AcceptFormats']/ows:Value | |
WFS 1.0.0 | wfs:Format | |||
WMS | Format | |||
WCS | none | |||
Function | /srv:connectPoint/gmd:CI_OlineRessource/gmd:function | « Information » | ||
coupledResource | srv:coupledResource/srv:SV_CoupledResource/srv:OperationName/srv:identifier | For each layer and each operation | ||
Operation name | srv:coupledResource/srv:SV_CoupledResource/srv:OperationName | |||
Layer id | srv:coupledResource/srv:SV_CoupledResource/srv:identifier | defined on harvest/import | ||
Layer name | srv:coupledResource/srv:SV_CoupledResource/gco:ScopedName | layer name on the service |
Compatibility Issues
Need an update on Jeeves project (adding one method for XSL transformation with params)
Tests
Harvesting capability has been tested with the following OGC WxS implementation:
- Mapserver
- Geoserver
Last modified
17 years ago
Last modified on 03/26/08 13:26:38
Attachments (6)
-
GeoNetworkImportXML.png
(166.4 KB
) - added by 17 years ago.
GeoNetworkImport.png
-
brgm_geosciml-doc-uml-GetCapabilitiesHarvest.usd.png
(78.0 KB
) - added by 17 years ago.
GeoNetworkHarvestUC.png
-
brgm_geosciml-doc-uml-GetCapabilitiesImport.usd.png
(31.1 KB
) - added by 17 years ago.
GeoNetworkImportUC.png
-
GeoNetworkHarvestManager.png
(113.5 KB
) - added by 17 years ago.
GUI for harvesting configuration sor OGC services
-
GeoNetworkHarvestManager.2.png
(113.5 KB
) - added by 17 years ago.
GUI for harvesting configuration sor OGC services
-
geonetwork_harvestogc.swf
(4.2 MB
) - added by 17 years ago.
Demo : How-to configure new OGC harvesting task ?
Note:
See TracWiki
for help on using the wiki.