gpsinfo Referenzservice

■ einfaches Datenhosting ohne ExpertInnenwissen, benutzungsfreundliches Konvertierungstool

■ Datenabfragen mit wenigen Zeilen Code in bestehende Anwendungen einbinden

■ offene, etablierte Standards und frei verfügbare Referenzimplementierungen

Höhenabfrage in vier Zeilen Python-Code

gpsinfo definiert einen WMTS-basierten Web-Service für geographische Rasterdaten, der allgemeine Geodaten (GeoTIFF, ESRI ASC, …) anstelle von Bilddaten (jpeg, png, …) anbietet. Wir stellen frei verfügbare Software für die einfache Datenvorbereitung und den einfachen Datenzugriff  zur Verfügung.

Diese Seite beschreibt einen gpsinfo-Referenzservice und eine  gpsinfo-Referenzimplementierung in Python (mit GDAL), die eine webbasierte Höhenabfrage in vier Zeilen Pythoncode erlaubt:

import gpsinfo
service = gpsinfo.Service('http://gpsinfo.org/service_wmts/gpsinfoWMTSCapabilities.xml')
layer = gpsinfo.Layer(service, 'AT_OGD_DHM_LAMB_10M_ELEVATION_COMPRESSED')
print('Elevation = ' + str(layer.value('nearest', 675392, 432848)))

In der Terminologie von gpsinfo stellt jeder Rasterdatensatz ein Layer dar. Die Daten eines Layers sind in Kacheln organisiert, die z.B. im leicht lesbaren ESRI ASCII Rasterformat abgespeichert sind. Ein oder mehrere Layer zusammen ergeben ein Service. Ein Service wird entsprechend dem WMTS Standard in einer Capabilities XML Datei beschrieben. Für ein WMTS/gpsinfo Service muss ein Server nur  Datendownloads erlauben – ein einfacher HTTP Server (ohne PHP etc.) mit genügend Speicherplatz ist ausreichend.

Referenzservice

Unter http://gpsinfo.org/service_wmts/gpsinfoWMTSCapabilities.xml betreiben wir ein Referenzservice für gpsinfo. Das Open Government Data 10×10 Meter Höhemodell von Österreich ist in 150×150 Pixel großen ZIP-komprimierten Kacheln im ESRI ASCII Dateiformat hinterlegt (z.B. http://gpsinfo.org/service_wmts/AT_OGD_DHM_LAMB_10M_ELEVATION_COMPRESSED/16/138.asc.zip). Dieses Service dient der Demonstration von gpsinfo – wir behalten uns vor, das Service bzw. die Daten ohne Vorankündigung zu verändern oder zu löschen.

Referenzimplementierung in Python

Wir stellen eine Referenzimplementierung für die einfache Einbindung eines WMTS/gpsinfo Services zur Verfügung. Der GPL3 lizenzierte Quellcode des Python3 Moduls gpsinfo.py ist auf den github Seiten des gpsinfo Projekts zu finden. Die Referenzimplementierung benötigt als Abhängigkeit das GDAL Python Modul.

Download aktuelle Version der Client-Bibliothek gpsinfo.py

Auf Grund eines Bugs in qgis ist es in aktuellen qgis Version nicht ohne weiteres möglich, über HTTPS auf gpsinfo Services zuzugreifen. Wir haben das Problem und seine Lösung hier beschrieben.

GUI zur Servicegenerierung

Wir stellen zudem die frei verfügbare Softwareanwendung gpsinfo_create mit graphischer Benutzungsoberfläche bereit, um einen existierenden Rasterdatensatz in einen WMTS/gpsinfo basierten Dienst zu konvertieren. Ein Installer für die aktuelle Beta-Version steht hier zum Download bereit:

Download gpsinfo_create Beta-Version 0.9.0 (Windows, 64bit)

Wir verwalten den Qt- und GDAL-basierten plattformunabhängigen Quellcode der Anwendung auf github. Die erzeugten Dateien müssen anschließend für die Bereitstellung des Services nur noch auf einen Web-Server hochgeladen werden.

gpsinfo_create - Tile Creator for gpsinfo
gpsinfo_create – GUI zur Datenkonvertierung