„Zeige mir alle neuen Störungen!“, „Welche Hausanschlüsse sind geplant und welche sind operativ?“, „Welche Gewässer eignen sich zum Baden?“, „Welche Aufträge habe ich heute und wo liegen sie?“ – Fragen wie diese erfordern in der Regel, dass zum Teil komplexe Abfragen auf Sach- und Geodaten formuliert und durchgeführt werden müssen. Mit dem Query Builder bietet die con terra nun ein neues Bundle an, mit welchem diese Abfragen in komfortabler Art und Weise erstellt und durch den Anwender einfach und intuitiv verwendet werden können. Das Bundle ist OpenSource über das con terra Git Repository zu beziehen. Die Fähigkeiten im Überblick:
- Grafisch-interaktive Möglichkeit für App Designer, Abfragen vorzubereiten und in der App zu hinterlegen. Der Anwender der App kann dann einfach auf die Frage z.B. „Welche Gewässer eignen sich zum Baden“ klicken und bekommt direkt die Ergebnisse in der Tabelle und der Karte angezeigt.
- App-Designer können die Abfragen kombiniert aufbauen (Typ = „Badegewässer“ UND Qualität >= „gut“) und zudem auch Nutzereingaben zulassen.
- Über Platzhalter können Abfragen dynamisch gestaltet werden (z.B. kann eine Abfrage so den Namen des aktuell angemeldeten Anwenders verwenden oder das aktuelle Datum). Eigene Platzhalter können ergänzt werden.
- Abfragen können in der Oberfläche wie Tools integriert werden und lassen sich damit z.B. auch in Menüs organisieren.
- Anwender können – neben den vorbereiteten Anfragen - auch eigene erzeugen und ausführen. Ebenfalls grafisch-interaktiv, aber nochmals vereinfacht.
Der Query Builder arbeitet auf der Basis von map.apps „DataStores“ und damit unabhängig von konkreten Daten- und Dienstesystemen. Jeder DataStore der Queries unterstützt, kann verwendet werden. Das Beispiel enthält neben den normalen DataStores für ArcGIS Server Dienste einen OpenWeatherMap DataStores, der Abfragen gegen diesen Dienst erlaubt; „Wo wird das Wetter heute schön“. Dieser DataStore ist übrigens ebenfalls OpenSource und über Git verfügbar.
Wie funktioniert der Query Builder? Über die Live-Konfiguration erhalten Administratoren Zugriff auf eine Listenansicht aller bereits erstellten Query Tools. Dort können weitere Tools hinzugefügt und vorhandene bearbeitet, oder gelöscht werden.
Bei Erstellung oder Bearbeitung eines Tools öffnet sich ein Bearbeitungsfenster, in dem verschiedene Einstellungen vorgenommen werden können. Grundsätzlich muss für jedes Tool ein Titel, ein Icon und die entsprechende Datenquelle angegeben werden. Die eigentliche Query lässt sich mit Hilfe von Ausdrücken festlegen, die sich entweder mit „und“ oder „oder“ verknüpfen lassen. Zusätzlich ist es möglich die Anfrage auf einen bestimmten Kartenausschnitt zu begrenzen. Ist eine Query editierbar, können Teile der GUI, die beim Aufruf des Tools vom Nutzer verändert werden dürfen, markiert werden. Jeder angelegte Ausdruck besteht aus vier Eingabemasken. Diese definieren das ausgewählte Feld, den Vergleichsoperator, den Wert der verglichen werden soll und ob der gesamte Ausdruck verneint werden soll. Unterstützt der jeweilige Datastore „Distinct Values“, oder beinhaltet das ausgewählte Feld „Coded Values“, werden dem Nutzer existierende Werte über eine Auswahlbox vorgeschlagen. Über das Optionen-Tab kann festgelegt werden, wie viele Ergebnisse die Suche liefern und ob zwischen Groß- und Kleinschreibung unterschieden werden soll.
Das Query Builder Bundle unterstützt verschiedene Platzhalter, die anstelle von Strings gesetzt werden können und beim Aufruf des Query Tools ersetzt werden. Alle verfügbaren Platzhalter und ihre aktuellen Werte werden im Platzhalter-Tab angezeigt.
Kann eine gewünschte Query nicht mit Hilfe des Builders gebaut werden besteht die Möglichkeit diese über den Manuell-Tab direkt im JSON-Code zu bearbeiten.
Zusätzlich zu den vom Administrator erstellten Tools ist es möglich den Nutzer seine eigenen Queries bauen zu lassen. Dazu bietet das Query Builder Bundle ein Tool an, welches in die App eingebunden werden kann.
Zu sehen ist der Query Builder zum Beispiel in der App des BBSR "Wachsen und Schrumpfen von Städten und Gemeinden im bundesweiten Vergleich".
Zu sehen hier: http://gis.uba.de/mapapps/resources/apps/bbsr/index.html?lang=de (keine Gewähr für dauerhafte Verfügbarkeit!)