Direkte Links und CSW 1
Zusammenfassung GeoIG-GeoIV Suchdienste Monitoring Metadaten (MDD) Metadaten (MDS) Geobasisdaten Geodienste 2
Inhalt Direkter Metadatenzugang Die Standardmöglichkeiten Mit dem CSW Protokoll Eigene Vorlage (Stylesheet) zur Metadatendarstellung Das CSW Protokoll Die GetRecords Abfrage Das CSW Protokoll in geocat.ch Metadaten Suche Eine Abfrage unter der Lupe Harvesting als dezentrale Suche 3
UUID - Universally Unique Identifier UUID = Ein Universally Unique Identifier (UUID) ist ein Standard für Identifikatoren, der in der Softwareentwicklung verwendet wird. Er ist von der Open Software Foundation (OSF) als Teil des Distributed Computing Environment (DCE) standardisiert. Metadatensatzidentifikator in geocat.ch Die Absicht hinter UUIDs ist, Informationen in verteilten Systemen ohne zentrale Koordination eindeutig kennzeichnen zu können. Ein UUID besteht aus einer 16-Byte-Zahl, die in fünf Gruppen unterteilt wird. In ihrer Normalform sieht eine UUID beispielsweise so aus: 550e8400-e29b-11d4-a716-446655440000 Interne Katolog-ID sollten nicht verwendet werden 4
Direkter Metadatenzugang: Übersicht XML XML intern intern XSLT XSLT XML: XML: ISO ISO 19139 19139 GM03 GM03 CSW Zentrale Metadatenbank 5
Direkter Link (geocat.ch Stylesheets) Startseite mit selektiertem Metadatensatz http://www.geocat.ch/geonetwork/srv/eng/geocat? uuid=uuid_wert Standard Ansicht (weniger verschachtelt) http://www.geocat.ch/geonetwork/srv/fra/metadata.show?uuid=u UID_Wert&currTab=simple ISO Ansicht (alle Verschachtelungen) http://www.geocat.ch/geonetwork/srv/fra/metadata.show?uuid=u UID_Wert&currTab=complete 6
Direkter Link (XML-Ansicht) Standard GeoNetwork Dienst http://www.geocat.ch/geonetwork/srv/eng/xml.metadata.g et?uuid=uuid_wert Mit einer CSW Anfrage http://www.geocat.ch/geonetwork/srv/eng/csw? request=getrecordbyid &elementsetname=full [oder summary (default) oder brief] &outputformat=application/xml (default) &outputschema= http://www.isotc211.org/2005/gmd (iso 19139) oder http://www.opengis.net/cat/csw/2.0.2 (default, dublin core) oder GM03_2Record (XML-INTERLIS) &id=uuid_wert 7
Direkter Link (eigenes Stylesheet) Eigene XSL Vorlagen können benutzt werden XSL Vorlagen werden abgelegt unter: https://geonetwork.svn.sourceforge.net/svnroot/geonetwor k/sandbox/geocat.ch/trunk/web/geonetwork/user_xsl/ Abfrage der vorhandenen Vorlagen: http://www.geocat.ch/geonetwork/srv/eng/metadata.forma tter.xml?list Ansicht mit definierter Vorlage: http://www.geocat.ch/geonetwork/srv/fra/metadata.formatt er.html?xsl=default&uuid=uuid_wert 8
CSW Catalog Service for the Web Das CSW Protokoll ist ein OGC-Standard. Mit diesem Protokoll kann man Informationen in einer Datenbank per Internet durchsuchen, ohne die Struktur der Datenbank zu kennen. Bei der Datensuche, stützt man sich auf ein XML Standard-Darstellungsformat. Das CSW Protokoll unterstützt folgende Formate: Geodaten (ISO19115) Geodienste (ISO 19119) Die Aktuelle Version des CSW Protokolls ist 2.0.2 Die Spezifikation: http://www.opengeospatial.org/standards/cat 9
CSW Einsatz Suchdienst Nutzer CSW Zentrale Metadatenbank CSW Direkte Erfassung Import XML XML oder oder MEF MEF Files Files WebDav WebDav Import Externe Datenbank Direkte Partner Harvesting Partner 10
CSW und geocat.ch Das CSW Protokoll dient 2 Zwecken: Datensuche im Katalog Datenaustausch zwischen Katalogen 11
CSW - das geocat.ch-suchprotokoll 12
CSW Verarbeitungsmodi Das CSW Protokoll verfügt über folgende Verarbeitungsmodi: Selektion (Discovery), Fortführung (Transaction) und Ernte (Harvesting). CSW-Transaction ermöglicht INSERT/UPDATE/DELETE von Metadaten. CSW-Harvesting hat Beschränkungen im Vergleich zur Selektion: Erntet den ganzen Katalog, keine Selektionsmöglichkeit Keine Login Möglichkeiten Keine Privilegien, keine Logos Für das Harvesting verwendet geocat.ch den Selektionsmodus (und nicht den Harvesting-Modus!). 13
CSW der Selektionsprozess General Model Operation OGC_Service.getCapabilities Discovery.query Discovery.present CSW Operation OGC_Service.GetCapabilities CSW-Discovery.GetRecords CSW-Discovery.GetRecordById GetCapabilities Liefert eine Beschreibung der Möglichkeiten des CSW Servers Query Stellt eine Suchanfrage an den Katalog Gibt eine Liste von Metadaten-Referenzen zurück, die der Suchanfrage entsprechen. Die Antwort kann weiterbenutzt werden, um die tatsächlichen Metadaten zu erhalten Present Leitet eine Anfrage von Metadaten-Referenzen an den Katalog. Die Metadaten werden mit Kontext-Informationen zurückgesendet. 14
CSW der Selektionsprozess CSW-Client Was kannst du? GetCapabilities CSW-Server <caps/> <caps/> Was hast du zum Thema "Wasser"? GetRecords <list/> <list/> Gib mir den Datensatz "Grundwasservorkommen"! GetRecordById <id/> <id/> 15
CSW breite Einsatzmöglichkeiten Das CSW Protokoll beabsichtigt einen breiten Abfrageneinsatz zu ermöglichen. Abfragen à la google sowie sehr spezifische Abfragen sollen möglich sein. Die Interoperabilität ist gewährleistet durch Eine Abfragesprache unterstützend: Ineinandergeschobene boolesche Variablen Text-vergleichende Operationen Datentypen und Geografische Operatoren Eine standardisierte Syntax Ähnlich der SQL WHERE Klausel in einer SQL SELECT Abfrage 16
CSW - GetCapabilities URL http://www.geocat.ch/geonetwork/srv/eng/csw? request=getcapabilities&service=csw Abschnitte <ows:operation name="getcapabilities"> <ows:operation name="getrecords"> <ows:operation name="getrecordbyid"> <ows:parameter name="constraintlanguage"> <ows:constraint name="supportedisoqueryables"> <ogc:spatialoperators> <ogc:comparisonoperators> 17
CSW GetRecords Die GetRecords Abfrage enthält die Suchkriterien. 2 Formate stehen zur Verfügung CQL_TEXT, an as text-string formatted Common Query Language statement FILTER, an XML formatted query Zusätzlich zur Abfrage können weitere Parameter gesendet werden, wie: Maximale Anzahl Resultate usw. HTTP GET: Key-Value-Pair POST 18
Gebräuchliche Abfragefelder Die Felder Title, Identifier und AnyText sollen auf jedem Server zur Verfügung stehen. 19
Ein Beispiel von Filter Abfrage <ogc:filter xmlns:ogc="http://www.opengis.net/ogc"> <ogc:and> <ogc:propertyisequalto><ogc:propertyname>similarity</o gc:propertyname><ogc:literal>0.8</ogc:literal></ogc: PropertyIsEqualTo> <ogc:propertyisequalto><ogc:propertyname>anytext</ogc: PropertyName><ogc:Literal>Wasser</ogc:Literal></ogc: PropertyIsEqualTo> <ogc:intersects><ogc:propertyname>ows:boundingbox</ogc :PropertyName><gml:Box xmlns:gml="http://www.opengis.net/gml"><gml:coordina tes decimal="." cs="," ts=" ">7.299786509415908,46.87620802417639 7.661702158540548,47.05084306976523</gml:coordinates ></gml:box></ogc:intersects> </ogc:and> </ogc:filter> 20
GetRecords POST Abfrage <?xml version="1.0" encoding="utf-8"?> <csw:getrecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="csw" version="2.0.2" resulttype="results_with_summary" startposition="1" maxrecords="10"> <csw:query typenames="csw:record"> <csw:elementsetname>full</csw:elementsetname> <ogc:sortby xmlns:ogc="http://www.opengis.net/ogc"> <ogc:sortproperty> <ogc:propertyname>relevance</ogc:propertyname> <ogc:sortorder>d</ogc:sortorder> </ogc:sortproperty> </ogc:sortby> <csw:constraint version="1.0.0"> <ogc:filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:and><ogc:propertyisequalt o><ogc:propertyname>anytext</ogc:propertyname><ogc:literal>wasser</og c:literal></ogc:propertyisequalto></ogc:and></ogc:filter> </csw:constraint> </csw:query> </csw:getrecords> 21
GetRecords Antwortstruktur <?xml version="1.0" encoding="utf-8"?> <csw:getrecordsresponse xmlns:csw="http://www.opengis.net/cat/csw/2.0.2"> <csw:searchstatus timestamp="2009-10-02t09:50:03" /> <geonet:summary xmlns:geonet="http://www.fao.org/geonetwork" count="29" type="local">... </geonet:summary> <csw:searchresults numberofrecordsmatched="29" numberofrecordsreturned="10" elementset="full" nextrecord="11">... </csw:searchresults> </csw:getrecordsresponse> 22
GetRecords - Summary <geonet:summary xmlns:geonet="http://www.fao.org/geonetwork" count="29" type="local"> <denominators> <denominator count="4" value="0" name="0" /> <denominator count="1" value="2000" name="2000" /> <denominator count="8" value="10000" name="10000" />... </denominators> <keywords> <keyword count="16" value="wasser, Hydrologie" name="wasser, Hydrologie" /> <keyword count="3" value="wasser" name="wasser" /> <keyword count="2" value="gis" name="gis" />... </keywords>... </geonet:summary> 23
GetRecords - SearchResults <csw:searchresults numberofrecordsmatched="29" numberofrecordsreturned="10" elementset="full" nextrecord="11"> <csw:record xmlns:ows="http://www.opengis.net/ows" xmlns:geonet="http://www.fao.org/geonetwork" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:dct="http://purl.org/dc/terms/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <dc:identifier>74829836-efa2-4c93-8156-54637543fe86 </dc:identifier> <dc:title>inventaire fédéral des...</dc:title> <dc:subject>fauna</dc:subject> <dct:abstract>mit der Änderung der...</dct:abstract> </geonet:info> </csw:record>... </csw:searchresults> 24
CSW Harvesting Wird durch den Katalog- Administrator konfiguriert Wichtige Konfigurationsfelder URL > GetCapabilities usr/pwd und Privilegien Suchkriterien Häufigkeit des Harvestings 25