Service de catalogues du géoportail
Si le géoportail était une voiture, le service de catalogues du géoportail serait son moteur. Il serait chargé de contrôler les autres composants, de gérer les transactions et de fournir l’interface centralisée nécessaire à la découverte, la publication et la validation des métadonnées. Dans la version 9.3, le géoportail incluait une implémentation de la spécification d’interface CS-W (Catalog Service for the Web, service de catalogues pour le Web) 2.0.2 de l’OGC (Open Geospatial Consortium). Le lien menant à ce service suit généralement le format ci-dessous :
http://serverName:port/geoportal/csw?Request=GetCapabilities&Service=CSW&Version=2.0.2où
- serverName est le nom du serveur Web du géoportail
- port est le numéro de port du géoportail
Détails de l’interface CS-W
- OPERATIONS PRISES EN CHARGE : l’implémentation CS-W du géoportail prend en charge les requêtes CS-W obligatoires, ainsi que les requêtes GetRecordsById et Transaction facultatives. Les requêtes de transaction publient ou mettent à jour des documents entiers uniquement. La requête de transaction delete repose sur l’identificateur de fichier seul. Les autorisations de l’éditeur du géoportail pour exécuter les requêtes de transaction doivent être comprises dans l’en-tête HTTP de l’application cliente qui envoie la requête CS-W. L’en-tête de l’application cliente et les informations d’identification doivent respecter les normes d’autorisation HTTP. Les opérations GetDomain et Harvest ne sont pas prises en charge pour le moment.
Remarque :
Dans le tableau ci-dessous, la colonne Obligation indique si l’opération est obligatoire ou facultative. Les opérations obligatoires sont nécessaires pour que le service soit au minimum conforme à cette spécification CS-W. Les opérations facultatives ne sont pas exigées par la spécification CS-W.
Tableau 1 - Opérations CS-W prises en charge
Pour chacune des opérations prises en charge, l’implémentation CS-W du géoportail prend en charge les implémentations KVP, POST et SOAP.Opération Obligation Prise en charge Liaison GetCapabilities
obligatoire
oui
KVP+POST+SOAP
DescribeRecord
obligatoire
oui
KVP+POST+SOAP
GetRecords
obligatoire
oui
KVP+POST+SOAP
GetRecordById
facultative
oui
KVP+POST+SOAP
GetDomain
facultative
Non
N/D
Harvest
facultative
Non
N/D
Transaction
facultative
oui
POST+SOAP
- ESPACES DE NOMS : le tableau suivant répertorie les déclarations de préfixe des espaces de noms utilisées dans ce document, ainsi que la spécification et la version associées.
Tableau 2 - Déclarations de préfixe des espaces de noms
Préfixe URI de l’espace de noms Spécification csw
http://www.opengis.net/cat/csw/2.0.2
OGC Catalogue Services 2.0.2, Corrigendum 2 Release, OGC 07-006r1
ows
http://www.opengis.net/ows
OGC Common 1.0.0
ogc
http://www.opengis.net/ogc
OGC Filter 1.1.0
gml
http://www.opengis.net/gml
GML 3.0.0
dc
http://purl.org/dc/elements/1.1/
Dublin Core
dct
http://purl.org/dc/terms
Termes Dublin Core
gmd
http://www.isotc211.org/2005/gmd
ISO 19115/19139
SOAP-ENV
http://schemas.xmlsoap.org/soap/envelope
SOAP Version 1.1
env
http://www.w3.org/2003/05/soap-envelope/
SOAP Version 1.2
- PRINCIPALES PROPRIETES INTERROGEABLES : l’implémentation CS-W du géoportail prend en charge les principales propriétés CS-W interrogeables, celles définies dans le profil de l’application ISO CSW ainsi que d’autres propriétés interrogeables (applicables aux métadonnées ISO uniquement). Le modèle d’informations du géoportail repose sur des documents XML et une base de données spatiales. Ses documents XML contiennent des éléments FGDC, ISO 19139, Dublin Core ou d’autres éléments et attributs XML. Le tableau ci-dessous permet d’associer les principales propriétés interrogeables du catalogue OGC à des éléments du modèle d’informations du géoportail. Les propriétés interrogeables restantes qui reposent sur des métadonnées ISO 19115 et ISO 19119 respectent scrupuleusement les noms et associations définies dans la spécification OpenGIS® Catalogue Services Specification 2.0.2 - ISO Metadata Application Profile et Technical Guidance to implement INSPIRE Discovery Services Technical Guidance Version 2.12.
Tableau 3 - Description et association des principales propriétés interrogeables
Nom Alias Définition Type de données Filtres des propriétés de l’OGC autorisés Association avec le modèle d’informations dc:identifier
fileIdentifier, fid, id, identifier, fileID
Référence claire à la ressource dans un contexte donné.
chaîne
Tous *
ISO 19139 : /gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString Dublin Core :/rdf:RDF/rdf:Description/dc:identifier FGDC : identifiant attribué par le système, car FGDC n’inclut pas de provision à cet effet.
dct:modified
modified, dc:date, date
Date de la dernière modification de la ressource
Chaîne au format de date (aaaa-mm-jj)
Tous * sont autorisés, sauf pour ogc:PropertyIsLike
Stockage dans la base de données. Prenez connaissance des informations concernant le système de fichiers.
ows:BoundingBox
geometry, envelope
Emprise permettant d’identifier une zone d’intérêt géographique.
gml:Envelope, gml:Point
Ensemble d’opérateurs spatiaux (voir la section ci-dessous sur les requêtes spatiales)
Les exemples portent sur "West", mais vous pouvez utiliser la même syntaxe pour East, North et South : ISO 19139 : /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:extent/gmd:EX_Extent/gmd:geographicElement/gmd:EX_GeographicBoundingBox/gmd:westBoundLongitude/gco:Decimal Dublin Core, deux options (east = UpperCorner, north = UpperCorner, south = LowerCorner) : /rdf:RDF/rdf:Description/ows:WGS84BoundingBox/westbc /rdf:RDF/rdf:Description/ows:WGS84BoundingBox/ows:LowerCorner FGDC : west: /metadata/idinfo/spdom/bounding/westbc
anyText
csw:anyText
Cette propriété interrogeable représente l’entrée de catalogue dans son ensemble.
chaîne
ogc:PropertyIsLike
Ces éléments sont signalés comme comportant une des significations suivantes : titre, résumé, mots-clés ou corps. Reportez-vous à la section "Fonctionnement de l’indexation Lucene" pour connaître les paramètres par défaut de ces significations et savoir comment les modifier.
dc:title
title
Nom donné à la ressource
chaîne
Tous *
ISO 19139 : /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString Dublin Core : /rdf:RDF/rdf:Description/dc:title FGDC : /metadata/idinfo/citation/citeinfo/title
dc:abstract
abstract
Description générale de la ressource
chaîne
Tous *
ISO 19139 : /gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:abstract/gco:CharacterString Dublin Core : /rdf:RDF/rdf:Description/dc:description FGDC : /metadata/idinfo/descript/abstract
dc:subject
subject
Sujet du contenu de la ressource. Controlled-list.
chaîne
ogc:PropertyIsEqualTo
Les valeurs acceptées sont basées sur les codes de catégorie de rubrique ISO 19115 : farming biota boundaries climatologyMeteorologyAtmosphere economy elevation environment geoscientificInformation health imageryBaseMapsEarthCover intelligenceMilitary inlandWaters location oceans planningCadastre society structure transportation utilitiesCommunication ISO 19139:/gmd:MD_Metadata/gmd:identificationInfo/gmd:MD_DataIdentification/gmd:topicCategory/gmd:MD_TopicCategoryCode Dublin Core: /rdf:RDF/rdf:Description/dc:subject FGDC: /metadata/idinfo/keywords/theme[1]/themekey
dc:type
type, dc:format, format
Manifestation physique ou numérique de la ressource.
chaîne
Tous * sont autorisés, mais seul "ogc:PropertyIsEqualTo" semble le plus logique.
Les valeurs acceptées sont les suivantes : liveData downloadableData offlineData staticMapImage document application geographicService clearinghouse mapFiles geographicActivities ISO 19139 : choix entre les normes de contenu ISO19115 et ISO19119. Dublin Core : /rdf:RDF/rdf:Description/dc:type FGDC : /metadata/distinfo/resdesc
Remarque :
*"All" (Tous) implique tous les opérateurs de comparaison OGC :
- ogc:PropertyIsEqualTo
- ogc:PropertyIsNotEqualTo
- ogc:PropertyIsLessThan
- ogc:PropertyIsGreaterThan
- ogc:PropertyIsLessThanOrEqualTo
- ogc:PropertyIsGreaterThanOrEqualTo
- ogc:PropertyIsLike
- REQUETES SPATIALES : les requêtes de type Envelope sont codées à l’aide des prédicats spatiaux du filtre de l’OGC. L’API CS-W du géoportail ne prend pas en charge tous les prédicats spatiaux disponibles dans la spécification du filtre.
Tableau 4 - Prédicats spatiaux pris en charge
Prédicat spatial du filtre de l’OGC Prédicat spatial CS-W du géoportail ogc:BBOX
Overlaps
ogc:Intersects
Overlaps
ogc:Within
Winthin
- overlaps - recherche les documents de métadonnées dans lesquels une partie ou l’intégralité de l’enveloppe des documents de métadonnées entre dans la zone de recherche spécifiée. Tout ce que touche la zone de recherche est trouvé.
- within - recherche les documents de métadonnées dans lesquels l’enveloppe des documents de métadonnées entre entièrement dans la zone de recherche spécifiée. L’enveloppe spatiale des documents peut toucher la limite de la zone de recherche.
- Les opérandes de géométrie pris en charge pour les requêtes spatiales sont les suivants :
- gml:Envelope
- gml:Point
- OPERATEURS DE COMPARAISON : les opérateurs de comparaison sont inclus dans une requête csw:GetRecord :
- Between
- EqualTo
- GreaterThan
- GreaterThanEqualTo
- LessThan
- LessthanEqualTo
- Like
- NotEqualTo
- NullCheck
- PARAMETRES : le tableau suivant présente les paramètres appropriés à chaque opération prise en charge.
Tableau 5 - Paramètres pris en charge
Opération Paramètre Valeurs acceptées DescribeRecord
typeName
csw:Record, csw:SummaryRecord, csw:BriefRecord
outputFormat
text/xml, application/xml
GetRecords
typeNames
csw:Record
outputFormat
text/xml, application/xml
outputSchema
http://www.opengis.net/cat/csw/2.0.2
http://www.isotc211.org/2005/gmd
resultType
results, hits, validate
ElementSetName
summary, brief, full
constraintLanguage
Filter
GetRecordById
ElementSetName
summary, brief, full
outputFormat
text/xml, application/xml
outputSchema
http://www.opengis.net/cat/csw/2.0.2
http://www.isotc211.org/2005/gmd
service
CSW, http://www.opengis.net/cat/csw/2.0.2
version
2.0.2
PostEncoding
XML
- PROPRIETES POUVANT ETRE RENVOYEES :
Pour la structure en sortie csw:Record, les enregistrements renvoyés contiennent une sélection des principales propriétés pouvant être renvoyées, dont le sous-ensemble dépend de l’ensemble des éléments. Lorsque request=GetRecordById, outputSchema=original et ElementSetName=full, l’interface CS-W du géoportail renvoie le document de métadonnées d’origine, tel qu’il a été publié dans le géoportail. Pour la structure en sortie gmd:MD_Metadata, les enregistrements renvoyés contiennent une sélection d’éléments de métadonnées ISO, dont le sous-ensemble dépend de l’ensemble des éléments, tel que défini dans le profil d’application ISO CSW de l’OGC.
Tableau 6 - Propriétés pouvant être renvoyées
Jeu d’éléments Propriétés pouvant être renvoyées brief
dc:identifier, dc:title, dc:type, ows:Envelope
Summary
dc:identifier, dc:title, dc:type, dc:format, ows:Envelope, dc:subject, dct:modified, dc:abstract
Full
dc:identifier, dc:title, dc:type, ows:Envelope, dc:subject, dct:modified, dc:abstract, dct:references
Requêtes d’exemple
Cette section propose des requêtes d’exemple.
- GetCapabilities : les requêtes KVP, POST et SOAP sont prises en charge par le service CS-W du géoportail.
KVP
?REQUEST=GetCapabilities&SERVICE=CSW&version=2.0.2
POST
<?xml version="1.0" encoding="UTF-8"?> <csw:GetCapabilities xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" xmlns="http://www.opengis.net/ows"> </csw:GetCapabilities>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetCapabilities xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" xmlns="http://www.opengis.net/ows"> </csw:GetCapabilities> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- DescribeRecord
KVP
?REQUEST=DescribeRecord&service=CSW&version=2.0.0
POST
<csw:DescribeRecord service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"></csw:DescribeRecord>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:DescribeRecord service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"> </csw:DescribeRecord> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- GetRecords : une requête GetRecords nécessite une langue de contrainte, et comme le service CS-W du géoportail ne prend pas en charge le langage CQL (Common Query Language), seules les requêtes de filtre XML avec le style POST sont prises en charge.
AnyText KVP
N/D
POST
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsLike wildCard="*" escape="\" singleChar="?"> <ogc:PropertyName>AnyText</ogc:PropertyName> <ogc:Literal>data</ogc:Literal> </ogc:PropertyIsLike> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>liveData</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>imageryBaseMapsEarthCover</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope> <gml:lowerCorner>-118.3 32.1</gml:lowerCorner> <gml:upperCorner>-87.1 45.2</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:And> <ogc:PropertyIsLike wildCard="*" escape="\" singleChar="?"> <ogc:PropertyName>AnyText</ogc:PropertyName> <ogc:Literal>data</ogc:Literal> </ogc:PropertyIsLike> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:type</ogc:PropertyName> <ogc:Literal>liveData</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>imageryBaseMapsEarthCover</ogc:Literal> </ogc:PropertyIsEqualTo> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope> <gml:lowerCorner>-118.3 32.1</gml:lowerCorner> <gml:upperCorner>-87.1 45.2</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:And> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords> </SOAP-ENV:Body> </SOAP-ENV:Envelope >
Title KVP
N/D
POST
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike wildCard="*" escape="\" singleChar="?"> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:Literal>Sample Document</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords>
SOAP
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsLike wildCard="*" escape="\" singleChar="?"> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:Literal>Sample Document</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Subject KVP
N/D
POST
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>imageryBaseMapsEarthCover</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords>
SOAP
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:subject</ogc:PropertyName> <ogc:Literal>imageryBaseMapsEarthCover</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Modified KVP
N/D
POST
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dct:modified</ogc:PropertyName> <ogc:Literal>2000-01-01</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords>
SOAP
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>dct:modified</ogc:PropertyName> <ogc:Literal>2000-01-01</ogc:Literal> </ogc:PropertyIsGreaterThan> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Envelope KVP
N/D
POST
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope> <gml:lowerCorner>-118.3 32.1</gml:lowerCorner> <gml:upperCorner>-87.1 45.2</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW" resultType="results" startPosition="1" maxRecords="10"> <csw:Query typeNames="csw:Record" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"> <csw:ElementSetName>full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:BBOX> <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName> <gml:Envelope> <gml:lowerCorner>-118.3 32.1</gml:lowerCorner> <gml:upperCorner>-87.1 45.2</gml:upperCorner> </gml:Envelope> </ogc:BBOX> </ogc:Filter> </csw:Constraint> <ogc:SortBy> <ogc:SortProperty> <ogc:PropertyName>dc:title</ogc:PropertyName> <ogc:SortOrder>ASC</ogc:SortOrder> </ogc:SortProperty> </ogc:SortBy> </csw:Query> </csw:GetRecords> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- GetRecordById
KVP
?REQUEST=GetRecordById&service=CSW&version=2.0.2&Id=B6A0EC8C-826D-11D8-BADF-080020ECC953
POST
<<csw:GetRecordById xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" version="2.0.2" service="CSW"> <csw:Id>B6A0EC8C-826D-11D8-BADF-080020ECC953</csw:Id></csw:GetRecordById>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:GetRecordById xmlns:csw=http://www.opengis.net/cat/csw/2.0.2 version="2.0.2" service="CSW"> <csw:Id>B6A0EC8C-826D-11D8-BADF-080020ECC953</csw:Id> </csw:GetRecordById> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- Transaction d’insertion :
POST
<?xml version="1.0" encoding="UTF-8"?> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" > <csw:Insert> … le document de métadonnées est inséré ici sans prologue xml… </csw:Insert> </csw:Transaction>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" > <csw:Insert> … le document de métadonnées est inséré ici sans prologue xml… </csw:Insert> </csw:Transaction> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- Transaction de mise à jour : la requête de mise à jour permet de remplacer des documents entiers uniquement.
POST
<?xml version="1.0" encoding="UTF-8"?> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" > <csw:Update> … le document de métadonnées est inséré ici sans prologue xml… </csw:Update> </csw:Transaction>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" > <csw:Update> … le document de métadonnées est inséré ici sans prologue xml… </csw:Update> </csw:Transaction> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- Transaction de suppression : la requête de suppression permet de supprimer des documents entiers uniquement en fonction de l’identifiant. Les identifiant sont renvoyés dans la réponse GetRecords. L’objectif du workflow est de trouver les enregistrements qui répondent à certains critères à l’aide de la requête GetRecords, puis de supprimer les enregistrements renvoyés en fonction de l’identifiant dc:identifier.
POST
<?xml version="1.0" encoding="UTF-8"?> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"> <csw:Delete> <csw:Constraint version="2.0.2"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:identifier</ogc:PropertyName> <ogc:Literal>A0522EE9-8C45-4399-8B73-7CCFC2BB9F60</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Delete> </csw:Transaction>
SOAP
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <csw:Transaction service="CSW" version="2.0.2" xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:dc="http://www.purl.org/dc/elements/1.1/" xmlns:ogc="http://www.opengis.net/ogc"> <csw:Delete> <csw:Constraint version="2.0.2"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>dc:identifier</ogc:PropertyName> <ogc:Literal>A0522EE9-8C45-4399-8B73-7CCFC2BB9F60</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Delete> </csw:Transaction> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Langage WSDL du géoportail
Le langage wsdl associé aux extrémités SOAP CS-W du géoportail repose sur l’exemple de l’OGC qui se trouve à l’emplacement http://schemas.opengis.net/csw/2.0.2/examples/wsdl/2.0.2/. Les fichiers wsdl du géoportail associés à ses extrémités SOAP CS-W se trouvent dans http://<hôte>:<port>/geoportal/csw/service-wsdl.jsp, où <hôte> correspond au serveur hôte du géoportail et <port> désigne le numéro de port. Ils sont stockés dans le répertoire . Il s’agit des fichiers suivants :
- http-binding.wsdl
- kvp-binding.wsdl
- responses.wsdl
- service-wsdl.jsp
- soap-binding.wsdl
- xml-interfaces.wsdl
Vous avez un commentaire à formuler concernant cette rubrique ?