Mit Mapbender können Suchen auf Geo-Objekte konfiguriert werden. Nach erfolgreicher Such-Konfiguration im Backend wird in der Anwendung selbst per Eintrag in die Suchmaske nach den Attributen der Objekte gesucht. Die Ergebnisse können anschließend in der Karte angezeigt werden. Mapbender verfügt über zwei Elemente zur Konfiguration von Suchen, Search Router (in der dt. Übersetzung: "Suchen") und SimpleSearch ("Einfache Suche"). Beide werden im Folgenden kurz vorgestellt , wobei der Fokus insbesondere auf den neuen Suchmöglichkeiten von SimpleSearch liegt.
Vorweg einige Informationen zum Search Router: Dieses Element ermöglicht die Suche via SQL auf PostgreSQL/PostGIS-Tabellen oder -Sichten. Die Anzahl und Funktion der Such- und Ausgabefelder des Search Routers lassen sich flexibel konfigurieren. Einen genauen Überblick über die Such-Konfiguration mit zugehörigen Beispielen gibt die Mapbender-Dokumentation.
Den Search Router sehen Sie darüber hinaus in vielen Mapbender-Anwendungen zu unterschiedlichen Themen im Einsatz – z. B. im Geoportal RIO Raum Information Oberberg.
Das Element SimpleSearch hingegen ermöglicht eine Einfeldsuche, die einen Suchserver anspricht und eine für Nutzer*innen einfach zu bedienende Suche ermöglicht. Bisher konnte hierfür als Suchserver nur der Apache Solr Server verwendet werden. Ausführliche Informationen zur Konfiguration finden sich auf der entsprechenden Seite der Mapbender-Dokumentation.
Ab der Mapbender-Version 3.2.5 unterstützt SimpleSearch neben Apache Solr auch Suchen via Nominatim, Photon oder OGC API Features.
Zur erfolgreichen Konfiguration des Elements SimpleSearch muss zuvor ein Suchserver vorhanden sein und unter query_url angegeben werden. Das Suchergebnis kann dann als GeoJSON oder WKT angefordert werden. Zudem werden unterschiedliche EPSG-Codes unterstützt.
Als Suchserver können die bereits angesprochenen Suchserver verwendet werden. Die Einbindung in Mapbender ist dabei für die einzelnen Server unterschiedlich. Die nachfolgenden Beispiele zeigen Adressen von Suchservern, wobei je nach Server noch weitere steuernde Parameter im Aufruf übergeben werden können:
Um das Such-Element flexibel zu gestalten, wurde die Konfiguration nur an einer Stelle angepasst, und zwar im Bereich der Trefferausgabe. So ist es möglich, nicht nur auf einen Parameter für die Trefferausgabe zu verweisen. Es können auch mehrere Parameter angegeben werden. Das Ergebnis des Servers kann darüber hinaus über mehrere Verschachtelungsebenen verfügen. Auch diese Struktur wird seit der Version 3.2.5 von der Konfiguration des SimpleSearch-Elements unterstützt.
Zusätzlich dazu können in der Trefferausgabe feste Texte oder Trennzeichen definiert werden. Eine Konfiguration für die Trefferausgabe könnte wie folgt aussehen:
${properties.address.road} ${properties.address.house_number} ${properties.address.city} ${properties.address.town} - ${properties.address.postcode} ${properties.address.country} ${properties.address.office} ${properties.address.amenity}
Sollte ein Treffer dabei über einen Parameter nicht verfügen, wird dieser im Ergebnis nicht ausgegeben. Liegt beispielsweise bei der vorliegenden Konfiguration keine Angabe der Postleitzahl (postcode) vor, entfällt diese in der Ausgabe. So kann auf diverse Parameter verwiesen werden, ohne dass diese immer gefüllt sein müssen.
Beispielkonfigurationen zu den verschiedenen Suchservern finden Sie im Workshop-Bundle als YAML-Dateien.
Abschließend eröffnet die Erweiterung von SimpleSearch durch die Unterstützung weiterer Suchserver Anwender*innen neue Möglichkeiten. Die freie Konfiguration der Rückgabeparameter ermöglicht die Erstellung individueller Suchen. Vor allem die Nutzungsmöglichkeit von OGC API Features ist erfreulich und der erste Schritt zur Unterstützung der neuen Standards des OGC in Mapbender.
Weitere Beiträge, die Dich interessieren könnten: