GeoJson Service Spezifikation

Allgemeine Beschreibung der Schnittstelle

Der GeoJson Service bietet eine leistungsfähige und flexible API zur Bereitstellung von Geodaten im GeoJSON-Format. Das Ziel der Schnittstelle ist es, Entwicklern eine einfache Möglichkeit zu geben, Geodaten abzufragen, zu visualisieren und zu manipulieren. Die API orientiert sich an etablierte Standards und ermöglicht es, räumliche Daten sowohl über GET- als auch POST-, PUT- und DELETE-Anfragen zu konsumieren und zu ändern.

Die Motivation hinter der Entwicklung dieser Schnittstelle war es, eine möglichst einfache, aber auch leistungsfähige Methode für den Zugriff auf Geodaten zu schaffen. Bestehende Schnittstellen wie WMS sind zwar sehr einfach, bieten jedoch nur begrenzte Möglichkeiten beim Abfragen von Geodaten. WFS ermöglicht das Abfragen von Geodaten, allerdings basiert der Standard auf XML, was die Umsetzung in Webumgebungen mit JavaScript aufwändig macht. Die GeoServices-Schnittstelle von ESRI ist eine REST-Schnittstelle, die ebenfalls einen einfachen Zugriff auf Geodaten erlaubt. Allerdings ist die Syntax in Bezug auf Features eher proprietär.

Mit GeoJson Services soll ein Mittelweg zwischen den bestehenden Schnittstellen geschaffen werden, der die Einfachheit von WMS, die Leistungsfähigkeit von WFS(-T) und moderne Technologien wie ESRI GeoServices vereint. Die Schnittstelle ist als REST-API mit JSON-Requests und JSON-Responses konzipiert. Die Syntax soll an GeoJSON erinnern. Insbesondere sollen Features im GeoJSON-Format bereitgestellt und übertragen werden, da dieser Standard von vielen Web-Mapping-Frameworks nativ unterstützt wird.

Die Schnittstelle soll folgende Funktionen anbieten:

  • Catalog: Auflistung der verfügbaren GeoServices.

  • Capabilities: Anzeige der Fähigkeiten eines GeoServices.

  • Mapping: Erstellung von Kartenansichten für einen definierten Bereich mit beliebiger Layer-Sichtbarkeit innerhalb des Dienstes.

  • Query: Abfrage von Geodaten aus den angebotenen Diensten mittels Attribut- und/oder räumlichen Filtern.

  • Edit: Erstellung/Bearbeitung/Löschung von Geodaten.

  • Security: GeoServices sollten authentifiziert aufgerufen werden können, um Clients spezifische Berechtigungen (Edit/Query) zu erteilen. Hierzu muss den Requests ein Bearer Token im Authorization Header mitgegeben werden.