Wer mit Geodaten arbeitet, der landet relativ fix bei der Geospatial Data Abstraction Library (GDAL). Einem Open Source toolset, um eine ganze Menge an georaumbezogenen Datentransformationen durchführen zu können.
Leider ist die Dokumentation und die Tutorials eher so na ja bei gdal.org. Jetzt hab ich einen supercoole Quelle bei Spatial Thoughts gefunden, um sich mit den Tools richtig gut vertraut zu machen:
Mastering GDAL Tools (Full Course Material)
GDAL is an open-source library for raster and vector geospatial data formats. The library comes with a vast collection of utility programs that can perform many geoprocessing tasks and build scalable spatial ETL pipelines without the need for expensive software.
Ich hab mit den GDAL tools ein wenig herumexperimentiert und stelle fest, da steckt eine Menge Power drin.
Installation von GDAL
Die Installation ist ein wenig tricky. Auf macOS kann se auch etwas Zeit in Anspruch nehmen. Ich habe Homebrew benutzt und einfach folgende Zeile eingegeben:
brew install gdal
Ob alles geklappt hat, kann man testen, indem man eingibt:
gdalinfo --version
Das sollte die installierte Version ausgeben. Bei mir ist das gerade
GDAL 3.6.3, released 2023/03/07
Maptiles generieren
So kann man z.B. sehr einfach seine eigenen WMTS/WMS (Web Map Tile Service) erzeugen mit folgendem Befehl:
gdal2tiles.py land_shallow_topo_21600.tif --s_srs=wgs84 -d -p raster
Dafür lädt man einfach zuvor von z.B. der NASA eine Weltkarte im Mercator Format (das ist das gängigste Format, dass auch Google nutzt) runter. Die NASA hat auch ein README.pdf parat, das ein wenig erklärt, wie man die Daten nutzen kann.
Um zu gucken, welche Metainformationen da in dem TIF enthalten sind kann man folgende Zeile eingeben:
gdalinfo land_shallow_topo_21600.tif
Das ergibt dann z.b. eine Ausgabe wie:
Driver: GTiff/GeoTIFF Files: land_shallow_topo_21600.tif Size is 21600, 10800 Metadata: TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch) TIFFTAG_XRESOLUTION=72 TIFFTAG_YRESOLUTION=72 Image Structure Metadata: COMPRESSION=LZW INTERLEAVE=PIXEL PREDICTOR=2 Corner Coordinates: Upper Left ( 0.0, 0.0) Lower Left ( 0.0,10800.0) Upper Right (21600.0, 0.0) Lower Right (21600.0,10800.0) Center (10800.0, 5400.0) Band 1 Block=21600x1 Type=Byte, ColorInterp=Red Band 2 Block=21600x1 Type=Byte, ColorInterp=Green Band 3 Block=21600x1 Type=Byte, ColorInterp=Blue
Dann transformiert man das z.B. auch mit folgendem Tool in ein .png File:
gdal_translate -of png land_shallow_topo_21600.tif land_shallow_topo_21600.png
So bekommt man ein PNG aus dem TIFF.
Why do I blog this? Es ist nicht so leicht mit Geodaten zu arbeiten. Jede Hilfe die man bekommen kann ist da willkommen. Ich hab festgestellt, das man mit den GDAL tools – z.B. eingebunden per Python – eine ganze Menge Tricks machen kann.