Suche
Die GBD WebSuite implementiert eine einheitliche Suchfunktionalität, die mit verschiedenen Arten von Raum- und Sachdaten arbeitet. Grundsätzlich enthält eine Suchanfrage an den Server diese drei Parameter:
keyword |
ein Stichwort, nach dem gesucht werden soll |
shape |
eine Geometrie. Falls vorhanden, ist die Suche räumlich auf diese Geometrie beschränkt. |
layers |
eine Liste der Ebenen, auf denen die Suche durchgeführt werden soll. Das sind normalerweise die im Client sichtbare bzw selektierte Ebene |
Die von anderen GIS-Systemen bekannte “Identifizieren” Funktion fällt in GWS auch unter dem Begriff Suche, in dem Fall, eine ohne Stichwort und mit einer Punkt-Geometrie.
Wenn der GBD WebSuite Server eine Suchanfrage erhält, verbindet er sich mit den konfigurierten Suchanbietern (provider
) und verwendet automatisch die für jede Quelle gültige Methode. Beispielsweise werden für WMS-Quellen “GetFeatureInfo”-Anfragen gestellt, für Datenbankdaten wird eine “SELECT”-Abfrage durchgeführt und so weiter. Sobald der Server Ergebnisse aus verschiedenen Quellen erhält, werden sie konsolidiert, optional transformiert und formatiert (s. Features) und als Liste einheitlicher Features an den Client zurückgegeben.
Die Anbieter werden für das ganze Projekt oder für individuelle Layers konfiguriert. Die Layer-Anbieter werden nur dann aktiviert, wenn der layers
Liste den entsprechende Layer-ID enthält.
Mit der Aktion search
schalten Sie die Suchfunktionalität frei. Mit dem Parameter limit
können Sie steuern, wie viele Suchergebnisse der Server zurückgibt (unter allen Anbietern).
Note
In der Zukunft können Sie auch ein limit
pro Anbieter steuern.
Allgemeine Optionen
Für jeden Suchanbieter können Sie folgende allgemeine Optionen konfigurieren:
|
Transformation-Regel für Features (s. Features) |
|
räumliche Einschränkung der Suche, falls keine Geometrie vorhanden ist: die ganze Karte ( |
|
Formatierungsvorlagen für Features (s. Features) |
|
räumliche Toleranz, entweder in Bildschirmpixeln (wie |
|
wenn das auf |
|
wenn das auf |
Suchanbieter
nominatim
Referenz: gws.ext.search.provider.nominatim.Config
Schnittstelle zu Nominatim, der OSM-Suchmaschine. Sie können die Parameter country
und language
konfigurieren, um die Suchergebnisse anzupassen.
postgres
Referenz: gws.ext.search.provider.postgres.Config
Bietet direkte Suche in Postgres/PostGIS Tabellen. Sie müssen und die zu durchsuchende Tabelle (table
) angeben (s. Datenbanken). Zusätzlich können Sie die Spalte in der nach dem Stichwort gesucht werden soll (searchColumn
) konfigurieren.
Wenn der Server eine Abfrage mit keyword und shape bearbeitet, wird ungefähr folgende SQL Abfrage ausgeführt:
SELECT * FROM {table}
WHERE
{searchColumn} ILIKE %{keyword}%
AND ST_Intersects({geometryColumn}, {shape})
Anders gesagt, wird Stichword case-insensitiv mit beliebiger Platzierung und Geometrie mit der Überschneidung gesucht. Wenn searchColumn
bzw geometryColumn
fehlen, wird in dieser Abfrage nur eine Bedingung stehen.
Note
In der Zukunft wird es möglich sein, diese Abfrage flexibel zu konfigurieren.
wfs
Referenz: gws.ext.search.provider.wfs.Config
Implementiert GetFeature
-Anfragen für WFS-Quellen. Sie müssen die Service-URL bereitstellen. Es ist auch möglich, die Suche auf bestimmte Layer (oder “Typen”) zu beschränken.
wms
Referenz: gws.ext.search.provider.wms.Config
Implementiert GetFeatureInfo
Anfragen für WMS-Quellen. Wie bei WFS, muss die Service-URL und optional die Suchlayers konfiguriert werden.
qgispostgres/qgiswms
Diese Anbieter werden intern bei der Konfiguration von QGIS Projekten verwendet.