Blog

Publication de données Open Government Data

INSER hat die notwendige Applikation zur Veröffentlichung der Daten unter Open Government Data im Kanton Zürich entwickelt.

Einführung

Gemäss einem Beschluss des Staatsrates sind die Geodaten des Kantons Zürich ab dem 1. Januar 2018 als OpenData zugänglich.

Die freie und uneingeschränkte Verfügbarkeit von Daten in Form von Dateien oder Diensten (WMS, WFS, WCS) und die Definition entsprechender Lizenzbedingungen ermöglichen es, die Anforderungen der OpenData zu erfüllen (siehe Bedingungen). Die kantonale Fachstelle für GIS_Koordination wollte jedoch ein Werkzeug zur einfachen Datenextraktion entwickeln. Die Entwicklung eines solchen Werkzeugs ist derzeit in der Schweiz einzigartig.

INSER wurde in einem Wettbewerbs-Verfahren vom Kanton Zürich beauftragt, in enger Zusammenarbeit mit dem kantonalen Dienst in der zweiten Jahreshälfte 2017 den Extraktions- und Lieferprozess mit der dazugehörigen REST-Schnittstelle zu entwickeln. Das Projekt wurde von der Firma tangly (Herr Marcel Baumann) gemäss Scrum-Vorgaben geleitet.

Systemarchitektur

Die ausgewählte Systemarchitektur wird unten dargestellt

Neben dem Entwurf dieser Architektur umfasste die Arbeit von INSER 3 Hauptkomponenten:

  • Spezifikation einer API
  • Entwicklung eines Dienstes « Datenshop »
  • Entwicklung und Produktivsetzung des Extraktors selbst

Spezifikation einer API

Auf technischer Ebene bestand die erste Herausforderung darin, die Spezifikation der API für die Erteilung von Bestellungen zu definieren. Dank dieser API (veröffentlicht in englischer Sprache unter dieser Adresse) können die Clients der Schnittstelle die an den Server gesendete Anfrage (im JSON-Format) eindeutig strukturieren. Diese Schnittstelle dient als Basis für Diskussionen mit anderen Datenanbietern mit ähnlichen Bedürfnissen.  Die REST-Schnittstelle wurde in Python entwickelt und ist in den bestehenden Webserver des Kantons implementiert.

Beschreibung des Dienstes « Datenshop»

Diese Anwendung hat die Form einer REST-Schnittstelle, die die folgenden Funktionen zur Verfügung stellt:

  • Die notwendigen Datenquellen zur Behandlung der Bestellung auf Basis der Metadaten-Datenbank identifizieren
  • Die Anfrage der Benutzer erhalten, interpretieren und validieren (Datentype, räumliche Ausdehnung, Format,…)
  • Die Bestellung bereitstellen und einen Lieferschein erstellen. Die Bestellung auf den standard Lieferungs-Server des Kantons Zürich ablegen (WebTransfer)
  • Dem Benutzer einen Link schicken, damit er das gewünschte Ergebnis herunterladen kann.

Die Anwendung ist eine technische Komponente, auf die der Benutzer keinen direkten Zugriff hat. Die Bestellungen werden entweder durch das kantonale Geoportal (maps.zh.ch) oder durch Drittapplikationen (über eine direkte Anfrage an die API) übermittelt. Anwendungen von Drittanbietern können z.B. kommunale GIS-Portale oder Unternehmenssysteme mit Geodaten (z.B. Adressen) sein.

Die folgende Abbildung illustriert die Integration einer Query-Applikation in das Geoportal des Kantons Zürich. Die dem Extraktor zur Verfügung stehenden Datensätze werden automatisch entsprechend der im Browser angezeigten Layer aktualisiert.

Datenvorbereitung

Der JSON-Befehl wird anschließend durch den FME Server 2017 und mehrere verkettete Workspaces verarbeitet. Das Verfahren ist extrem generisch aufgebaut, so dass eine hohe Adaptionsfähigkeit an die vielfältigen Geodatentypen und die entsprechenden Formate gewährleistet ist. Der Zugriff auf die Datenquellen wird somit über das kantonale Metadatenmanagementsystem gesteuert. Dadurch werden redundante Systeme vermieden und Kosten und Wartungsarbeiten reduziert.

Möchte ein Data-Provider eine neue Schicht zur Verbreitung anbieten, muss er lediglich die relevanten Parameter (Formate, Datentyp, Datenquelle, etc.) im kantonalen Metadatenkatalog (GeoLion) eintragen. Diese Informationen werden vom System automatisch berücksichtigt, ohne die Konfiguration anzupassen.

Load balancing

Die Verfügbarkeit einer solchen Infrastruktur entspricht einem realen Bedarf, und deshalb ist es wichtig, dass die Architektur in der Lage ist, viele gleichzeitige Anforderungen zu bewältigen.

Der FME-Server unterstützt die Zuordnung von Requests zwischen verschiedenen Verarbeitungseinheiten (FME Engines). Queries werden auf die verschiedenen Engines verteilt, und Zeit-Aufwändigen Extraktionen, folgen einem eigenen Prozess, um nicht alle Benutzer zu blockieren.

Die kontinuierliche Monitoring ermöglicht die Überwachung des Ladevolumens, und die Verarbeitungskapazität lässt sich ganz einfach durch Hinzufügen von Maschinen erhöhen. Obwohl diese Erweiterung menschliches Eingreifen erfordert, wird sie ohne Änderungen im Code oder in der Systemarchitektur realisiert.

Bilanz

Das System wurde am 3. Januar 2018 in den Produktionsbetrieb genommen, und die ersten Ergebnisse sind vielversprechend. Mehrere hundert Anfragen täglich werden effizient und zuverlässig bearbeitet.

Weitere Entwicklungen sind bereits geplant, insbesondere um die Datenlieferung zu vereinfachen und die Bearbeitungszeit zu verkürzen.

Link

siehe auch den Artikel in Geomatik Schweiz 1-2/2018

Kontakt

  • Auftraggeber : Michael Boller

Baudirektion Kanton Zürich, Amt für Raumentwicklung, Leiter GIS-Koordination

michael.boller@bd.zh.ch

Kontakt

David Reksten

FME Certified Professional, Desktop and Server

info@inser.ch

Bemerkungen