Die „Cloud“ ist in aller Munde – was sich dahinter verbirgt, ist allerdings oft nicht so klar. Also höchste Zeit, für ein Stück mehr Klarheit zu sorgen, was sich hinter den Cloud-optimierten Geodatenformaten verbirgt. Das wesentliche Konzept dahinter ist, Daten und Dienst nicht auf dem lokalen Rechner so zu betreiben, sondern flexibel über das Netzwerk (nicht zwingend über das Internet) zu beziehen. Die „Cloud“ als Wolke symbolisiert quasi Internet, aus dem Schnittstellen abgeleitet wurden.
Was bedeutet das für Cloud-optimierte Geodatenformate? Der Zugriff erfolgt über das HTTP(S)-Protokoll wie im Internet. Das Protokoll kümmert sich um den Transport und die Absicherung der Übertragung der Daten. Die Geodaten werden also über einen Webserver bereitgestellt und dann bei Bedarf zum Client übertragen. Theoretisch könnte man Dienste wie WFS und WCS dafür nutzen, in der Regel aber nur im kleinen Maßstab funktionieren und aktive Komponenten auf dem Server erfordern, was mit Sicherheitsrisiken und höheren Anforderungen einhergeht. Die Daten einfach als Datei abzulegen, ist insofern eine simple Lösung, welche Kosten und Aufwand reduziert.
Für einen schnellen Zugriff, ohne jeweils die ganze Datei herunterladen zu müssen, bedient man sich des Prinzips der Kachelung in Kombination mit Kachelpyramiden, analog zu den Kartenkacheln. Die Pyramiden kennt man von Rasterdaten als Übersichten, wo diese einen schnellen Zugriff auf große Dateien erlauben und meist separat vorliegen. Bei den Cloudformaten sind die Pyramiden Teil der Datei und ebenfalls in Kacheln abgespeichert. Die Daten in den Dateien werden also in kleinen Paketen gespeichert, welche bei Bedarf übertragen werden. Dafür kommen sogenannte HTTP-Range-Requests zum Einsatz, welche es ermöglichen, Teile einer Datei herunterzuladen. Die Range-Requests lassen sich im Webserver aktivieren und ermöglichen so, kostengünstig und einfach Geodaten bereitzustellen.
Zum Nutzen der Daten muss man dann nur noch die URL der Datei kennen und kann diese dann lokal einbinden. Es werden automatisch nur die Daten aus der Datei heruntergeladen, welche notwendig sind. Die URLs zu den Geodaten können über Kataloge wie STAC oder OGC-Records bereitgestellt werden. Was ist also der Haken an der Sache? Die Bandbreite der Netzwerkverbindungen ist immer noch ein limitierender Faktor, sowie dass nur ein lesender Zugriff möglich ist. Als Beispiel: Würde ich hier ein DGM1 von Sachsen als cloudoptimiertes GeoTIFF bereitstellen, wäre das viel praktischer für viele Anwender, als sich die Kacheln beim GeoSN alle einzeln zu laden. Allerdings würde es die Bandbreite des Servers stark belasten, weil bei jedem Zugriff die Daten ja von meinem Server geladen würden – was zu viel Traffic führt, welcher dann kostenpflichtig wird. Da ich mir dieses Problems bewusst bin, gibt es hier auch nur kleine Schnipsel zum Ausprobieren.
Rasterdaten – Cloud-optimiertes GeoTIFF
Das Cloud-optimized GeoTIFF ist seit 2023 ein OGC-Standard und historisch gesehen das älteste Format in dieser Sammlung. Egal ob Geländemodell, Orthophotos, Satellitenaufnahme oder jegliche Art von Rasterdaten lassen sich so direkt in QGIS einbinden und direkt mit Geoverarbeitungswerkzeugen nutzen. Alternativ bietet sich die Nutzung des Zarr-Formats mit ähnlichen Eigenschaften an.
Zum Einbinden muss man in QGIS den Weg über die Datenquellenverwaltung im Menü Layer (Strg+L) gehen und dort die Optionen zum Hinzufügen von Rasterdaten wählen. Hier muss man den Quelltyp (1) von Datei auf Protokoll umstellen. Anschließend muss man den Protokolltyp (2) auf HTTP/HTTPS/FTP stellen und anschließend die URL (3) einfügen und auf „Hinzufügen“ klicken. Unten habe ich zwei Beispiele für Cloud-optimierte TIFFs vorbereitet, die Sie gerne austesten können. Das Laden der Dateien dauert natürlich einen Ticken langsamer als aus dem lokalen Dateisystem, aber immer schneller als ein vollständiger Download.

