Services INSPIRE
Guide sur le service de recherche
Groupe de
travail « Services »
Version 1.0 –
Septembre 2014
Remerciements
Le groupe « Services
INSPIRE » est rattaché à la commission « Règle de mise en œuvre »
du CNIG. Il a été animé par Pascal Lory (IGN) et Pierre Vergez (IGN). Le
secrétariat en a été assuré par Marie Lambois (IGN). Les contributeurs ont
été :
Participants |
Organisme / Service |
BLANLOT Valentin CARTOIXA Mathieu CHARTIER Benjamin COUDERCY Laurent DAVID Benoît GRELLET Sylvain HOUBIE Frédéric JAQUEMET Clément LAMBOIS Marie LEOBET Marc PELHATE Sebastien PHUNG Fabrice RAOUT Sindy REBOUX Maël ROOS Eliane TAFFOUREAU Etienne ULVOAS Béatrice VINSONNEAU Lydie SATRA LE BRIS Catherine VOISIN Thibaut |
Isogeo Isogeo Geopicardie Onema CGDD/DRI/MIG OIEAU Geomatys CGDD/DRI/MIG IGN CGDD/DRI/MIG Région Bretagne DREAL Bretagne/COPREV BRGM Région Bretagne IGN BRGM OIEAU Géobretagne/AITF Ifremer SG/SPSSI/CPII/DOM/ETER |
Historique du document
Edition |
Date |
Description |
Projet 1 |
28.10.13 |
Mise en place du premier
projet de document à partir des résultats des réunions |
0.9 |
16.05.14 |
Mise en place de la
version pour soumission à commentaires |
1.0 |
22.09.14 |
Version publiée avec intégration
des commentaires |
Table des Matières
III. Généralités
sur le service de recherche
IV. Les
différentes opérations du service de recherche
IV.1. Opération
‘’Accéder aux métadonnées du service de recherche’’
IV.1.1. Métadonnées des
opérations
IV.1.2. Cas des catalogues
fédérés
IV.2. Opération
“Rechercher des métadonnées”
IV.3. Opération
“Publier des métadonnées “
IV.3.1. Mécanisme
d’introduction
IV.3.2. Mécanisme
d’extraction
IV.4. Opération
“Relier un service de recherche”
VI.1. Lien
de la métadonnée de donnée vers le service
VI.2. Lien
de la métadonnée de service vers la métadonnée de donnée
Ce document établit les
recommandations nationales en ce qui concerne les Services de recherche
INSPIRE. Il reprend les exigences du règlement1 sur les différentes
opérations du service en les adaptant au contexte national. Il ne traite pas du
contenu des éléments servis par le service de recherche.
Il reprend également en
partie les exigences ou recommandations du guide technique européen sur le
service de recherche.
Son périmètre est
strictement celui d’INSPIRE, c’est-à-dire que ce guide doit permettre de
répondre aux obligations posées par la règlementation relative aux Services de recherche[1].
Enfin, ce document est
d’abord destiné à des techniciens. Le vocabulaire utilisé reprend le
vocabulaire utilisé dans les spécifications OGC.
INSPIRE définit une
architecture de services, composée de services de plusieurs types. Les services
concernés par la Directive INSPIRE sont les « services de données
géographiques » (spatial data services), c'est-à-dire les opérations qui
peuvent être exécutées à l'aide d'une application informatique sur les données
géographiques contenues dans des séries de données géographiques ou sur les
métadonnées qui s'y rattachent (art. 3 de la directive).
Parmi ces services de
données géographiques, on distingue un sous-ensemble particulier de cinq types
de services, connus sous la dénomination « services en réseau »
(network services) pour lesquels INSPIRE définit des règlements et des guides
techniques spécifiques. Un
guide commun à ces cinq types de service a été rédigé par le groupe. Il
précise les exigences INSPIRE et recommandations à suivre pour les éléments
communs à tous les services en réseau, notamment les éléments de capacité de
service.
Parmi ces cinq types de
services se trouve le service de recherche ou « discovery
service », c’est ce service en particulier qui sera traité dans ce
document.
Conformité
L'évaluation de la conformité est la démonstration
que des exigences spécifiées relatives à un produit, processus, système,
personne ou organismes sont respectées. La conformité d'un service à un
règlement INSPIRE signifie qu’il respecte les spécifications d’opérations et de
qualité de service (performance, capacité, disponibilité) par ce règlement (cf.Bibliographie).
Document
de capacité
Le document de capacité du service décrit les
opérations, paramètres, formats, etc. du service. Dans le cadre d’un service OGC,
il correspond à la réponse à la requête GetCapabilities.
Le document de capacité est retourné par le service lui-même alors que la
métadonnée de service est diffusée via un catalogue.
Métadonnées
[INSPIRE] Informations
descriptives des données ou des services sur les données, et rendant possibles
leur recherche, leur inventaire et leur utilisation.
Ressource
[INSPIRE] Une ressource
d’information faisant directement ou indirectement référence à un lieu ou une zone
géographique spécifique (annexe A du règlement Métadonnées).La directive
INSPIRE identifie les types de ressources suivants : (annexe B 1.3 et
D1) : « une série de données, un ensemble de séries de données, un
service ».
Services
de données géographiques
[INSPIRE] Opérations pouvant
être exécutées à l'aide d'une application informatique sur les données
géographiques contenues dans des séries de données géographiques ou sur les
métadonnées qui s'y rattachent (art. 3 de la directive).
Une partie de ces services
de données géographiques est constituée par les services en réseau (voir
ci-dessous). Des exemples de services de données géographiques autres que les
services en réseau sont : les index géographiques (gazetteers),
les services de géocodage, etc.
Service
de téléchargement
C’est un service de qui fournit un accès aux
séries de données géographiques en téléchargement.
Service
de Consultation
C’est un service qui permet, sur la base d’une
interrogation, de visualiser un ensemble de données géographiques.
Service
de Recherche
[INSPIRE] C’est un service qui permet d'identifier
des séries et des services de données géographiques sur la base du contenu des
métadonnées correspondantes et d'afficher le contenu des métadonnées;
Services
en réseau
Ce sont les services cités à
l’article 11 de la Directive : service de recherche (discovery),
service de consultation (view), service de
téléchargement (download), service de transformation
(transformation), service d’appel de service (invoke).
Moissonnage
Mécanisme permettant
d’interroger un catalogue accessible sur internet afin de récupérer tout ou
partie de son contenu sous la forme de métadonnées XML et d’alimenter son
propre catalogue.
Guide
de saisie des métadonnées de service INSPIRE, Groupe de travail
« Métadonnées », Version 1.0 – Décembre 2012
Règlement services –
recherche et consultation : Règlement
(CE) no 976/2009 de la Commission du 19 octobre 2009 portant modalités
d’application de la directive 2007/2/CE du Parlement européen et du Conseil en
ce qui concerne les services en réseau. (PDF)
Règlement métadonnées : Règlement
(CE) no 1205/2008 de la Commission du 3 décembre 2008 portant modalités
d’application de la directive 2007/2/CE du Parlement européen et du Conseil en
ce qui concerne les métadonnées (PDF)
Technical Guidance for the implementation of INSPIRE Discovery Services, Initial Operating Capability Task Force for Network Services, Novembre 2011
ISO 19115:2003, Geographic information – Metadata
ISO 19115/Cor.1:2006, Geographic information – Metadata, Technical Corrigendum 1
ISO 19119:2005, Geographic information – Services
ISO 19119:2005 PDAM 1, Geographic information – Services
ISO 19143:2010 Geographic information -- Filter encoding,
OGC CSW 2.0.2 : OGC 07-006, OGC CSW, OGC™
Catalogue Services Specification, version 2.0.2 (Corrigendum Release 2).
OGC CSW ISO APP 2.0.2 : OGC 07-045, CSW ISO AP, OGC™
Catalogue Services Specification 2.0.2 - ISO Metadata Application Profile for CSW 2.0, version 1.0.0
(2007).
Le service de recherche est un service en réseau qui permet notamment, sur
la base d’une interrogation, de rechercher les séries de données géographiques
ou les services correspondant à des critères de recherche. Les informations
retournées par ce service dépendent des opérations passées en paramètre dans la
requête :
- Opération ‘’Accéder aux métadonnées du service de recherche’’ :
renvoie un fichier XML décrivant les capacités du service.
- Opération “Rechercher des métadonnées” : renvoie un ensemble de
métadonnées sous forme XML répondant à la requête exprimée. Dans la pratique,
cette opération est largement utilisée pour moissonner le contenu d’un
catalogue.
- Opération “Publier des métadonnées “ : permet d’interagir avec un
catalogue en mode “transactionnel” afin d’ajouter, supprimer ou mettre à jour
un ensemble de métadonnées. L’opération “Harvest”
permet également de moissonner le contenu d’un catalogue.
L’implémentation du service de recherche s’appuie sur le standard CSW
(Catalogue Services for the Web) de l’OGC et sur son profil applicatif de
métadonnées ISO.
Recommandations
nationales : (TG
IR1)
Les services de recherche
seront conformes aux spécifications suivantes : 1. OGC 07-006, OpenGIS Catalogue Services Specification, v2.0.2 (Corrigendum Release 2). 2. OGC 07-045, OpenGIS® Catalogue Services Specification 2.0.2 -ISO Metadata Application Profile, v1.0. |
Les métadonnées servies par le service de recherche sont des métadonnées
conformes à la norme ISO/TS 19139 (schémas applicatifs XML pour les métadonnées
de l’information géographique) sur la base des normes EN ISO 19115 :2003
et EN ISO 19119:2009.
Recommandations
nationales :
Les métadonnées servies
par le service de recherche devront être conformes aux guides suivants : 1.
Guide de saisie des éléments de métadonnées INSPIRE Appliqué aux données
v1.1 2. Guide
de saisie des éléments de métadonnées de service v1.0 3. Guide
de gestion des catalogues de métadonnées INSPIRE v1.1 |
Cette opération
fournit toutes les informations nécessaires concernant le service et décrit les
capacités du service.
Exemple de
requête en HTTP-GET
Recommandations
nationales :
Le document retourné par
cette opération doit être conforme au guide commun sur les services INSPIRE |
Exigence
INSPIRE : (Reg
2.2.2)
Les paramètres
des métadonnées des opérations fournissent des métadonnées concernant les
opérations effectuées par le service de recherche. Ces paramètres décrivent
chaque opération. Ils fournissent au moins les éléments suivants:
1) ils indiquent,
pour l’opération «Publier des métadonnées», les mécanismes disponibles:
extraction, introduction, ou les deux;
2) ils décrivent
chaque opération, en donnant au moins une description des données échangées et
l’adresse réseau.
Ces métadonnées
fournissent également pour chaque opération les protocoles d’échange supportés
par le service (HTTP-GET, POST ou SOAP).
Exemple
<ows:OperationsMetadata>
<ows:Operation name="GetRecords">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://www.geocatalogue.fr/api-public/view/services/CSWService.CSWServicePort">
<ows:Constraint name="PostEncoding">
<ows:Value>SOAP</ows:Value>
</ows:Constraint>
[...]
Exigence
INSPIRE : (TG
IR3)
Si un service de recherche fédère d’autres services de recherche,
c’est-à-dire qu’il peut rediriger des requêtes vers ces catalogues, alors il
doit les indiquer dans son document de capacité.
Commentaire :
Le renseignement
de ces catalogues se fait de la manière suivante :
<ows:Constraint name="FederatedCatalogues">
<ows:Value>http://moncatalogue.fr/csw?request=GetCapabilities&service=CSW</ows:Value>
</ows:Constraint>
Exigence
INSPIRE : (TG
IR 5)
Les éléments requêtables ou critères de recherche (cf. IV.2.1.1.)
supportés doivent être indiqués dans le document de capacité de services.
Commentaire :
Les éléments requêtables sont renseignés de la manière suivante :
<ows:OperationsMetadata>
<ows:Operation name="GetRecords">
[…] (List of DCPs, parameters here)
<ows:Constraint name="SupportedISOQueryables">
<ows:Value>Language</ows:Value>
<ows:Value>CreationDate</ows:Value>
<ows:Value>PublicationDate</ows:Value>
<ows:Value>OrganisationName</ows:Value>
<ows:Value>ResourceIdentifier</ows:Value>
<ows:Value>TopicCategory</ows:Value>
<ows:Value>DistanceValue</ows:Value>
<ows:Value>DistanceUOM</ows:Value>
<ows:Value>TempExtent_begin</ows:Value>
<ows:Value>TempExtent_end</ows:Value>
<ows:Value>ServiceType</ows:Value>
<ows:Value>Denominator</ows:Value>
</ows:Constraint>
<ows:Constraint name="AdditionalQueryables">
<ows:Value>Degree</ows:Value>
<ows:Value>AccessConstraints</ows:Value>
<ows:Value>OtherConstraints</ows:Value>
<ows:Value>Classification</ows:Value>
<ows:Value>ConditionApplyingToAccessAndUse</ows:Value>
<ows:Value>Lineage</ows:Value>
<ows:Value>ResponsiblePartyRole</ows:Value>
<ows:Value>SpecificationTitle</ows:Value>
<ows:Value>SpecificationDate</ows:Value>
<ows:Value>SpecificationDateType</ows:Value>
</ows:Constraint>
</ows:Operation>
</ows:OperationsMetadata>
Recommandations aux éditeurs :
Les éditeurs de logiciels de
services de recherche devront permettre d’indiquer les éléments requêtables additionnels dans le document de capacités de
service.
Exemple
<ows:Constraint name="AdditionalQueryables">
<ows:Value>Relation</ows:Value>
<ows:Value>AccessConstraints</ows:Value>
<ows:Value>ResponsiblePartyRole</ows:Value>
<ows:Value>OnlineResourceMimeType</ows:Value>
[...]
L’opération «Rechercher des métadonnées»
permet de récupérer par le service de recherche cible, en fonction d’une
requête, des éléments de métadonnées INSPIRE relatifs à des ressources.
Note aux éditeurs de logiciel client:
Pour obtenir les métadonnées
INSPIRE en réponse à la recherche les valeurs de paramètres suivantes devront
être utilisées :
- resultType
= "results" (permet de récupérer le contenu
des métadonnées)
- outputFormat
= "application/xml"
- outputSchema
= http://www.isotc211.org/2005/gmd
(permet de récupérer les métadonnées au format XML ISO 19139)
- ElementSetName
= “full” (permet de récupérer l’ensemble d’un document de métadonnées)
Le paramètre de langage
indique la langue naturelle demandée pour le contenu de la réponse à
«Rechercher des métadonnées». Il sera fixé à « fre ».
IV.2.1.
Paramètre
d’interrogation
Le paramètre d’interrogation
contient la combinaison de critères de recherche et des opérateurs de recherche
précisés dans les parties suivantes.
IV.2.1.1.
Liste des
critères de recherche
INSPIRE propose
une liste de critères de recherche obligatoirement supportés par le service de
recherche.
Exigence
INSPIRE : (TG
IR4)
Un service de recherche
doit supporter au moins les critères définis dans le tableau 1.
Ces critères
entrent dans deux catégories :
● ceux définis dans le standard CSW ISO
AP ; (3ème colonne du tableau)
● ceux propres à INSPIRE. (4ème
colonne du tableau)
Tableau
1
Critères de recherche
minimaux |
Eléments de métadonnée
INSPIRE |
Elément requêtable CSW ISO APP |
Element requêtable additionnel INSPIRE |
XPath de la métadonnée ISO |
Mots-clés |
Mots-clé |
Subject |
|
identificationInfo.AbstractMD_Identification.descriptiveKeywords.MD_Keywords.keyword |
Classification
des séries et services de données géographiques (pour les séries de données
géographiques et les ensembles de séries de données géographiques) |
Catégorie thématique |
TopicCategory |
|
identificationInfo.MD_DataIdentification.topicCategory |
Classification
des données et services géographiques (pour les services de données
géographiques) |
Type de
service de données géographiques |
ServiceType |
|
identificationInfo.SV_ServiceIdentification.serviceType |
Qualité
et validité des séries de données géographiques |
Généalogie |
|
Lineage (CharacterString) |
dataQualityInfo/*/lineage/*/statement |
Qualité et
validité des séries de données géographiques |
Résolution spatiale |
SpatialResolution |
|
identificationInfo.MD_DataIdentification.spatialResolution.MD_Resolution.equivalentScale.MD_RepresentativeFraction.denominator Ou identificationInfo.MD_DataIdentification.spatialResolution.MD_Resolution.distance.gco:Distance Ou identificationInfo.MD_DataIdentification.spatialResolution.MD_Resolution.distance.gco:Distance@uom |
Degré de conformité par rapport aux règles de mise en oeuvre prévues à l’article 7, paragraphe 1, de la
directive 2007/2/CE |
Spécification |
|
SpecificationTitle (CharacterString) |
dataQualityInfo/*/report/*/result/*/specification/*/title |
|
|
|
SpecificationDate (Date) |
dataQualityInfo/*/report/*/ result/*/specification/*/date |
|
|
|
SpecificationDateType (CodeList) |
dataQualityInfo/*/report/*/ result/*/specification/*/date/*/dateType |
Degré de conformité par rapport aux règles de mise en oeuvre prévues à l’article 7, paragraphe 1, de la
directive 2007/2/CE |
Degré |
|
Degree (Boolean) |
dataQualityInfo/*/report/*/result/*/pass |
Situation géographique |
Rectangle de délimitation géographique |
BoundingBox |
|
identificationInfo.MD_DataIdentification.extent.EX_Extent.geographicElement.EX_GeographicBoundingBox |
Conditions applicables à l’accès aux séries et aux
services de données géographiques, ainsi qu’à leur utilisation |
Conditions applicables à l’accès et à l’utilisation |
|
ConditionApplyingToAccessAndUse (Characterstring) |
identificationInfo[1]/*/r esourceConstraints/*/useLimitation |
Conditions applicables à l’accès aux séries et aux services
de données géographiques, ainsi qu’à leur utilisation |
Restrictions concernant l’accès public |
|
AccessConstraints (CodeList) |
identificationInfo[1]/*/resourceConstraints/*/accessConstraints |
|
|
|
OtherConstraints (CharacterString) |
identificationInfo[1]/*/resourceConstraints/*/otherConstraints |
|
|
|
Classification (CodeList) |
identificationInfo[1]/*/resourceConstraints/*/classification |
Autorités publiques chargées de l’établissement, de la gestion,
de la maintenance et de la diffusion des séries et services de données
géographiques |
Instance responsable |
OrganisationName |
|
identificationInfo.AbstractMD_Identification.pointOfContact.CI_ResponsibleParty.organisationName |
Autorités publiques chargées de l’établissement, de la
gestion, de la maintenance et de la diffusion des séries et services de
données géographiques |
Rôle de l’instance responsable |
|
ResponsiblePartyRole (CodeList) |
identificationInfo[1]/*/p ointOfContact/*/role |
|
intitulé de la ressource; |
Title |
|
identificationInfo.AbstractMD_Identification.citation.CI_Citation.title |
|
résumé de la ressource; |
Abstract |
|
identificationInfo.AbstractMD_Identification.abstract |
|
type de ressource; |
Type |
|
hierarchyLevel.MD_ScopeCode/@codeListValue |
|
identificateur unique de la ressource; |
ResourceIdentifier |
|
identificationInfo.
AbstractMD_Identification.citation.CI_Citation.identifier.MD_Identifier.code |
|
Référence temporelle |
TemporalExtent PublicationDate RevisionDate CreationDate |
|
identificationInfo.AbstractMD_Identification.citation.CI_Citation.date.CI_Date[dateType.CI_DateTypeCode.@codeListValue=…].date.Date |
Recommandations aux éditeurs :
Les éditeurs de logiciels de
services de recherche devront supporter les critères de recherches propres à
INSPIRE en plus de ceux définis dans le standard CSW ISO AP.
Exigence INSPIRE
Pour permettre la recherche de
ressources par une combinaison de critères de recherche, le service de
recherche devra pouvoir prendre en charge des opérateurs logiques et de
comparaison.
Pour permettre la recherche
de la ressource sur la base de la situation géographique de celle-ci, le
service de recherche devra pouvoir prendre en charge l’opérateur géographique
« intersecte ».
Recommandations
Les opérateurs doivent être
insensibles à la casse.
Exigence INSPIRE (Reg 4)
La fonction «Publier des
métadonnées» permet la publication d’éléments de métadonnées Inspire relatifs à
des ressources dans le service de recherche. Il existe deux possibilités:
— un mécanisme
d’introduction: mécanisme permettant de modifier des éléments de métadonnées
Inspire relatifs à des ressources accessibles à partir du service de recherche,
— un mécanisme d’extraction:
mécanisme permettant notamment au service de recherche de l’État membre
d’extraire à distance des éléments de métadonnées Inspire relatifs à des
ressources.
Le service doit pouvoir
prendre en charge une de ces deux possibilités au moins.
Ce mécanisme (dit “push”) permet d’introduire, de mettre à jour ou de
supprimer les métadonnées dans le catalogue.
Il correspond à l’opération « Transaction » de CSW ISO AP.
Ce mécanisme est utilisé quand on veut ajouter, mettre à jour ou supprimer
seulement une partie des métadonnées.
Ce mécanisme (dit « pull ») permet que le catalogue aille
moissonner les métadonnées sur un autre catalogue.
Il correspond à l’opération « Harvest »
(moissonnage) de CSW ISO AP.
Le moissonnage permet de mettre à jour l’ensemble des métadonnées du
catalogue moissonné dans le catalogue qui moissonne. Cette opération est plus
simple à mettre en œuvre. Néanmoins, le filtrage des métadonnées qui doivent
être ajoutées ou non est plus complexe à mettre en œuvre.
Les différentes méthodes sont détaillées dans la partie « Comment
dialoguer entre catalogues ? » du guide de
gestion des catalogues de métadonnées INSPIRE.
Exigence INSPIRE (TG IR 13)
Le moissonnage
doit se faire avec les paramètres suivants :
RESOURCETYPE =
http://schemas.opengis.net/iso/19139/20060504/gmd RESOURCEFORMAT =
application/xml.
Exigence
INSPIRE : (REG
5.1)
Tout service de recherche
doit être décrit par une métadonnée conforme au guide
de saisie des métadonnées de service. Il doit lui-même diffuser cette
métadonnée et la publier sur le Geocatalogue.
Le guide
technique INSPIRE définit deux méthodes de mesure de la qualité du service :
1. Les mesures se font directement à la sortie du service, sans passer par un
réseau.
2. Les mesures se font depuis un nœud central. Dans ce cas, le temps de
transit dans le réseau doit être retranché des mesures de performances du
service. Ce temps de transit sera mesuré en comparant les temps de réponse d’un
même jeu de requêtes depuis le nœud central et depuis la sortie du service.
Recommandations
nationales :
La première méthode devra
être privilégiée. |
Commentaire
La qualité ainsi
mesurée est la qualité “intrinsèque” du service. Elle ne tient pas compte des
différents problèmes réseau pouvant survenir. Pour se rapprocher du ressenti de
l’utilisateur, il est conseillé de réaliser également des mesures depuis un
nœud distant.
Par “situation normale”, on entend les périodes en
dehors des périodes de crête de charge, soit 90 % du temps.
Exigence
INSPIRE : (REG
5.1)
Le temps de
réponse pour l'envoi de la première réponse à une demande à un service de
recherche est de trois secondes au maximum dans une situation normale.
Recommandation nationales: (TG part 5.2)
Les mesures de
performance doivent être réalisées en continu pendant toute la durée de vie du
service. Un minimum de 10 requêtes (choisies parmi un jeu de requêtes de
références) par heures doit être envoyé au service. Ces requêtes de référence
doivent être des requêtes de type « rechercher des métadonnées » (GetRecords) avec des paramètres variant d’une requête à
l’autre. Le nombre de résultat (maxRecords) doit être
fixé à 10.
Le résultat de la requête doit contenir a
minima les éléments de métadonnée INSPIRE correspondant au filtre.
Commentaire
Selon la surveillance qui est faite du
service et si le niveau de requête est suffisant, les mesures de performances
peuvent être réalisées sur des requêtes “naturelles” c’est à-dire envoyées par
des utilisateurs réels.
Exemple de
requête
En POST :
< ?xml version= »1.0 » encoding= »ISO-8859-1 » standalone= »no » ?>
<csw:GetRecords xmlns:csw=”http://www.opengis.net/cat/csw/2.0.2” xmlns:ogc=”http://www.opengis.net/ogc” service=”CSW” version=”2.0.2” resultType=”results” startPosition=”1” maxRecords=”5” outputFormat=”application/xml” outputSchema=” http://www.isotc211.org/2005/gmd “ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd” xmlns:gml=”http://www.opengis.net/gml” xmlns:gmd=”http://www.isotc211.org/2005/gmd” xmlns:apiso=”http://www.opengis.net/cat/csw/apiso/1.0”>
<csw:Query typeNames=”csw:Record”>
<csw:ElementSetName>full</csw:ElementSetName>
<csw :Constraint
version= »1.1.0 »>
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>AnyText</ogc:PropertyName>
<ogc:Literal>dataset</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:BBOX>
<ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>
<gml:Envelope>
<gml:lowerCorner>47 -5</gml:lowerCorner>
<gml:upperCorner>55 20</gml:upperCorner>
</gml:Envelope>
</ogc:BBOX>
</ogc:And>
</ogc:Filter>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
En KVP :
http://.../csw?SERVICE=CSW&VERSION=2.0.2&STARTPOSITION=1&MAXRECORDS=10&REQUEST=GetRecords&RESULTTYPE=results&OUTPUTFORMAT=application/xml&OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&TYPENAMES=gmd:MD_Metadata&ELEMENTSETNAME=brief&CONSTRAINT_LANGUAGE_VERSION=1.1.0&CONSTRAINTLANGUAGE=CQL_TEXT&NAMESPACE=xmlns%28ogc=http://www.opengis.net/ogc%29,xmlns%28gml=http://www.opengis.net/gml%29,xmlns%28apiso=http://www.opengis.net/cat/csw/apiso/1.0%29,xmlns%28csw=http://www.opengis.net/cat/csw/2.0.2%29&constraint=apiso:title%20Like%20%27%26urbanisme%26%27&
Critère : 90% des temps de réponse à
ces requêtes devront être inférieurs à 3s
Exigence
INSPIRE : (REG
5.2)
Le nombre minimal
de demandes adressées à un service de recherche qui seront prises en compte
simultanément en respectant le critère de performance “qualité du service” est
de 30 par seconde.
Recommandation nationale : (TG Part 5.3)
La capacité du
service doit être mesurée en envoyant un ensemble de requêtes au service. Le
rythme d’envoi de ces requêtes doit être de 30 requêtes envoyées toutes les
secondes au service pendant une minute. Cette mesure devra être faite au moins
une fois avant l’ouverture du service puis régulièrement, lors des périodes de
maintenance, pour s’assurer que la capacité du service est stable.
Le jeu de
requêtes doit être composé de 10% de requêtes « Accéder aux métadonnées du
service de recherche » et 90% de requêtes « Rechercher des
métadonnées ».
Critère : Le temps de réponse de
chaque requête de cet ensemble devra être inférieur à 3s
Exigence
INSPIRE : (REG
5.3)
La probabilité
qu'un service en réseau soit disponible doit être de 99 %.
Recommandation nationale : (TG Part 5.4)
La disponibilité
doit être de 99% sur un an soit une indisponibilité non planifiée d’un maximum
de 3,63 jours par an. Les indisponibilités planifiées (i.e. notifiées à la
communauté au minimum une semaine au préalable, via un email aux utilisateurs
ou un affichage sur un portail) n’interviennent pas dans le calcul. Néanmoins,
il est recommandé que ces indisponibilités planifiées ne dépassent pas 10
heures par mois.
Les
indisponibilités devront être mesurées par des requêtes envoyées au service. Un
minimum de 10 requêtes par heure devra être envoyé. Ces requêtes pourront être
les mêmes que celles visant à s’assurer de la performance du service.
Critère : L’indisponibilité ne doit
pas dépasser 3,63 jours par an hors indisponibilité planifiée.
L’un des
principaux cas d’utilisation du service de recherche est de rechercher une
métadonnée de données pour avoir ensuite accès à la donnée via un service de
visualisation ou de téléchargement.
Le logiciel
client du service de recherche doit faciliter ce cas d’utilisation pour
l’utilisateur. Il doit donc être en mesure de réaliser, de façon transparente
pour l’utilisateur.
L’utilisateur
doit donc être en mesure une fois qu’il a sélectionné la donnée qui l’intéresse
d’accéder au service qui sert cette donnée.
Ce lien peut être
fait de deux manières différentes :
1. La métadonnée de donnée contient un lien vers le service où est accessible
la donnée
2. La métadonnée du service qui sert la donnée contient un lien vers la
métadonnée Lien de la
métadonnée de donnée vers le service
Le lien
direct de la métadonnée de donnée vers un service qui sert la donnée doit se
faire uniquement si le gestionnaire de la donnée veut mettre en avant un
service ou une application « officielle » permettant de servir la donnée (et
dont il maîtrise également la gouvernance).
Ce lien se fait
dans les métadonnées INSPIRE en utilisant l’élément de métadonnées «
Localisateur de la ressource ».
La difficulté de
ce lien est qu’il faut non seulement préciser l’adresse du service qui met à
disposition la ressource mais également dans quel couche ou type d’objet est
disponible la ressource.
Deux scénarios
sont proposés pour réaliser ce lien.
1. Un scénario A,
établissant la cible à long terme.
L’URL
indiquée dans le champ linkage sera celle du document de capacité de service,
contenant ainsi le type de service. La couche en lien avec la donnée sera
déterminée grâce aux éléments « MetadataURL »
présents dans les capacités du service. La présence d’un élément CI_OnlineFunctionCode [i]fixé
à « download » permettra au client du service de
catalogage de savoir que l’Url pointe directement sur la ressource en
téléchargement. La présence d’un élément CI_OnlineFunctionCode
fixé à « information » permettra au client du service de catalogage de savoir
que l’Url pointe vers une ressource en visualisation.
Exemple
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.geopicardie.fr/geoserver/wms?service=WMS&request=GetCapabilities</gmd:URL>
</gmd:linkage>
<gmd:function>
<gmd:CI_OnLineFunctionCode
codeList=”...#CI_OnlineFunctionCode”
codeListValue=”information”>information</gmd:CI_OnlineFunctionCode>
</gmd:CI_OnlineResource>
2. Un scénario
B, à court terme, qui conserve les pratiques actuelles.
Le champ
linkage précise l’adresse du service, le champ « protocol
» précise de quel type de service il s’agit (OGC:WMS, OGC:WFS, OGC:WMTS,
OGC:CSW) et le champ « name » contient le nom de la
couche.
Exemple
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://www.geopicardie.fr/geoserver/wms</gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>OGC:WMS</gco:CharacterString>
</gmd:protocol>
<gmd:name>
<gco:CharacterString>dept60:ENS_CG60</gco:CharacterString>
</gmd:name>
</gmd:CI_OnlineResource>
Ce lien peut
également permettre, grâce au fonctionnement du catalogue, de retrouver le
service qui sert une donnée précise. L'enchaînement d’opérations se fait alors
comme suit :
Une première
requête permet d’obtenir les séries de données qui correspondent aux critères
et surtout leurs identifiants.
Une seconde
requête permet de connaître les services qui ont ces identifiants dans leurs
éléments de ressources couplées (operatesOn), en
filtrant éventuellement sur un type de services particulier.
Pour lier les
services aux données requêtées par l’utilisateur il faut exploiter l’élément “Ressources
couplées” (operatesOn) de la métadonnée du
service.
L’identificateur
unique de la ressource de la donnée
(MD_DataIdentification.citation.CI_Citation.identifier.MD_Identifier.code) doit
être égal à la ressource couplée de la métadonnée de service
(SV_ServiceIdentification.operatesOn.MD_DataIdentification.citation.CI_Citation.identifier.MD_Identifier.code).
Exemple de
requête
<GetRecords resultType="results" outputFormat="application/xml"
outputSchema="http://www.isotc211.org/2005/gmd" startPosition="1"
maxRecords="5">
<Query typeNames="gmd:MD_Metadata">
<ElementSetName typeNames="">brief</ElementSetName>
<Constraint version="1.0.0">
<ogc:Filter>
<ogc:And>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>apiso:type</ogc:PropertyName>
<ogc:Literal>service</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>apiso:ServiceType</ogc:PropertyName>
<ogc:Literal>WMS</ogc:Literal>
</ogc:PropertyIsEqualTo>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>apiso:OperatesOnIdentifier</ogc:PropertyName>
<ogc:Literal>{Identificateur unique de la ressource}</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:And>
</ogc:Filter>
</Constraint>
</Query>
</GetRecords>
Cet exemple de filtre
requête les services de type WMS qui diffusent la donnée qui a comme
identificateur unique de ressource {Identificateur unique de la ressource}.
Pour que ce lien
soit possible il est primordial que l’élément ressource couplée soit renseigné
de manière stricte.
L’élément “Ressources
couplées” (operatesOn) doit être renseigné comme
suit :
● Scénario A : (L’identificateur unique de la ressource est
sous la forme d’une Url qui pointe vers la métadonnée de la ressource)
L’élément “Ressource couplée” est renseigné en indiquant l’Url (=Identificateur
unique de la ressource), suffixée par #MD_DataIdentification
● Scénario B : (L’identificateur unique de la ressource est
sous une autre forme) L’élément “Ressource couplée” est renseigné en indiquant
une requête qui pointe vers la métadonnée de la ressource, suffixé par #MD_DataIdentification
Par exemple : http://.../csw?SERVICE=CSW&VERSION=2.0.2&STARTPOSITION=1&MAXRECORDS=10&REQUEST=GetRecords&RESULTTYPE=results&OUTPUTFORMAT=application/xml&OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&TYPENAMES=gmd:MD_Metadata&ELEMENTSETNAME=brief&CONSTRAINT_LANGUAGE_VERSION=1.1.0&CONSTRAINTLANGUAGE=CQL_TEXT&NAMESPACE=xmlns%28ogc=http://www.opengis.net/ogc%29,xmlns%28gml=http://www.opengis.net/gml%29,xmlns%28apiso=http://www.opengis.net/cat/csw/apiso/1.0%29,xmlns%28csw=http://www.opengis.net/cat/csw/2.0.2%29&constraint=apiso:identifier%20Like%20%27%26{Identificateur de la ressource}%26%27&#MD_DataIdentification
[i] Liste de valeurs possibles pour CI_OnLineFunctionCode (fonctionnalité offerte par la
ressource) :
· order [commande en ligne : formulaire pour
obtenir la ressource],
· offlineAccess [Accès hors ligne : information pour
requérir la ressource],
· information [Information : description de la
ressource en ligne],
· download [Téléchargement : transfert de la
ressource d'un système à un autre]