MapServer: v8.4.0 released!

Noch in diesem Jahr können wir den 25. Geburtstag des MapServers feiern, der erste Commit war am 11.04.2000 [1]. Im Vorfeld freuen wir uns über ein neues Release, den MapServer v8.4.0 [2], angekündigt vom MapServer-Urgestein Jeff McKenna in der Mailing-Liste [3] und 25 Jahre illustriert mit einem beeindruckenden Video [4], [5]. Ich freu mich wirklich, habe ich doch den MapServer bereits 2001 im KomGIS+ Vorgänger/Prototypen GIS+ und HALgis erfolgreich eingesetzt und bin ihm zusammen mit meinen Kollegen im KomGIS+, HALgis und dem halleschen Open Data Portal bis heute treu geblieben. Danke alle Mitwirkenden, Großartig!

Hier der Original-Tweet [3]:

[1] … https://x.com/mapserving/status/1381294124062666753?s=20
[2] … https://mapserver.org/development/announce/8-4.html
[3] … https://lists.osgeo.org/pipermail/mapserver-users/2025-January/083576.html
[4] … https://x.com/mapserving/status/1879921637736477187
[5] … https://vimeo.com/1047526959

QGIS-Tipp: 3.40.3 “Bratislava” für MacOS verfügbar! Test@MacM1

Seit Samstag, den 18.01.2025 steht das QGIS 4.30.3-Update für Mac [1] zum Download bereit. Ich habe es am Wochenende installiert und es läuft erwartungsgemäß hervorragend in meiner GIS-Umgebung, also auf MacOS Sequoia 15.2 und der PostgresApp 2.7.10 mit PostgreSQL 16.6, Danke allen Mitwirkenden!

[1] … https://download.qgis.org/downloads/macos/pr/?C=M;O=D

PostgreSQL: Monitoring mit „\watch“

Wer in der Datenbank bestimmte Zustände und Änderungen beobachten will, muss immer wieder den gleichen SQL-Befehl ausführen. Via History-Funktion kann man auf der Kommandozeile die letzten Befehle ohne Neueintippen wiederholen, aber es bleibt trotzdem lästige Handarbeit. Abhilfe schafft in einer PostgreSQL-Datenbank die Verwendung des „\watch“ Kommandos [1]. Einfach den gewünschten SQL-Befehl um „\watch [sekunden]“ ergänzen und das SQL-Statement wird aller paar [sekunden] wiederholt. Einfacher geht es nicht. Wieder was dazu gelernt, Danke Crunchy Data!

Screenshot: Mein Test mit einem SQL-Kommando inkl. „\watch 2“ für Wiederholungen alle 2 Sekunden

Die vollständige Usage des „\watch“ Kommandos nach [1]:

\watch [ i[nterval]=seconds ] [ c[ount]=times ] [ m[in_rows]=rows ] [ seconds ]

Hier der Original-Tweet [2]:

[1] … https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMAND-WATCH
[2] … https://x.com/crunchydata/status/1879247755287155018

Zeichnen auf Webkarten: Terra Draw

Screenshot: Mein erster Test in Halle (Saale) (Bildquelle [1])

Wer sich mit Webclienten im Geoumfeld beschäftigt, sollte auch einmal einen Blick auf Terra Draw [1] von James Milner (@JamesLMilner) werfen. Auf den Terra Draw-Github-Seiten [2] heißt es:

“Reibungsloses Kartenzeichnen über Kartenbibliotheken hinweg.
Terra Draw zentralisiert die Kartenzeichnungslogik und bietet eine Vielzahl sofort einsatzbereiter Zeichenmodi, die mit verschiedenen JavaScript-Mapping-Bibliotheken funktionieren.”

Im Editor werden derzeit Punkte, Linien, Polygone via Stützstellen oder Freihandzeichnung sowie Rechtecke und Kreise unterstützt. Mittels “Adaptern” stehen Schnittstellen zu folgenden Geo-Client-Bibliotheken bereit: Leaflet, OpenLayers, MapLibre GL JS, Google Maps JS API, Mapbox GL JS und ArcGIS JavaScript SDK. Eine Anleitung zum Einstieg findet Ihr bei [3], die API-Docs unter [4].

Hier der Original-Tweet [5]:

[1] … https://terradraw.io/
[2] … https://github.com/JamesLMilner/terra-draw
[3] … https://github.com/JamesLMilner/terra-draw/blob/main/guides/1.GETTING_STARTED.md
[4] … https://terradraw.io/#/api
[5] … https://x.com/JamesLMilner/status/1878889071881383969

Mapscaping: Global Elevation Data Download Tool

