Videokurs: “Mastering GDAL Tools”

Bildquelle [2]

GDAL steht für Geospatial Data Abstraction Library und ist eine Open-Source-Bibliothek für Raster- und Vektor-Geodatenformate. Die Bibliothek verfügt über eine umfangreiche Sammlung von Dienstprogrammen, mit welcher viele Geoverarbeitungsaufgaben ausgeführt werden können. Sie ist vor allem als Kommandozeilen-Tool, aber auch als wesentlicher Bestandteil von QGIS bekannt. Wie Ihr mit GDAL auf der Kommandozeile zaubern könnt, bringen Euch die SpatialThoughts-Spezialisten um Ujaval Gandhi im Videokurs Mastering GDAL Tools [1] bei. Meine Empfehlung!

[1] … https://www.youtube.com/playlist?list=PLppGmFLhQ1HLVaHVf4TsnJ4HXZBSfxLOK
[2] … https://x.com/spatialthoughts/status/1782481695029318009

Deep-Learning: KI Gebäudeerkennung am LGLN

Über die automatisierte Gebäudeerkennung mit Unterstützung von KI hatte ich bereits in [1] und [2] berichtet. Auf der FOSSGIS2024 informierten Uwe Breitkopf und Jonas Bostelmann vom LGLN (Landesamt für Geoinformation und Landesvermessung Niedersachsen) nun über den aktuellen Stand in zwei Vorträgen. Mittlerweile in Genration 5 angekommen, sehr spannend! Und, ich wiederhole mich, aber es ist schon erstaunlich, mit welch hoher Trefferquote und Präzision hier Gebäude in unterschiedlichsten Umgebungen (dichte Stadtbebauumng, Dorflage, freies Feld, …) so genau getroffen werden. Man darf in der Zukunft auf deutlich schneller aktualisierte Gebäude-Datenbestände in amtlichen Daten hoffen.

Screenshot 1: KI-Gebäudeerkennung – Deep-Learning-Modelle zur Aktualisierung der ALKIS-Gebäude [3]
Screenshot 2: Workflow zur Erstellung von Trainingsdaten für die KI-Gebäudeerkennung [4]

[1] … https://geoobserver.de/2023/02/16/lgln-news-basemap-de-demnachst-mit-ki-in-der-luftbildauswertung/
[2] … https://geoobserver.de/2024/01/18/lgln-news-ki-in-oldenburg/
[3] … https://media.ccc.de/v/fossgis2024-39041-ki-gebudeerkennung-deep-learning-modelle-zur-aktualisierung-der-alkis-gebude
[4] … https://media.ccc.de/v/fossgis2024-39047-workflow-zur-erstellung-von-trainingsdaten-fr-die-ki-gebudeerkennung


LGLN-News: KI in Oldenburg

Über den Einsatz von KI für die Luftbildauswertung beim Landesamt für Geoinformation und Landesvermessung Niedersachsen (LGLN) hatte ich bereits in “LGLN-News: basemap.de demnächst mit KI in der Luftbildauswertung” [1] berichtet. Nun gab es im Dezember ein Update vom LGLN “Building footprints Oldenburg derived from aerial imagery” [2], [3]. Die kompletten Gebäude der Stadt Oldenburg wurden “durch eine Deep-Learning-basierte Bildsegmentierung” berechnet, als Ergebnisdaten stehen 78038 georeferenzierte Gebäude- Polygone unter der CC0-Lizenz frei downloadbar zur Verfügung.
Ich habe mir die Daten im GeoJSON-Format (59.1 MB) [4] geladen und dann im QGIS visualisiert und … Hut ab, es ist schon erstaunlich, mit welch hoher Trefferquote und Präzision die Kollegen um Dr. Jonas Bostelmann KI-automatisiert die Gebäude generieren. Urteilt selbst, hier ein paar Screenshots meines QGIS-Projektes. Die Gebäude wurden über das Item „Confidience“ als Maß für die Genauigkeit der Erkennung klassifiziert.

Update 18.01.2024, 14:15 Uhr: Die Daten im GeoJSON-Format (72,0 MB) [6] wurden heute aktualisiert (vgl. auf 1. Kommentar von Jonas)

Hier der Original-Tweet [2]:

