Tempo 30 gibt es seit 1979 in Deutschland, jedoch ist es immer noch ein hochpolitisches, für manche sogar ein durch Ideologie geprägtes Thema. Aber, um es wirklich fassen zu können, braucht man Fakten. Und diese findet Ihr z. B. im aktuellen Nationalatlas-Thema “Tempo 30 in Großstädten” [1], [2]. Alle Tempo30-Zonen in den Großstädten Deutschlands zzgl. der Information, wieviel Straßenkilometer gibt es in dieser Stadt und wieviel davon sind schon oder eher erst Tempo30? Den kompletten Beitrag mit ausführlicher Beschreibung, die Auswirkungen auf das deutlich verbesserte Unfallgeschehen, die reduzierten Schadstoffemissionen und die Raummuster findet Ihr im PDF (ca. 1,7 MByte) [3].
Screenshot 1: Nationalatlas-Thema “Tempo 30 in Großstädten” (Quelle [1], [2]).Screenshot 2: Tempo30-Zonen in Halle (Saale) (Quelle [2])Screenshot 3: Tempo30-Zonen in Berlin – ganz vor mit > 60% (Quelle [2])
Der Tipp kam von Sven Schroeter (@sven_s8), Danke Sven!
Ich habe das Paket installiert und es läuft erwartungsgemäß hervorragend in meiner GIS-Umgebung, also QGIS 3.30.1 zusammen mit PostgreSQL v15.2 auf einem MAC mit M1 unter dem inzwischen wieder aktualisiertem macOS 13.3 Ventura, siehe Screenshot. Danke allen Mitwirkenden!!!
Screenshot: Eingebettete QGIS-Karten im Word (Quelle [1])
Stellt Euch vor, Ihr habt die Ergebnisse Eurer Geoarbeiten im QGIS als Karten in Word- und/oder LibreOffice-Dokumenten eingebettet und nun ändern sich jedoch die Inhalte. Es müssten demzufolge alle Eure Karten in allen Dokumenten aktualisiert werden, aber bitte nicht per Hand, sondern automatisch. Im folgendenYoutube-Video “Link to and autoupdate QGIS maps in a Word document” [1] findet Ihr den Workflow dazu. Der Tipp von Anita Graser (@underdarkGIS) [2], Danke!
@PyQGIS hat mal wieder ein interessantes Youtube-Video “ZEITRAFFER erstellen am Beispiel der größten Mine” [1] eingestellt. Er stellt die wunderbare Timelapse-Anwendung und -Nutzung von Qiusheng Wu (@giswqs) [3] vor. Schaut Euch an, wie einfach aus den Landsat-Satellitenbildern sein 1984 Zeitraffer gemacht werden können und macht es in Eurer Gegend nach, es lohnt sich!
Ich habe das schon mal 2020 [4] vorgestellt, die Faszination bleibt, meine Test diesmal, der Geiseltalsee und es ist schon erstaunlich, wie aus diesem riesigen Braunkohlentagebau innerhalb weniger Jahre eines der beliebtesten Naherholungsgebiete geworden ist.
Screenshot: Die OSM-Landnutzung im Gebiet von Halle (Saale) mit eingeschalteter Browser-Übersetzung des Chrome (Quelle [2])
Nach einem Tweet [1] von GIScienceHD + HeiGIT (@GIScienceHD) gibt es große Neuigkeiten bzgl. neuer Funktionen bei osmlanduse.org [2], nämlich separate Datenschichten, Basisschichten für eine schnelle visuelle Analyse. In [2] heißt es zum Projekt:
“OSM Landuse Landcover ist eine WebGIS-Anwendung, um die OpenStreetMap-Datenbank speziell im Hinblick auf Landnutzungs- und Landbedeckungsinformationen zu durchsuchen.” [2]
Nach kleiner Suche im Quelltext habe ich auch die WMS-URL gefunden und ins QGIS eingebunden:
https://maps.heigit.org/osmlanduse/service
Screenshot 2: Die OSM-Landnutzung im Gebiet von Halle (Saale) als WMS im QGISScreenshot 2: Einbindung der OSM-Landnutzung im Gebiet von Halle (Saale) als WMS im QGIS
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
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].
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:
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]