Über den Download von Höhendaten habe ich hier schon mehrmals berichtet, z. B. über SRTM-Daten [1]. Nun hat Mapscaping einen neuen Downloader, das “Global Elevation Data Download Tool” [2] für freie Höhendaten veröffentlicht, der m. E. den Download so einfach wie nur möglich macht. Einfach das gewünschte Gebiet grafisch auswählen, Quelle der Daten und Zielformat festlegen und den Download starten. Ich habe es mal ganz auf die Schnelle im Gebiet von Halle (Saale) getestet (Screenshot 1) und den nach wenigen Sekunden als GeoTIFF bereit stehenden Download im QGIS geladen und visualisiert (Screenshot 2). Klappt problemlos, Danke! 🙂

Screenshot 1: Mein Testgebiet in Halle (Saale) während des Generierens (Bildquelle [2])

Angeboten werden derzeit folgende Datenquellen:

  • SRTM GL3 (90m)
  • SRTM GL1 (30m)
  • SRTM GL1 Ellipsoidal (30m)
  • ALOS World 3D (30m)
  • ALOS World 3D Ellipsoidal (30m)
  • SRTM15Plus (500m)
  • NASADEM
  • COP30 (Copernicus Global DSM 30m)
  • COP90 (Copernicus Global DSM 90m)
  • EU_DTM (30m)
  • GEDI_L3 (1000m)
  • GEBCOIceTopo (500m)
  • GEBCOSubIceTopo (500m)

Als Zielformat könnt Ihr wählen zwischen:

  • GeoTiff (GTiff)
  • Arc ASCII Grid (AAIGrid)
  • Erdas Imagine (.IMG)
Screenshot 2: Das erhaltene GeoTIFF im QGIS geladen und visualisiert

[1] … https://geoobserver.de/?s=srtm%2C&submit=Suchen
[2] … https://mapscaping.com/global-elevation-data-download-tool/

GDAL Released: v3.10.1

Gestern, den 13.01.2025 gab Even Rouault per Mail [1] bekannt, dass eine neue Version (Bugfix Release) der universellen GDAL-Bibliothek [2] zur Verfügung steht, aktuell ist nun GDAL v3.10.1. GDAL steht für Geospatial Data Abstraction Library und ist vor allem als Kommandozeilen-Tool, aber auch als wesentlicher Bestandteil von QGIS bekannt. Die Neuerungen findet Ihr auf GitHub [3].

[1] … https://lists.osgeo.org/pipermail/gdal-dev/2025-January/060066.html
[2] … https://gdal.org/
[3] … https://github.com/OSGeo/gdal/blob/v3.10.1/NEWS.md

OpenStreetMap: Category Viewer

Es gibt viele Wege, sich den Daten des freien OpenStreetMap-Projektes [1] zu nähern und in diesen zu recherchieren. Mitunter erscheinen viele dieser aber doch recht kompliziert. Ein wunderbares kleines Tool, um hier Einiges zu vereinfachen, habe ich kürzlich im OpenStreetMap Category Viewer [2] gefunden. Einfach die gewünschte Kategorie wählen, Suche starten und die Ergebnisse konsumieren und ggf. dort weiter suchen inkl. raumbezogener Darstellung und Identifikation. Ich habe es mal getestet: Gebiet von Halle (Saale), gesucht in der Kategorie “Historic”. Gefunden wurden z. B. 249 Denkmale (“memorial”) und dann auf die Halle-Saale-Schleife zur Identifikation geklickt. Einfacher geht’s nun wirklich nicht. Bei Bedarf können die Daten dann gleich als GeoJSON herunter geladen werden und als Extra bekommt man natürlich quasi nebenbei einen Eindruck, wo ggf. noch Tags fehlen und kann sie ergänzen 🙂

Screenshot: Meine oben beschriebene Test (Bildquelle [2])

Hier der Original-Tweet [3]:

[1] … https://www.openstreetmap.org/#map=12/51.4781/11.9524
[2] … https://mapscaping.com/openstreetmap-category-viewer/
[3] … https://x.com/MapScaping/status/1877168990029488638
[4] … https://www.reddit.com/r/QGIS/comments/1hxmwy0/meet_the_ openstreetmap_category_viewer_i_made/?rdt=34852

QGIS-Tipp: Vorschau auf Geometry Checker/Fixer

Screenshot: Neue Funktionen zum Geometrie Check und zur Geometrie Reparatur (Bildquelle [2])

In den letzten Tagen hat Totò Fiandaca (alias @totofiandaca) gleich 2x die im Februar 2025 in QGIS v3.42 zu erwartenden neuen Funktionen zum Geometrie Check und zur Geometrie Reparatur thematisiert. Danke Totò, man darf wirklich gespannt sein! Die neuen Funktionen werden in der Toolbox verfügbar sein, folgende sind geplant:

  • Check geometry
    • Check geometry (Angle)
    • Check geometry (Area)
    • Check geometry (Hole)
    • Check geometry (Missing Vertex)
  • Fix geometry
    • Fix geometry (Angle)
    • Fix geometry (Area)
    • Fix geometry (Hole)
    • Fix geometry (Missing Vertex)