Noch mehr auf Youtube [5] in 4K:

[1] … https://geoobserver.de/2023/02/16/lgln-news-basemap-de-demnachst-mit-ki-in-der-luftbildauswertung/
[2] … https://x.com/JonasBostelmann/status/1737508840852070782
[3] … https://zenodo.org/records/10401144
[4] … https://zenodo.org/records/10401144/files/building_footprints_Oldenburg.geojson?download=1
[5] … https://www.youtube.com/watch?v=ZPhvUIjvfbQ&t=60s
[6] … https://zenodo.org/records/10526811

25 Jahre GDAL! HAPPY BIRTHDAY!

So schnell vergeht die Zeit: vor 5 Jahren [1] habe ich zum 20. gratuliert und jetzt? Die in vielen GI-Systemen eingebaute und somit auch von vielen Anwendern (mitunter auch unbewusst*) genutzte GDAL – Geospatial Data Abstraction Library [2] ist heute, am 17.10.2023, 25 Jahre alt geworden. Genau heute, vor 25 Jahren veröffentlichte Frank Warmerdam im CSV-Repository [3] die erste Version.

Der #geoObserver sagt:
HERZLICH GLÜCKWUNSCH und Danke Frank, Even und allen Mitstreitern!

Screenshot: Zeitreise 25 Jahre zurück. Am 17.10.1998 wurde die erste GDAL-Version eingecheckt (Quelle: [3])

[1] … https://geoobserver.de/2018/10/19/20-jahre-gdal/
[2] … https://gdal.org/
[3] … https://github.com/OSGeo/gdal/commit/149db916aafcbee9bb64572fafda83441c94a552
[4] … https://de.wikipedia.org/wiki/Geospatial_Data_Abstraction_Library

* … Jeder QGIS-Nutzer arbeitet mit GDAL!

QGIS: Wo ist (wirklich) die Mitte von Berlin?

Wer im Internet nach dem Mittelpunkt der Hauptstadt Berlin sucht, wird schnell fündig, z. B. beim größten Suchmaschinenbetreiber mit der Abfrage nach “mittelpunkt berlin” [1]. Ich war am Wochenende in Berlin und Dank des Tipps eines meiner Söhne waren wir vor Ort, am in massiven Granit (?) ausgeführten Stein, wirklich solide gemacht! Auch im OpenStreetMap [2] ist dieser Punkt seit neun Jahren zu finden.

