GeoPackage
Ähnlich wie MBTiles ist auch GeoPackage ein auf einer SQLite Datenbank basierendes Dateiformat, welches neben Vektordaten und nicht-raumbezogenen Daten auch zur Speicherung von Rasterdaten geeignet ist. Dabei ist eine Nutzung vor allem auch dafür angebracht, das in der Geoinformatik häufig verwendete Format „Shapefile“ zu ersetzen, da es die Problematiken mit der Arbeit mit Shapefiles (mehrere Einzeldateien, veraltete Restriktionen, proprietär) komplett umgeht. Das Format besteht stets aus einer einzelnen Datei (Datenbank) in der sich sämtliche Informationen zu Attributen, Projektion etc. befinden, was das Format sehr kompakt und flexibel macht. Im Gegensatz zu MBTiles ist GeoPackage ein OGC-Standard, welcher weniger Einschränkungen unterlegen ist: zum einen ist es möglich, in GeoPackage verschiedene Rasterformate zu speichern und zusätzlich in derselben Datei noch Vektordaten einzufügen. Zum anderen ist GeoPackage per Standard zwar ebenfalls in EPSG:3857 projiziert, jedoch ist es möglich der Datei eine beliebige Projektion zuzuweisen.
Die Speicherung der Rasterdaten erfolgt dabei folgendermaßen (vgl. Abbildung) : Unabhängig von der Art des Inhalts – also Vektor oder Raster – werden zunächst folgende zwei Tabellen erzeugt: die Tabelle gpkg_spatial_ref_sys definiert die in diesem GeoPackage vorhandenen Projektionen, während die Tabelle gpkg_contents eine Auflistung der in dem Package vorhandenen Daten beinhaltet. Die konkrete Speicherung der Rasterdaten erfolgt dabei analog zu MBTiles mithilfe einer Bildpyramide. Dafür ist die Erzeugung von drei Tabellen notwendig. Die Tabelle gpkg_tile_matrix_set definiert dabei die Ausdehnung und Projektion aller Rasterdatenquellen. In der Tabelle gpkg_tile_matrix werden hingegen die Eigenschaften der eigentlichen Bildpyramide definiert, die aus Zoomlevel, Zeilen- und Spaltenanzahl, Größe der Kacheln und Größe der Pixel besteht. Die eigentliche Speicherung der Rasterdaten als BLOB findet, genau wie auch in MBTiles, mittels einer Tabelle statt, die den Daten die jeweilige Position in der Bildpyramide zuweist.
Interessanterweise ist dabei die Dateigröße, welche inklusive Overviews (Bildpyramiden) nur etwas mehr als 50% der ursprünglichen GeoTIFF-Dateien benötigt. Allerdings tritt bei Publikation der Daten im GeoServer eine Fehlermeldung auf, obwohl die Integration des Datenspeichers zunächst reibungslos funktioniert. Dies lässt sich bisher nur dadurch beheben, dass dem umprojizierten virtuellen Mosaik kein zusätzlicher Alphakanal zugeordnet wird; mit der Folge, dass es in den durch die Projektion entstandenen Flächen zu einer schwarzen Einfärbung kommt.
Ebenfalls ist, wie auch bei MBTiles, die Darstellung clientunabhängig mitunter fehlerbehaftet: bei gewissen Bildausschnitten, insbesondere wieder in Randbereichen, entstehen falsche Darstellungen, in denen die Bildpixel immens groß oder gänzlich schwarz dargestellt werden.
Vorteile | Nachteile |
---|---|
Einzelne Datei |
Alpha-Kanal (Transparenz) von GeoServer (noch) nicht unterstützt |
Sehr kleine Dateigröße |
Fehlerhaftes Rendering der Randbereiche |
Gut erweiterbar (auch mit Vektordaten) |
|
In Wunsch-CRS (EPSG:25833) projizierbar |