Global Navigation

Sachen machen mit Open Data und Fidel - Episode 3: WHERE?

Veröffentlicht am Mittwoch, 9. März 2016 um 10.55 Uhr
Von Fidel Thomet

Im letzten Blogpost dieser Reihe habe ich beschrieben, wie man Geodaten für Web-Apps verwenden kann. Für das Einzeichnen der Denkmalschutzobjekte kamen im Beispiel Vektordaten im GeoJSON-Format zum Einsatz. Neben den Standortdaten lassen sich aus dem GeoJSON aber auch Eigenschaften wie Namen und Baujahre der Objekte lesen. Für eine Karte, die sämtliche Denkmalschutzobjekte aus dem 19. Jahrhundert abbilden soll, stellt sich die Frage: Wie lassen sich GeoJSON-Features nach ihren Eigenschaften filtern?

Bei der Entwicklung des Baumradars stand ich vor ebendieser Frage. Dazu kam noch ein weiteres Problem: Die über 55 000 erfassten Bäume machen das Baumkataster so gross, dass das direkte Einbinden der Datei extrem lange Ladezeiten zur Folge hätte. Um dieses Problem zu umgehen habe ich ein Programm entwickelt, welches auf einem Server läuft und eine Schnittstelle (API) bietet. Anstatt das gesamte Kataster zu laden, sendet das Baumradar die Eck-Koordinaten des aktuellen Kartenausschnitts an die API. Dieses gibt dann nur die Bäume zurück, die sich in diesem Ausschnitt befinden. Bei Veränderung des Kartenausschnitts sendet das Baumradar eine neue Anfrage an die API und lädt wiederum nur die Daten, die für die Anzeige im ausgewählten Ausschnitt benötigt werden. Insgesamt muss also deutlich weniger Information übertragen werden. Das führt zu kürzeren Ladezeiten und ist insbesondere bei mobilen Apps ein grosser Vorteil.

Unter dem Namen WHERE? habe ich diese API weiterentwickelt, sodass sie sich in wenigen Schritten auf weitere Datensätze anwenden lässt. Neben der Frage wo zwischen 1920 und 1930 Ahornbäume gepflanzt wurden, lässt sich also auch beantworten, wo die Fusswege im Platzspitz verlaufen und welche Adressen in den Stadtquartieren Altstadt und Enge die Hausnummer 25 haben.

In der Werkstatt finden Sie Anleitungen dazu, wie Sie eigene Abfragen schreiben können und wie Sie WHERE? auf einem Server installieren um noch weitere Datensätze abzufragen. Diejenigen, die Anleitungen lieber überspringen, werden auf GitHub fündig.

Weitere Informationen