Beispiele für Cloud-optimierte Rasterdaten, aufbereitet aus den offenen Geodaten von Sachsen
- Digitales Orthophoto https://geo.w12g.de/cloud-demo/dop.cog.tif
- Digitales Geländemodell https://geo.w12g.de/cloud-demo/dgm.cog.tif
Wenn man unbedingt will, kann man auch aus QGIS heraus ein cloud-optimiertes GeoTIFF erzeugen. Schneller und einfacher ist in diesem Fall die Verwendung der Konsole. Unter Windows muss man darauf achten, die OSGeo-Shell zu verwenden, damit die notwendige Software auch gefunden wird. Je nach Daten lohnt es sich noch, die Kompression anzupassen, aber das ist dann ein eigener Blogbeitrag.
gdal_translate input.tif output_cog.tif -of COG -co COMPRESS=DEFLATE
Punktwolken – COPC
Die Cloud Optimized Point Cloud (COPC) ist eigentlich nur eine Variante des häufig verwendeten Punktwolkendateiformats LAS bzw. LAZ, das die Daten in einer baumartigen Datenstruktur (Octree) ablegt. Die Baumstruktur hat man sich beim Entwine Point Tile (EPT) abgeschaut.

Analog zum Einbinden für Rasterdaten erfolgt das Laden einer Punktwolke über HTTPS – die Datenquellenverwaltung aus dem Menü Layer öffnen, den Bereich Punktwolke wählen und dort den Quelltyp (1) auf Protokoll umstellen, unter Typ (2) auf HTTP/HTTPS/FTP umstellen und die URL (3) angeben. Der Beispieldatensatz für eine eingefärbte Punktwolke aus den offenen Geodaten von Sachsen ist hier zu finden: https://geo.w12g.de/cloud-demo/points.copc.laz.
Das Erzeugen eines COPC ist in QGIS absolut einfach. Dafür muss man die Punktwolke (Rechtsklick auf den Layer, Export > Speichern als …) nur neu speichern und das Format passend auswählen. Das macht nicht nur für die Bereitstellung Sinn, sondern erlaubt auch einen sofortigen Zugriff auf die Daten. QGIS erzeugt das Format automatisch beim Öffnen einer Punktwolke, um die Daten effektiv rendern zu können.
Vektordaten – FlatGeobuf
Was die Bereitstellung von Vektordaten anbelangt, hat man die Auswahl aus mehreren Formaten. Ich habe mich hier für das FlatGeobuf entschieden. Alternativ bieten sich auch das Zarr-, Arrow- oder GeoParquet-Format an. Je nach Kontext haben die Formate jeweils verschiedene Vorteile, wie zum Beispiel, dass sie sich gut für die Verarbeitung von großen Datenmengen eignen. QGIS unterstützt Arrow, GeoParquet und FaltGeobuf.
Zum Laden der Daten muss man in QGIS den Weg über die Datenquellenverwaltung im Menü Layer (Strg+L) nutzen und dort die Optionen zum Hinzufügen von Vektordaten wählen. Hier sollte man den Quelltyp (1) von Datei auf Protokoll umstellen. Anschließend muss man den Protokolltyp (2) auf HTTP/HTTPS/FTP stellen und anschließend die URL (3) einfügen und auf „Hinzufügen“ klicken. Unter der URL https://geo.w12g.de/cloud-demo/contours.fgb steht ein Beispieldatensatz bereit.

Das Speichern von Vektordaten in die Cloud-optimierten Formate ist analog zu den Punktwolken einfach über die Nutzeroberfläche von QGIS möglich. Dafür das Kontextmenü des Layers im Layerbaum öffnen, den Punkt Export > Speichern als… nutzen und dann das gewünschte Format aus der Liste der verfügbaren Formate wählen. Je nach QGIS und GDAL-Version variiert hier die Unterstützung.
Fazit
Möchte man Geodaten über das Internet möglichst einfach bereitstellen, dann bieten sich die Cloud-optimierten Geodaten an. Die Performance ist natürlich bedingt durch die Internetverbindung begrenzt und nicht die gleiche, als wenn die Daten direkt auf dem PC vorliegen. Eine wesentliche Vereinfachung zum schnellen Zugriff und Anschauen ist es auf jeden Fall. Auch lokal kann sich die Ablage in den Cloudformaten als nützlich erweisen bei sehr großen Datensätzen. Bei der Bereitstellung übers Web sollte den zu erwartenden Traffic im Blick behalten.
Vorteile von Cloudformaten
- Schneller Zugriff auf Daten bzw. Teile davon ohne vollständigen Download
- Einfache Skalierbarkeit der Bereitstellung
- Kosteneinsparung durch geringe Hardwareanforderungen und Spezialanwendungen
- Standardisierung von Datenformaten analog zu OGC-Diensten
Aber auch für die organisationsinterne Bereitstellung von Geodaten bieten sich die Cloud-optimierten Formate an – Rasterdaten oder Punktwolken lassen sich so effektiv bereitstellen und sollen meist nicht bearbeitet werden. Elegant können diese über die Cloud-typischen Speicherlösungen (S3 und Co.) bereitgestellt und in QGIS eingebunden werden. Dafür findet sich auch ein Datenanbieter im Browser-Bedienfeld. Für Vektordaten, welche bearbeitet werden sollen, sind nach wie vor die OGC-API oder ein WFS Alternativen, welche ebenfalls auf HTTP basieren. Eine klassische Datenbank tut es aber genauso für interne Anwendungen.

Wer mehr technische Details und Tipps zu den Formaten und der passenden Software sucht, sollte bei Cloudnativ.org vorbeischauen. Dort finden sich detaillierte Beschreibungen zum Aufbau der hier beschriebenen Datenformate.