QGIS-Tipp: CIGeoE Converge Lines-Plugin

Animation: Das Plugin in Aktion

Manchmal sind es die ganz kleinen Dinge, die einem das GIS-Leben erleichtern können. Und diesmal habe ich es im QGIS-Plugin „CIGeoE Converge Lines-Plugin“ [1], [2] gefunden. Dort heißt es, CIGeoE Converge Lines ist ein

“Plugin zum Erstellen eines Konvergenzpunkts von Linien innerhalb eines ausgewählten Bereichs. Dieses Werkzeug sucht innerhalb des ausgewählten Bereichs nach Linienendpunkten, berechnet den Mittelpunkt zwischen diesen Scheitelpunkten und übersetzt die Endpunkte in die durchschnittlichen Punktkoordinaten.
Hinweis: Alle Linien mit Start- und Endpunkt innerhalb des ausgewählten Bereichs werden entfernt.”
[2]

Wichtig:
Das Plugin funktioniert derzeit “nur” für Linien-Themen mit Einzel-Geometrien. Ihr müsst also vorher ggf. Polygone in Linien und dann mehrteilige Geometrien in Einteilige umwandeln, also die QGIS-Funktion “Vektor / Geometrie-Werkzeuge / Mehrteilig zu einteilig…” auf Euer Thema ansetzen. Wenn man damit leben kann, funktioniert das Plugin tadellos. Ich hab es getestet, es klappt prima, nie war es einfacher, quasi mit einem Klick nichttopologische Daten zu topologisch korrekten Daten zu wandeln. Ich würde mir das auch so ähnlich für Polygons und Mehrfachgeometrien wünschen 😉

[1] … https://plugins.qgis.org/plugins/cigeoe_converge_lines/
[2] … https://gitlab.com/cigeoe/cigeoe_converge_lines

Schatten und Beleuchtung: Bumpmap!

Screenshot: Bumpmap in Aktion – die Alpen (Quelle [1])

Weltweite Geländemodellierung mit anpassbarer Unebenheit sowie Beleuchtung (Scheinwerfergröße, Umgebungs- und Schweinwerferfarbe) könnt Ihr mit der Bumpmap [1] von Steve Attewell (@steveattewell) auf Maptiler-Basis erleben. Es lohnt sich!

Hier der Original-Tweet [2]:

[1] … https://steveattewell.com/bumpmap
[2] … https://twitter.com/steveattewell/status/1634217225732124673?s=20

QGIS-Tipp: Bestagon-Plugin

Animation: Mein Test mit Rechtecken, Diamanten, Hexagonen

Manchmal sind es die ganz kleinen Dinge, die einem das GIS-Leben erleichtern können. Und diesmal habe ich es im QGIS-Plugin Bestagon [1], [2] gefunden. Ziemlich einfach, Daten in regelmäßigen Polygonen wie Rechtecken, Diamanten, Hexagonen, Dreiecken und Fischernetzen (Beta) in einem Schritt (!) zusammenzufassen, zu summieren (“NUMPOINTS”) und gleich per Farbkeil in n Klassen zu visualisieren. Ich habe es mal für die Bäume [3] aus dem Open Data Portal der Stadt Halle mit 1000m Kantenlängen getestet. Klappt prima, Klasse und Danke!

[1] … https://plugins.qgis.org/plugins/Bestagon-master/
[2] … https://github.com/KonstiDE/Bestagon
[3] … https://www.halle.de/de/Verwaltung/Online-Angebote/Offene-Verwaltungsdaten/Mit-Kartenbezug/?ID=fa3930b7-b3ed-b3fc-20d9-2fc8fd054b0e&SearchOpenData=b%C3%A4ume&K=Alle

Umfrage: Feedback für neue QGIS-Webseite gesucht!

Bildquellen [3]

In ihrem gestrigen Tweet [1] fragt QGIS.org [2] alle Nutzer, welches Design sie für die neu zu gestaltende QGIS-Webseite bevorzugen würden: “Jetzt ist die Zeit, sich zu engagieren! Bitte stimmen Sie für Ihr Lieblingsdesign für die neue QGIS-Website ab.” [1]. Alle sind gefragt, ich gebe die Umfrage [3] hier gern weiter. Schaut Euch die interaktiven Mockups an, stimmt ab, macht ggf. noch Ergänzungen.
Ich habe meinem Favoriten schon eine Stimme gesichert 😉

[1] … https://twitter.com/qgis/status/1648310441439797255?s=20
[2] … https://qgis.org/
[3] … https://docs.google.com/forms/d/e/1FAIpQL…….mvsA/viewform

Schon gewusst? Paschpunkte!

Bildquelle [1], [2]

Den Pasch kennen die meisten aus den Würfelspielen, auf Wikipedia [1] ist es allgemein beschrieben. Nun kann man sich die “gleiche Augenzahl” natürlich auch in der Welt der Geokoordinaten vorstellen. @PyQgis und @JWiegetritt haben es thematisiert und die georeferenzierten Paschpunkte [2] von Deutschland sind das Ergebnis, natürlich im QGIS visualisiert.