Im folgenden Video (italienisch) [2] zeigt Totò die neuen Funktionen:

Hier die Original-Tweets [1], [3], in [3] mit einem ersten Graphic Model, um die neuen Funktionen zu automatisieren.

[1] … https://x.com/totofiandaca/status/1876567158786081205
[2] … https://www.youtube.com/watch?v=V7SOOtmxkRY
[3] … https://x.com/totofiandaca/status/1877005343231717601

Stau & Co: Interaktive Verkehrssimulation

Wie eigentlich kommt ein Stau zustande, welchen Einfluß haben die Verkehrszuflüsse, die Hindernisse wie z. B. Geschwindigkeitsbeschränkungen oder Bausstellen, wie wirken sich LKW-Anteil sowie Fahrzeugfolge- und Spurwechselverhalten aus? All diese Fragen können mit den JavaScript-basiserten Simulationstools vom Dr. Martin Treiber, TU Dresden [1] simuliert und visualisiert werden.

Erstaunlich und faszinierend, wie schnell so ein Stau entstehen kann, schaut es Euch mal an, für mich hat es einen gewissen Suchtfaktor 😉 Ich habe es mal mit dem ersten Tool “Interactive Traffic Simulation new version (V13) with intersections and tests” [2| getestet und einfach nur mal so eine Geschwindigkeitsbegrenzung auf 30 km/h eingebracht. Das Ergebnis seht Ihr in der folgenden Animation:

Animation: Geschwindigkeitsbegrenzung auf 30 km/h mit dem Tool “Interactive Traffic Simulation new version (V13) with intersections and tests” [2]

Der Tipp kam von Jakob Kranz, Danke!

[1] … https://mtreiber.de/
[2] … https://traffic-simulation.de/

Wann eigentlich ist es in Halle genau 0:00 Uhr?

Screenshot 1: Halle bei 12° und Görlitz bei 15° im QGIS

Zum Jahreswechsel passierte es schon wieder und fast wir hätten das Neue Jahr um 0:00 Uhr verpasst. Da der #geoObserver anwesend und wir räumlich in Halle waren, gab es sofort die Relativierung: “Naja, geographisch ist es ja in Halle noch nicht 0:00 Uhr, unsere offizielle Zeit kommt ja quasi aus Görlitz, also haben wir noch nichts wirklich verpasst”. Erstaunen in der Runde und … etliche Zeit nach Sekt, Umarmungen und guten Wünschen der Versuch einer Erklärung. Eigentlich sollten das doch alle kennen, wir hatten das in der Schule, in Geographie, ich schätze, es muss so in der 7. oder 8. Klasse gewesen sein.

Zur Erinnerung:
Einmal um die die Erde sind es 360° und der Tag hat 24 h. Damit entspricht eine Stunde 15 ° (nämlich 360° / 24 h = 15 °/h). Die Zählung beginnt bekanntermaßen in Greenwich in London bei 0° und das ist auch die Mitte der ersten Zeitzone Greenwich Mean Time (GMT) [1] . Und genau 15° weiter östlich auf dem 15° Meridian [2], also die Mitte der zweiten Zeitzone GMT+1 liegt Görlitz. Es gibt dort sogar einen Meridianstein [2], hier in OpenStreetMap [3], um auf diese Besonderheit aufmerksam zu machen.

Zurück in Halle auf dem 12°, also 3° westlich von Görlitz: Wenn nun 60 min = 15° entsprechen, dann entsprechen 4 min = 1 °, also ist die zeitliche Differenz Görlitz-Halle 12 Minuten (4 min * 3°). Das heißt, bei 0:00 Uhr MEZ (Görlitz) ist es in Halle geografisch erst 23:48 Uhr und wir hätten quasi pünktlich 0:12 Uhr MEZ das neue Jahr begrüßen können, aber wir haben es ja auch so geschafft 😉

Screenshot 2: Die Zeitzonen (Bildquelle: Wikipedia [4])

Und ganz verständlich erklärt findet Ihr es im Beitrag “Zeitrechnung und Zeitzonen” beim Lernhelfer [5].

Update: 07.01.2025:
Und wer es ganz genau wissen will beachte bitte auch noch den Sonnentaq, vgl. Kommentar 3.

[1] … https://de.wikipedia.org/wiki/Greenwich_Mean_Time
[2] … https://www.goerlitz.de/15.-Meridian.html
[3] … https://www.openstreetmap.org/node/389958867#map=19/51.150299/14.998395&layers=D
[4] … https://commons.wikimedia.org/wiki/File:Zeitzonen.jpg
[5] … https://www.lernhelfer.de/schuelerlexikon/geografie/artikel/zeitrechnung-und-zeitzonen