Für alle, die sich mit GIS-Programmierung im Open Source Umfeld beschäftigen, ist das neue Buch “Introduction to GIS Programming – A Practical Python Guide to Open Source Geospatial Tools“ von Professor Dr. Qiusheng Wu [1] vielleicht ein Tipp. Eine Vorschau auf die Inhalte findet Ihr im Table of Contents [2], [3]. Schaut mal rein, es lohnt sich! Und trotz guter Erfahrungen mit der KI ist es für mich ein gute Sache, auch mal (wieder) ein richtiges Buch zu benutzen 😉 Übrigens, gestern kam die Nachricht [5], dass die Publikation jetzt auch in deutscher Sprache verfügbar ist.
Screenshot 1: Das Plugin “QuickPolygonRepair” [1] in Aktion, zwei defekte Polygon gefunden und die Möglichkeit, diese reparieren zu lassen.
Das Plugin “QuickPolygonRepair” [1] ist eine Weiterentwicklung des Plugins “SelectNotValidPolygons” [2]. In “QuickPolygonRepair” wird in einem ersten Schritt geprüft, ob ein aktiver Polygon-Layer Geometriefehler, also ungültige Geometrien (nach Geos-Regeln [3]) enthält. Sollten fehlerhafte Geometrien gefunden werden, so werden diese Datensätze automatisch selektiert. Nach der Ermittlung und Selektion fehlerhafter Polygone kann der Nutzer in einem zweiten Schritt entscheiden, ob diese fehlerhaften Polygone dann repariert werden sollen.
Hinweis
Obwohl es in vielfältigen Tests noch nie zu Fehlern bei der Reparatur kam, empfiehlt es sich, vor einer Reparatur den Datenbestand (Layer) vorsorglich zu sichern. Außerdem beachten Sie bitte die Nutzungsbedingungen!
Das Plugin installiert sich in der „Erweiterungswerkzeugleiste“, diese muss eingeschaltet sein.
Screenshot 2: Das Werkzeug in der Erweiterungswerkzeugleist
Hier ein kurzes Video zur Funktionsvorführung via Youtube [4]:
Nutzungsbedingungen
Das Plugin “QuickPolygonRepair” [1] kann ohne Einschränkungen sowohl privat als auch kommerziell genutzt werden. Das Plugin steht unter GNU GENERAL PUBLIC LICENSE Version 2, es gelten die im Paket unter LICENSE [5] genannten Bedingungen. Es wird empfohlen, vor der Reparatur den Urprungslayer zu sichern.
Haftung
Eine Haftung für die Richtigkeit aller Funktionen des Plugins kann trotz sorgfältiger Prüfung nicht übernommen werden. Das gilt auch für eventuelle Schäden oder Konsequenzen, die durch die direkte oder indirekte Nutzung der angebotenen Funktionen und Inhalte entstehen.
Ausführliche Informationen zum Plugin inkl. Nutzungsbedingungen und einiger erstaunlicher Tests findet Ihr unter “QGIS-Plugin: QuickPolygonRepair” [6].
“Im Video erkläre ich Euch, wie man Massenberechnungen für Baumaßnahmen mit QGIS umsetzen kann. Hierzu verwende ich ein DGM, erkläre wie man Höheninformationen an Vektorobjekte setzen kann, wie man drapiert (z-Werte aus einem DGM an ein Vektorobjekt setzt), wie man mit dem TIN Interpolationswerkzeug umgeht und dem Rasterrechner. Weiterhin nutze ich das Werkzeug Rasterpixel zu Punkte, Raster auf Layer zuschneiden und Punkte entlang einer Geometrie. Alles am Beispiel einer realen Planung.” [1]
Neulich an der GIS-Hotline folgendes Problem: Der Nutzer hatte ein reines Linienshape mit Parkplatzgeometrien aus einem Drittsystem und das Ziel was es, mit QGIS daraus Polygone mit korrekten Inselflächen zu erzeugen. Eigentlich sollte man meinen, ein erster Schritt, die Polygonbildung mit der Funktion “Linien zu Polygonen …” wäre völlig unkompliziert, aber mit diesen Liniendaten (viel zu viele und zu kleine Linienstücke, meist mit nur zwei Punkten) kam einfach nichts Vernünftiges raus. Also musste eine andere Lösung gefunden werden, diese wird hier quasi als kleines Kochbuch für QGIS beschrieben.
0. Ausganssituation und fehlgeschlagener Versuch der Polygonbildung mit der Funktion “Linien zu Polygonen …”
Screenshot 1: Ausgangsshape original aus dem DrittsystemScreenshot 2: fehlgeschlagener Versuch der Polygonbildung mit “Linien zu Polygonen …”Screenshot 3: Ergebnisse des fehlgeschlagenen Versuchs, leider unbrauchbar
1. Polylinien erzeugen: myLineShape mit “v.buid.polylines” und der Option Kategorienummermodus auf “first”, Ergebnis: myPolylineShape
Screenshot 3: Polylinien erzeugen: myLineShape mit “v.buid.polylines”Screenshot 4: Ergebnis der Polylinien-Erzeugung
2. Polygonbildung: myPolylineShape mit “Linien zu Polygonen”, jetzt erfolgreich, Ergebnis: myPolygonShape
Screenshot 5: Polygonbildung mit “Linien zu Polygonen”Screenshot 6: Ergebnis der Polygonbildung aber noch mit übereinander liegenden Flächen der Inseln auf dem Aussenpolygon (topologisch nicht korrekt)
3. myPolygonShape mit einer Flächespalte “myArea” ergänzen
Screenshot 7: Ergänzung der FlächenspalteScreenshot 8: Ergebnis mit Flächenspalte
4. aus myPolygonShape die größte Fläche selektieren und exportieren, Ergebnis: myPolygonShape_All
Screenshot 9: Selektion der größten FlächeScreenshot 10: Ergebnis – nur das Aussenpolygon des Parkplatzes
5. aus myPolygonShape alle kleineren Flächen selektieren und exportieren, Ergebnis: myPolygonShape_Islands
Screenshot 11: Selektion aller kleineren FlächenScreenshot 12: Ergebnis – nur die Inselpolygone des Parkplatzes
6. Differenzbildung mit “Differenz”, also myPolygonShape_all – myPolygonShape_Islands, Ergebnis: myPolygonShape_Result, ein Polygon topologisch korrekt mit allen rausgeschnittenen Inseln
Screenshot 13: Differenzbildung Aussenpolygon – InselpolygoneScreenshot 14: Ergebnis – ein Polygon topologisch korrekt mit allen rausgeschnittenen Inseln
Sicher gibt es auch andere Lösungen, wer eine bessere, einfachere oder elegantere Lösung kennt, bitte in den Kommentaren. Danke! Es würde sich ganz sicher lohnen, hier mal ein Model zu schreiben. Ich denk mal drüber nach 😉
Für Mac kam noch ein Postgres-Update hinzu. Ich habe mittlerweile die neuen Mac-Pakete installiert. Alles läuft erwartungsgemäß hervorragend in meiner GIS-Umgebung, also QGS 3.42.0 und PostgresApp auf 2.7.10 sowie PostgreSQL auf 16.8, Danke allen Mitwirkenden!
Screenshot 2: PostgreSQL 16.8 und PostGIS 3.4.4 auf MAC
Der Wheregroup-BLOG ist immer wieder eine coole und inspirierende Geo-Quelle für mich und vermutlich für alle Leser mit dem Fokus auf OPEN, also den Bereich der freien Software und der freien Daten. Danke Wheregroup, so muss Netzwerk!
Der neuste BLOG-Eintrag “Tipps & Tricks für die Geodatenverarbeitung” [1] von Mathias Gröbe beschäftigt sich in der Hautsache mit räumlichen SQL-Abfragen, also dem Aufteilen und Zusammenfassen von Geometrien sowie der Umkreissuche und der Ermittlung des nächsten Nachbars bereits auf Datenbank-Ebene. Gut erklärt und einfach nachzunutzen. Ich kann für mich sagen, wieder was dazu gelernt, “ST_subdivide()” kannte ich noch nicht. Meine unbedingte LESEEMPFEHLUNG!
Im QGIS-Tipp “Wenn der Text immer gewinnt?” [1] habe ich schon 2020 einen Weg beschrieben, wie der Beschriftungstext in QGIS wirksam unterdrückt werden kann. Nun habe ich eher zufällig einen anderen, auch mit QGIS-Bordmitteln zu realisierenden Weg gefunden: einfach in der Layergestaltung bei Beschriftung den Typ “Blockierend” auswählen. Die Wheregroup illustriert das wunderbar in einem kleinen Video “block_labe.mp4” [2]. In [3] wird dieser Typ “Blockierend” übrigens ganz treffend so beschrieben: “Keine Beschriftung, dafür aber Tabubereich für Beschriftungen anderer Layer”.
Screenshot: Layergestaltung bei Beschriftung den Typ “Blockierend” wählen (Quelle [2])
Screenshot: 162 FOSS4G 2024 Videos auf Youtube (Quelle [2])
Geo-Grüße aus dem Urlaub, aber so viel Zeit muss sein: Gestern kam die gute Nachricht direkt von Astrid Emde (FOSSGIS e.V.): “Alle gestreamten Vorträge sind jetzt auf dem FOSS4G YouTube-Kanal zu finden (bald auch im TIB AV Portal! Es können insgesamt 162 Videos aus dem Konferenzprogramm abgerufen werden.” [1]. Also 162 x hochaktuelles und interessantes Material aus der freien und offenen GIS-Welt, FOSS4G eben. Hier geht’s zur kompletten Playlist [2]. Danke Astrid für den Tipp!
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!
Ü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.