Und Ergänzung – @PyQgis meldet: “Und am Samstag kommt das Video 15 Uhr.”

[1] … https://de.wikipedia.org/wiki/Pasch_(Spiel)
[2] … https://twitter.com/PyQgis/status/1647503022547783680?s=20

QGIS-Tipp: File-Management

Manchmal sind es die ganz kleinen Dinge, die einem das GIS-Leben erleichtern können. Und diesmal habe ich es im QGIS-Plugin „File-Management“ [1] gefunden. Das lästige Umbenennen von Shapefiles via Export-Funktion oder 5…7 Dateien mit dem jeweils neuem gleichen Namen zu versehen war gestern, jedenfalls im QGIS. Einfach rechte Maustaste um Kontextmenü nutzen, Layer umbenennen und schon wird dieser auch auch im Quelldateisystem umbenannt. Klasse und Danke!

Screenshot: QGIS-FileManger-Plugin im Kontextmenü des Themas

[1] … https://plugins.qgis.org/plugins/file_management/

Open Data: Demos für DSGK-WMS Halle (Saale)

Weil es immer mal wieder angefragt wurde, hier zwei Quick&Dirty-Demos für die Nutzung des DSGK-WMS Halle (DSGK=Digitale Stadtgrundkarte) [1] in OpenLayers [2] und Leaflet [3] …

OpenLayers-Demo
Leaflet-Demo
Der DSGK-WMS im QGIS

[1] … https://www.halle.de/de/Verwaltung/Online-Angebote/Offene-Verwaltungsdaten/Mit-Kartenbezug/index.aspx?ID=f398a5d8-9dce-cbbc-b7ae-7e1a7f5bf809
[2] … https://www.geoobserver.de/DSGK_WMS_HAL_Test/index.html
[3] … https://www.geoobserver.de/DSGK_HAL_WMS_leaflet_demo_1.html

QGIS-Tipp: Flussbreiten ermitteln, aber wie? Update.

Nach dem erstaunlichen Echo* auf meinen vorgestrigen Beitrag “QGIS-Tipp: Flussbreiten ermitteln, aber wie?” [1] hier nun noch die angekündigte Ergänzung. Am eigentlichen Algorithmus ändert sich gar nichts, der bleibt wie beschrieben. Um jedoch noch bessere Ergebnisse zu erhalten, macht es Sinn, sich noch mal die Generierung des Fluss-Mittellinie genauer anzuschauen. Ziel war es, bessere Mittellinien zu erzeugen, also am besten aus den Uferlinien direkt und nicht aus einem Datenbestand anderer Herkunft und Erfassungsgenauigkeit. Die gesuchte Funktion ist die “Centerline”. Ich habe etliche Funktionen in verschiedenen Plugins getestet, die meisten schlugen aber leider fehl, ob es an mir lag oder meinen Daten …, ich weiß nicht. Erfolg hatte ich mit der “Skeleton”-Funktion im Plugin “BecaGIS” [2] angewendet auf das Gewässer-Polygon. Kleine “Faserstücke” an den Rändern wurden mittels Selektion (z. B. $length < 40 eleminiert). Die Erzeugung dieser Mittellinie ist dem Schritt 1 zuzuordnen.

Die so verbesserte Mittellinie führt marginal zu besseren Ergebnissen, die Senkrechten auf der Mittellinie stehen mitunter etwas rechtwinkliger zu den Uferlinien (vgl. Screenshot 6).

Screenshot 1: Berechnung der Mittellinie mit der “Skeleton”-Funktion. Die kleinen “Faserstücke” (Gelb) an den Rändern wurden mittels Selektion (z. B. $length < 40 eleminiert). Übrig blieb die neue Mittellinie (Rot)
Screenshot 2: Unterschiedliche Fluss-Mittellinien aus OSM (Blau) und berechnet aus den Ufergrenzen mit der “Skeleton”-Funktion (Grün)
Screenshot 3: Ergebnis für die OSM-Variante (Blau)
Screenshot 4: Ergebnis für die “Skeleton”-Variante (Grün)
Screenshot 5: Ergebnisse für beide Varianten OSM-(Blau) und “Skeleton” (Grün) mit marginal besseren Ergebnissen bei “Skeleton”
Screenshot 6: Die Senkrechten auf der Mittellinie stehen bei “Skeleton” (Grün) etwas rechtwinkliger zu den Uferlinien

Hinweis:
Ein wichtiger Tipp nach der Verlässlichkeit der Uferlinien wurde noch in Kommentar 3 in [1] gegeben, also welchen Ursprung haben diese und was verbirgt sich wirklich dahinter. Ist es das mittlere Wasser, quasi der Durchschnitt z. B. im Jahr oder das Ergebnis einer Vermessung zu einem zufälligem Datum oder …

Und hier das Ganze noch mal als Galerie zum Blättern:

* … innerhalb von ca. 48h:
– im Twitter ca. 9453Aufrufe, 28 Retweets, 146 Likes, 30 neue Follower 🙂
– FaceBook: 166 Likes, 50x geteilt

[1] … https://geoobserver.de/2023/03/27/qgis-tipp-flussbreiten-ermitteln-aber-wie/
[2] … https://plugins.qgis.org/plugins/becagis/

QGIS-Tipp: Flussbreiten ermitteln, aber wie?

Bitte beachtet auch das Update zu diesem Beitrag [5].

Vor kurzem gab es in den Kommentaren des Beitrages “QGIS-Tipp: Länge und Breite eines Polygons?” [1] die Frage nach der Ermittlung von Flussbreiten. Angepingt durch diese Frage habe ich mich mal mit einer Lösung beschäftigt und bin in [2] und [3] fündig geworden, um dann gleich mal folgendes Kochbuch für QGIS am Beispiel der Saale in Halle (Saale) zu schreiben:

Schritt 1: Die nötigen Ausgangsdaten besorgen, hier die Uferlinien (entnommen aus der Digitalen Stadtgrundkarte der Stadt Halle) und Fluss-Geometrien (entnommen aus den OSM-Daten mittels Overpass Turbo Export gesucht nach “river”) – diese werden als annähernde Mittellinien des Flusses angenommen. Es muss übrigens nicht die exakte Mittellinie sein, aber, je mittiger, desto besser, weil der rechte Winkel zum Ufer insbesondere in Kurven besser erreicht wird.


Schritt 2: Flussmitte “Auflösen” (dissolve), um einen durchgehenden Linienzug zu generieren und somit nur einen Start-Punkt für die Stützstellen-Interpolation in Schritt 4 zu haben


Schritt 3: Glätten Flussmitte-Mittellinie mit der Funktion “Glatt” (smooth), ich habe mit vier Iterationen getestet


Schritt 4: Punkte alle 100m auf Mittellinie mittels “Punkte entlang einer Geometrie” erzeugen


Schritt 5: Senkrechte Geometrien auf Punkten berechnen mittels “Geometrie nach Ausdruck” mit einer Weite, die größer als angenommene maximale Breite (hier 80m) ist, hier mit dem Ausdruck aus [3].

extend(
   make_line(
      $geometry,
       project (
          $geometry, 
          80, 
          radians("angle"-90))
        ),
   80,
   0
)


Schritt 6: “Zuschneiden” an Ufergrenzen (Clip) und
Schritt 7: Symbolisieren mit Pfeilen und Bemaßung


Optional dann Schritt 8: Freuen, nach Verbesserungen suchen und ggf. ein QGIS-Model draus machen oder am Besten einfach mal ein vollkommen dynamisches Modell mit dem Geometrie-Generator erzeugen, also quasi OnTheFly-Generieren ohne Zwischenthemen? Und vielleicht kann man noch nach [4] die Mittellinie des Flusses optimieren? Ich werde es testen.

Und weiter geht es noch mit der Analyse, hier die breiteste Stelle der Saale in Halle am Wehr in Trotha:

. . . und die Prüfung der Ergebnisse mit dem Messwerkzeug – sogar an den Inseln funktioniert es perfekt. Hier gerundete 32m + 57m = 89m:

Und hier das Ganze noch mal als Galerie zum Blättern:

Mein Projekt als Demo “QGIS_WidthOfTheRiver.zip” zum Download (17,1 MByte)

[1] … https://geoobserver.de/2023/03/24/qgis-tipp-lange-und-breite-eines-polygons/#comments
[2] … https://gis.stackexchange.com/questions/425459/calculating-width-of-unusually-shaped-polygon-in-qgis
[3] … https://gis.stackexchange.com/questions/380361/creating-perpendicular-lines-on-line-using-qgis
[4] … https://geoobserver.de/2021/09/22/qgis-tipp-mittellinie-zwischen-zwei-anderen-linien/
[5] … https://geoobserver.de/2023/03/30/qgis-tipp-flussbreiten-ermitteln-aber-wie-update/

Released: Graphhopper 7.0

Am 14. März veröffentlichte die Graphhopper-Community in ihrem Blogeintrag “GraphHopper Routing Engine 7.0 Released” [1] die neue Version 7.0 des bekannten freien Routing-Systems.

Screenshot: Blogeintrag mit der Graphhopper 7.0 Ankündigung (Quelle [1])

Die wichtigsten Neuerungen betreffen:

  • Verbesserte Umsetzung von Abbiegebeschränkungen
  • Anpassbares Routing
  • Benutzerdefinierte Bereiche
  • und … viele andere Verbesserungen und Bugfixes

Eine detaillierte Liste der Neuerungen findet Ihr auf GitHub [2]

[1] … https://www.graphhopper.com/blog/2023/03/14/graphhopper-routing-engine-7-0-released/
[2] … https://github.com/graphhopper/graphhopper/releases/tag/7.0