Katalog-Service des Geoportals
Wenn das Geoportal ein Auto wäre, wäre der Katalog-Service des Geoportals sein Motor. Er steuert andere Komponenten, verwaltet Transaktionen und bietet die zentrale Schnittstelle für die Suche, Veröffentlichung und Validierung von Metadaten. Ab Version 9.3 verfügt das Geoportal über eine Implementierung der Open Geospatial Consortium (OGC) Catalog Service for the Web (CS-W) 2.0.2-Schnittstellenspezifikation. Der Link zu diesem Dienst folgt in der Regel dem Format unten:
http://serverName:port/geoportal/csw?Request=GetCapabilities&Service=CSW&Version=2.0.2wobei
- serverName der Name des Geoportal-Webservers ist
- port die Portnummer des Geoportals ist
Einzelheiten der CS-W-Benutzeroberfläche
- UNTERSTÜTZTE OPERATIONEN: Die Geoportal CS-W-Implementierung unterstützt sowohl die verpflichtenden CS-W-Anforderungen als auch die optionalen GetRecordsById- und Transaction-Anforderungen. Die Transaktionsanforderungen veröffentlichen oder aktualisieren nur gesamte Dokumente. Die Transaktionsanforderung delete basiert ausschließlich auf dem Datei-Identifikator. Geoportal-Publisher-Berechtigungen zum Ausführen der Transaktionsanforderungen müssen im HTTP-Header in der Client-Anwendung erhalten sein, die die CS-W-Anforderung sendet. Der Header und die Anmeldeinformationen der Client-Anwendung müssen den Http-Autorisierungsstandards folgen. Die Operationen GetDomain und Harvest werden derzeit nicht unterstützt.
Hinweis:
In der Tabelle unten gibt die Spalte Verpflichtung an, ob die Operation verpflichtend oder optional ist. Verpflichtende Operationen, die für den Dienst erforderlich sind, müssen mit dieser CS-W-Spezifikation minimal kompatibel sein. Optionale Operationen sind laut CS-W-Spezifikation nicht erforderlich.
Tabelle 1: Unterstützte CS-W-Operationen
Für jede der unterstützten Operationen unterstützt die Geoportal CS-W-Implementierung KVP-, POST- und SOAP-Implementierungen.Operation Verpflichtung Unterstützt Bindung GetCapabilities
Verpflichtend
Ja
KVP+POST+SOAP
DescribeRecord
Verpflichtend
Ja
KVP+POST+SOAP
GetRecords
Verpflichtend
Ja
KVP+POST+SOAP
GetRecordById
optional
Ja
KVP+POST+SOAP
GetDomain
optional
Nein
N/A
Harvest
optional
Nein
N/A
Transaktion
optional
Ja
POST+SOAP
- NAMESPACES: Die folgende Tabelle listet die Namespace-Präfix-Deklarationen auf, die in diesem Dokument und den dazugehörigen Spezifikationen und Versionen verwendet werden.
Tabelle 2: Namespace-Präfix-Deklarationen
Präfix Namespace-URI Spezifikation 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
Dublin Core-Bedingungen
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
- WICHTIGE ABFRAGBARE EIGENSCHAFTEN: Die Geoportal CS-W-Implementierung unterstützt wichtige abfragbare Eigenschaften, und zwar die, die im CSW ISO-Anwendungsprofil unterstützt werden sowie zusätzliche abfragbare Eigenschaften (gilt nur für ISO-Metadaten). Das Geoportal-Informationsmodell wird von XML-Dokumenten und einer Spatial-Database gesichert. Seine XML-Dokumente enthalten FGDC, ISO 19139, Dublin Core oder andere XML-Elemente und Attribute. Unten befindet sich eine Tabelle, in der wichtige abfragbare Eigenschaften des OGC Catalog Elementen im Geoportal-Informationsmodell zugeordnet werden. Die übrigen abfragbaren Eigenschaften , die sich auf ISO 19115 und ISO 19119 Metadaten verlassen, folgen getreu den Namen und Zuordnungen, die in OpenGIS® Catalogue Services Specification 2.0.2 - ISO Metadata Application Profile und Technical-Guidance-Dokument zur Implementierung der INSPIRE Discovery Services Technical Guidance Version 2.12 definiert werden.
Tabelle 3: Wichtige abfragbare Beschreibung und Zuordnung
Name Aliasnamen Definition Datentyp Zulässige OGC-Eigenschaftenfilter Zuordnung zu Informationsmodell dc:identifier
fileIdentifier, fid, id, identifier, fileID
Eine eindeutige Referenz zur Ressource innerhalb eines gegebenen Kontextes.
Zeichenfolge
Alle *
ISO 19139: /gmd:MD_Metadata/gmd:fileIdentifier/gco:CharacterString Dublin Core:/rdf:RDF/rdf:Description/dc:identifier FGDC: Vom System vergebener Identifikator, da FGDC dafür keine Bestimmung enthält.
dct:modified
modified, dc:date, date
Datum, an dem die Ressource zuletzt geändert wurde.
Zeichenfolge im Datumsformat (JJJJ-MM-TT)
Sämtliche * sind zulässig, abgesehen von ogc:PropertyIsLike
Gespeichert in Datenbank. Gelesen aus den Dateisysteminformationen
ows:BoundingBox
geometry, envelope
Ein Begrenzungsrechteck zur Identifizierung eines geografischen Bereichs von Interesse.
gml:Envelope, gml:Point
Satz an räumlichen Operatoren (siehe Abschnitt unten zu räumlichen Abfragen)
Die Beispiele sind für "West", verwenden Sie eine ähnliche Syntax für Ost, Nord und Süd: 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, two 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
Dieser abfragbare Text stellt den Katalogeintrag als Ganzes dar.
Zeichenfolge
ogc:PropertyIsLike
Die markierten Elemente, die eine der folgenden Bedeutungen haben: Titel, Kurzfassung, Schlüsselwörter oder Text. Weitere Informationen zu den Standardeinstellungen für diese Bedeutungen und wie sie sich ändern lassen finden Sie im Abschnitt zur Funktionsweise der Lucene-Indizierung.
dc:title
title
Ein Name der Ressource
Zeichenfolge
Alle *
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
Übersichtsbeschreibung der Ressource
Zeichenfolge
Alle *
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
Das Thema des Inhalts der Ressource. Controlled-Liste
Zeichenfolge
ogc:PropertyIsEqualTo
Die akzeptierten Werte basieren auf den ISO 19115-Themenkategoriecodes: 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
Die physische oder digitale Manifestation der Ressource
Zeichenfolge
Alle * sind zulässig, jedoch macht nur "ogc:PropertyIsEqualTo" einen logischen Sinn.
Akzeptierte Werte sind: liveData downloadableData offlineData staticMapImage document application geographicService clearinghouse mapFiles geographicActivities ISO 19139: bestimmt durch die Auswahl zwischen ISO19115- oder ISO19119-Inhaltsnormen. Dublin Core: /rdf:RDF/rdf:Description/dc:type FGDC: /metadata/distinfo/resdesc
Hinweis:
*"Alle" umfasst alle OGC-Vergleichsoperatoren:
- ogc:PropertyIsEqualTo
- ogc:PropertyIsNotEqualTo
- ogc:PropertyIsLessThan
- ogc:PropertyIsGreaterThan
- ogc:PropertyIsLessThanOrEqualTo
- ogc:PropertyIsGreaterThanOrEqualTo
- ogc:PropertyIsLike
- RÄUMLICHE ABFRAGEN: Envelope-Abfragen werden mit Hilfe von räumlichen Prädikaten der OGC-Filter codiert. Die Geoportal CS-W-API unterstützt nicht jedes räumliche Prädikat, das in den Filterspezifikationen zugänglich ist.
Tabelle 4 – Unterstützte räumliche Prädikate
Räumliche Prädikate der OGC-Filter Räumliche Prädikate von Geoportal CS-W ogc:BBOX
Überlappungen
ogc:Intersects
Überlappungen
ogc:Within
Innerhalb
- overlaps: sucht Metadatendokumente, bei denen Teile oder der gesamte Envelope des Metadatendokuments innerhalb des spezifizierten Suchfelds liegt. Alles, was vom Suchfeld berührt wird, wird gefunden.
- within: findet Metadatendokumente, bei denen der Envelope des Dokuments komplett innerhalb des spezifizierten Suchfelds liegt. Der räumliche Envelope des Dokuments kann die Umrandung des Suchfelds berühren.
- Die für räumliche Abfragen unterstützte Geometrie-Operanden sind:
- gml:Envelope
- gml:Point
- VERGLEICHSOPERATOREN: Vergleichsoperatoren sind in einer csw:GetRecord-Abfrage enthalten:
- Between
- EqualTo
- GreaterThan
- GreaterThanEqualTo
- LessThan
- LessthanEqualTo
- Like
- NotEqualTo
- NullCheck
- PARAMETER: Die folgende Tabelle enthält die Parameter für jede unterstützte Operation.
Tabelle 5: Unterstützte Parameter
Operation Parameter Akzeptierte Werte 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
- ZURÜCKGEBBARE EIGENSCHAFTEN:
Beim csw:Record-Ausgabeschema enthalten die zurückgegebenen Datensätze eine Auswahl der wichtigen zurückgebbaren Eigenschaften, deren Teilmenge vom Elementsatz abhängt. Wenn request=GetRecordById, outputSchema=original und ElementSetName=full ist, gibt die Geoportal CS-W-Benutzeroberfläche die ursprünglichen Metadatendokumente so zurück, als wären sie im Geoportal veröffentlicht worden. Beim gmd:MD_Metadata-Ausgabeschema enthalten die zurückgegebenen Datensätze eine Auswahl an ISO-Metadatenelementen, deren Teilmenge vom Elementsatz abhängt, der im OGC CSW ISO-Anwendungsprofil definiert ist.
Tabelle 6: Zurückgebbare Eigenschaften
Elementsatz Zurückgebbare Eigenschaften brief
dc:identifier, dc:title, dc:type, ows:Envelope
Zusammenfassung
dc:identifier, dc:title, dc:type, dc:format, ows:Envelope, dc:subject, dct:modified, dc:abstract
Voll
dc:identifier, dc:title, dc:type, ows:Envelope, dc:subject, dct:modified, dc:abstract, dct:references
Beispielanforderungen
Dieser Abschnitt enthält Beispielanforderungen.
- GetCapabilities: Sowohl KVP-, POST- und SOAP-Anforderungen werden vom Geoportal CS-W-Service unterstützt.
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: Eine GetRecords-Anforderung erfordert eine Constraint Language und nachdem der Geoportal CS-W-Service CQL (Common Query Language) nicht unterstützt, werden nur XML-Filter mit Anforderungen im POST-Stil unterstützt.
AnyText KVP
N/A
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 >
Titel KVP
N/A
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>
Thema KVP
N/A
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>
Geändert KVP
N/A
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/A
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>
- Transaktion "Einfügen":
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> … Metadatendokument wird hier ohne XML-Prolog eingefügt … </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> … Metadatendokument wird hier ohne XML-Prolog eingefügt … </csw:Insert> </csw:Transaction> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- Transaktion "Update": Die Update-Anforderung unterstützt nur das Ersetzen ganzer Dokumente.
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> … Metadatendokument wird hier ohne XML-Prolog eingefügt … </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> … Metadatendokument wird hier ohne XML-Prolog eingefügt … </csw:Update> </csw:Transaction> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
- Transaktion "Löschen": Die Löschanforderung unterstützt nur das Löschen ganzer Dokumente basierend auf dem Identifikator. Die Identifikatoren werden in der GetRecords-Antwort zurückgegeben. Der Workflow besteht darin, mit Hilfe der GetRecords-Antwort den Datensatz zu finden, der bestimmten Kriterien entspricht, und die zurückgegebenen Datensätze anschließend basierend auf dem dc:identifier zu löschen.
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>
Geoportal WSDL
Die mit den Geoportal CS-W SOAP-Endpunkten verbundene WSDL basiert auf dem OGC-Beispiel unter http://schemas.opengis.net/csw/2.0.2/examples/wsdl/2.0.2/. Die Geoportal-WSDL-Dateien, die mit den CS-W SOAP-Endpunkten verbunden sind, befinden sich unter http://<host>:<port>/geoportal/csw/service-wsdl.jsp, wo <host> der Geoportal-Host-Server und <port> die Portnummer ist. Sie sind im Verzeichnis \\geoportal\csw gespeichert und lauten wie folgt:
- http-binding.wsdl
- kvp-binding.wsdl
- responses.wsdl
- service-wsdl.jsp
- soap-binding.wsdl
- xml-interfaces.wsdl