Überblick
- Ausgangslage
- Praktische Umsetzung
- Live Präsentation
Ausgangslage (1) - Allgemein
- 2016 - 2018 Überlegungen zur Konzeption des 2. Relaunch von GeoPortal.rlp (Aspekte Sicherheit und Nachhaltigkeit)
- Architekturwechsel Ersatz CMS durch Web Application Framework (TYPO3/php -> django/python)
- Module für die Suche wurden in dem Rahmen reengineered
- Start der Umsetzung Dezember 2018
Ausgangslage (2) - Metadatensuche
- Suche im internen Metadatenkatalog basierte seit 2011 auf JSON REST API
- Client für Suche war bis dato TYPO3-Plugin
- Verteilte Suche seit 2011 möglich, zunächst über PortalU (opensearch), später über beliebige CSW (GDK-DE)
- Nutzer des GeoPortal.rlp hatten immer Zugriff auf alle Daten des GDK-DE und konnten Dienste von dort hinzuladen
- Suche über Google nach Geodaten in Deutschland führte zur Anzeige der Metadaten im GeoPortal.rlp
Ausgangslage (3) - Optimierungsansätze
- Reengineering des CSW Suchmoduls (JSON REST API Konzept)
- Nutzung geometrischer Filter
- Auflösung der Daten-Service Kopplung (in RLP schon seit Jahren umgesetzt - Vorbild CKAN)
- Anschluss des INSPIRE CSW - Deutschland ist keine Insel ;-)
Praktische Umsetzung (1) JSON Interface
- Erfordert Registrierung des CSW in Service Registry des GeoPortal.rlp (IDs: GDK=4, RLP=6, INSPIRE=7, ...)
- Aufruf der Suche:
catalogueId=6&searchText=*&searchResources=dataset&searchPages=1&maxResults=3
- Ergebnis:
Praktische Umsetzung (2) JSON Interface BBOX
- BBOX Filter:
&searchBbox=7.18159618172,50.2823608933,7.26750846535,50.3502633407
- Ergebnis:
Praktische Umsetzung (3) Daten-Service Kopplung
- Erstellung eines Resolvers für GetRecordById URIs
- Aufruf GetRecordById URI
- Exraktion des Datensatzidentifikators
- GetCapabilities auf Base URI (mit caching!)
- GetRecords auf GetRecords URI mit Filter auf operatesOn
- Rückgabe der gekoppelten Dienste in einfachem JSON Format
Praktische Umsetzung (3) Daten-Service Kopplung
Praktische Umsetzung (4) Daten-Service Kopplung
- Direkte Integration in Metadatenanzeige:
Praktische Umsetzung (5) Daten-Service Kopplung
Ablauf der Suche:
- Anfrage der JSON REST API mit gewählen Filtern und Paging
- Serverserseitiges Verteilen an registrierte CSW Interfaces
- Nach Erhalt der Datensatz MD - Anzeige der Treffer und asynchrone Suche nach gekoppelten Diensten (per AJAX)
- Nachladen und Anzeigen der Dienst MD - CKAN like
Praktische Umsetzung (6) Daten-Service Kopplung
Trefferanzeige:

Praktische Umsetzung (7) - Neue Möglichkeiten
- Live Anschluss beliebiger CSW
- Paging, Textfilter, BBOX-Filter
- Live Auflösung der Daten-Service Kopplung
- Integration der frei zugänlicvhen JSON API in externe Systeme
- Qualifizierung von externen Katalogen sehr einfach möglich ;-)
Praktische Umsetzung (8) - Anschluss INSPIRE
Initiale Probleme:
- INSPIRE CSW Interface nur rudimentär implementiert
- Keine AND Verknüpfungen von Filtern möglich
- Keine Recherche über operatesOn möglich
- Räumlicher Filter nur eingeschränkt möglich
Praktische Umsetzung (9) - Anschluss INSPIRE
Erstellen des Tickets beim JRC am 26.07.2019
Praktische Umsetzung (9) - Anschluss INSPIRE
Seit Ende September 2019 kann der INSPIRE CSW für die Suche nach Metadaten und gekoppelten Diensten verwendet werden!
INSPIRE ist erstmalig praktisch nutzbar und bringt einen Mehrwert!
Live Präsentation
THE END
Armin Retterath
Zentrale Stelle GDI-RP
armin.retterath@vermkv.rlp.de
0261/492-466