Der “Mittelpunkt” von Berlin in Kreuzberg, Nähe Alexandrinenstraße 12 (Foto: #geoObserver)

Eine gute Idee, aber der geübte GIS-Blick auf den Stein ließ mich irgendwie zweifeln, rein optisch würde ich den Mittelpunkt eher etwas nördlich und östlich vermuten. Den Anderen ging es ähnlich und im Berlin-Blog [3] finde ich die Bestätigung: “Grundlage war eine offizielle Vermessung, nach unserem Geschmack müsste der Mittelpunkt weiter nördlich sein, aber nun ja, dafür gibt es ja Experten. Vielleicht kennt sich da jemand aus, siehe Kommentarbereich.” [3] So angepingt bin ich also gleich auf die Suche nach den Geodaten der Berlin-Umrisse gegangen. Gesucht, gefunden [4], im QGIS geladen und das Zentroid prozessiert. Dann mein Foto vom Stein georefenziert und hinterlegt.

Screenshot: Mein QGIS-Test mit dem neuen (?) Zentroid

Und … mein/unser erster optischer Eindruck wurde bestätigt, der berechnete Mittelpunkt liegt eher tatsächlich nördlicher und östtlicher als der auf dem Stein dargestellte. Die Entfernung zwischen beiden beträgt ca. 3000 m! So, und warum nun? Welche Erklärungen könnte es geben?

  1. Angegeben sind am Stein die Berliner Grenzen von 1996, meine geladenen Grenzen [4] sind jünger, angegeben mit ALKIS 03/2023, aber im Sichtvergleich scheinen sie ungefähr die gleiche Geometrie zu haben, also eher nein.
  2. Meine Georeferenzierung ist eher “quick & dirty”, aber rein optisch hinreichend genau
  3. Sind die QGIS-Algorithmen zu ungenau (ich habe mehrere getestet, immer das gleiche Ergebnis) – NEIN: Jetzt noch einmal neu mit FME, SAGA und QGIS überprüft, alle kommen auf den gleichen Zentroiden in der Nähe der Alexandrinenstraße 12 – zum Glück 😉
  4. Die Abbildung auf dem Stein ist nicht ganz exakt? Künstlerische Freiheit oder so? (Mein Favorit)
  5. Wer noch andere Ideen und Erklärungen hat, gern in den Kommentaren, ich bin gespannt …

[1] … https://www.google.com/search?q=mittelpunkt+berlin
[2] … https://www.openstreetmap.org/node/2862216432
[3] … https://blog.inberlin.de/2014/10/der-mittelpunkt-von-berlin/
[4] … https://opendata-esri-de.opendata.arcgis.com/datasets/esri-de-content::bezirke-berlin

HeiGIT stellt BKG OSM-Prüftools vor

Das Heidelberg Institute for Geoinformation Technology [1] hat eine Demoversion für die BKG OSM-Prüftools vorgestellt [2]. Die Qualitätsabschätzung erfolgt nach Reports für den Zeitlichen Verlauf, die Vollständigkeit und Aktualität, Erreichbarkeitsanalyse, Vergleich mit Basis DLM und Höhenangaben. Ich habe es mal für Leipzig getestet …

Animation: Mein Test in Leipzig

[1] … https://heigit.org/de/willkommen/
[2] … https://giscience.github.io/oqt-bkg-demo/index_de.html

GIS-Wissen: 7 Geoverarbeitungstools …

Screenshot 1: “7 Geoprocessing Tools Every GIS Analyst Should Know” von GISGeography (Quelle [1])

… die jeder GIS-Analyst kennen sollte. In meinen Schulungen hören die Teilnehmer oft den Satz von mir: “GIS fängt eigentlich erst bei Geoprocessing an, vorher ist nur Gucken” 😉 In diesem Sinne leite ich Euch heute mal den Artikel “7 Geoprocessing Tools Every GIS Analyst Should Know” [1], [2] von GISGeography weiter. Danke & 100% Zustimmung!
Man muss kein GIS-Guru sein oder werden wollen, es ist grundlegendes Handwerkszeug: Buffer, Clip, Merge, Dissolve, Intersect, Union, Erase. Ich habe genau mit diesen Tools auch 1991 im GIS begonnen, es hat sich quasi an diesem GIS-Fundament nichts geändert.

Auch in unserem KomGIS+ [3] findet Ihr die typischen, grundlegenden Geoprocessing-Funktionen:

Screenshot 2: Geoprocessing-Werkzeuge im KomGIS [3]
Screenshot 3: Ausschnitt aus meiner Schulung zum Thema Geoprocessing

[1] … https://gisgeography.com/geoprocessing-tools/
[2] … https://twitter.com/gisgeography/status/1683880539433091074
[3] … https://itc-halle.de/loesungen/geoinformationssysteme/KomGIS

QGIS-Tipp: Haltestellen-Erreichbarkeit mit Geometriegenerator visualisiert

Da war er wieder, so ein QGIS-Symbolisierungstipp von SVG* (@newgeographer2) [1], die Gebäude nach der Entfernung zur nächsten Haltestelle visualisieren. Während es SVG mit den Gebäuden und U-Bahn-Stationen in Bangkok gezeigt hat, habe ich das Ganze mal mit den Tram- und Bus-Daten von Halle (Saale) in drei Szenarien simuliert, nur Bus und nur Tram und beides zusammen. Das zentrale Element ist die Visualisierung über den QGIS-Geometriegenerator bei der Symbolisierung über eine Farbkeil “Spectral” mit einer Distanz bei 400m, zur Verdeutlichung habe ich die 400m-Buffer um die Haltestellen darüber gelegt.

Entscheidend ist die Belegung der Füllfarbe mit einem Ausdruck des Geometriegenerators, z. B. so:

ramp_color('Spectral',scale_linear(distance(aggregate(layer:= 'Bushaltestellen_shp_396608de_d5b5_4c81_ada3_be6f0bc12800', aggregate:='collect',expression:=$geometry),$geometry),0,400,1,0))

Für das Thema ‘Bushaltestellen_shp_396608de_d5b5_4c81_ada3_be6f0bc12800’ setzt Ihr natürlich Eurer Thema ein.

Screenshot: Füllfarbe über einem Ausdruck des Geometriegenerators

Die drei Szenarien simuliert, nur Bus und nur Tram und beides zusammen:

Hier der Original-Tweet [1]:

https://twitter.com/newgeographer2/status/1668590939840061440?s=20

Etwas Ähnliches gab es hier schon einmal, jedoch nur um einen Punkt, vgl. “QGIS-Tipp: Objekte nach Abstand einfärben” [2]

* … SVGs coole Visualisierungs-Tipps sind mitunter recht knapp, ich versuche sie hier etwas besser nachvollziehbar zu testen (Danke auch an @PyQgis für die Unterstützung)

[1] … https://twitter.com/newgeographer2/status/1668590939840061440
[2] … https://geoobserver.de/2022/11/21/qgis-tipp-objekte-nach-abstand-einfarben/

QGIS-Tipp: Null-Geometrien bereinigen

Wer kennt das nicht? Man bekommt Daten und diese werfen plötzlich Fehler. Ursache ist mitunter eine unterschiedliche Anzahl von Geometrie- und Sachdateneinträgen. Das dann händisch zu reparieren geht ganz sicher, kann aber auch mühsam sein. Mit dem Clear Null Geometry-Plugin [1] von Mirjan Ali Sha (@mirjan_ali_sha) kann man schnell Abhilfe schaffen. Hier mein “Selbstversuch”:

Screenshot 1: Das passt nicht zusammen, zwei Geometrien und drei Sachdatensätze
Screenshot 2: Der Versuch, den geometrielosen Sachdatensatz 3 anzuzeigen schlägt fehl, es gibt keine Geometrie dazu
Screenshot 3: Einsatz des Clear Null Geometry-Plugin und schon ist alles OK, zwei Geometrien und zwei Sachdatensätze

Und wenn Du einen Testdatenbestand sucht, findest Du natürlich keinen. Gut zu wissen, wie man eine solchen erzeugen kann, also unterschiedliche Geometrie- und Sachdateneinträge. In [2] findet Ihr eine Beschreibung, wie Ihr Daten mit Null-Geometrien erzeugen könnt.

[1] … https://plugins.qgis.org/plugins/clear_null_geometry/
[2] … https://github.com/Riverscapes/gcd/issues/326

QGIS-Tipp: Distancematrix2Lines

Update 10.05.2023: Der Beitrag ist obsolate, ein Update findet Ihr unter: QGIS-Tipp: Distancematrix2Lines – Update

Bei Wikipedia heißt es unter dem Suchbegriff “Distanzmatrix” folgendermaßen: “Die Distanzmatrix ist in der Mathematik eine quadratische Matrix, die die Abstände zwischen Punkten einer Menge angibt” [1]. Und natürlich gibt es in vielen GI-Systemen eine entsprechende Funktion, im QGIS z. B. entsteht beim Einsatz der Funktion Distanzmatrix ein neues Punkt-Thema mit allen vonPunkt-bisPunkt Einträgen inkl. der Entfernung. Ziel ist es nun, die entstandenen Punktbeziehungen zu topologisch eindeutigen Linien zu verbinden und dabei Hin- und Rückweg zu einer einzelnen Linie zu reduzieren. Ich bin (Quick & Dirty) mit QGIS folgenden Weg begangen:

Distanzmatrix –> Punkte zur Weg –> Linien sprengen (Explode) –>
Attribut nach Position verknüpfen –> Auflösen

Hier meine Schritte mit Zwischenergebnissen und das Finale:

Mein Testprojekt inkl. Daten findet Ihr zu Nachnutzung unter QGIS_DistanceMatrix2Lines.zip [2], vielleicht erweitere ich es noch um ein Model. Möglicherweise geht es auch einfacher, wenn ja, gern in den Kommentaren. Ich bin gespannt!

[1] … https://de.wikipedia.org/wiki/Distanzmatrix
[2] … https://www.geoobserver.de/Download/QGIS_DistanceMatrix2Lines.zip
[3] … https://geoobserver.de/2023/05/10/qgis-tipp-distancematrix2lines-update/