QGIS-Tipp: wttr.in & QGIS

Kennt Ihr schon wttr.in [1], eine Online-Wetter-Auskunft auf der Kommandozeile, die schnell und präzise mit etwas Vintage-Charme die Wettervorhersage ausschließlich mit Text und die Wettersymbole als ASCII-Art darstellt. Mit Curl direkt auf der Konsole (im Terminal) zur nutzen. Der Aufruf im Browser https://wttr.in/ oder https://wttr.in/”Halle (Saale)”. Eine sehr große Zahl von Parametern steht zur Verfügung, die Hilfe dazu könnt Ihr mit https://wttr.in/:help [5] aufrufen.

Screenshot 1: Standardausgabe mit akt. Wetter und Voraussage für drei Tage
Screenshot 2: Reduzierte Ausgabe

Nun wollte ich dan Ganze mal direkt im QGIS nutzen, einfach eine kleine Karte mit der Tooltipp-Funktion (“Kartenhinweise anzeigen”) via HTML, hier die einfache Darstellung für das aktuelle Wetter im iFame auf die Spalte “ort” im Datenbestand. Klappt, na bitte … Sicher gibt es genügend andere und elegantere Möglichkeiten, Wetterdaten ins QGIS zu holen, aber mit wttr.in wollte ich es auch mal probieren 😉

Screenshot 3: Einbindung ins QGIS
Screenshot 4: Nutzung im QGIS
Screenshot 5: Nutzung im QGIS animiert

Das Testprojekt steht Euch unter QGIS_wttr_in_curl_Test.zip [6] zur Verfügung, viel Spaß damit.

[1] … https://blog.v-gar.de/2016/05/wetterdaten-im-terminal-mit-wttr-in/
[2] … https://github.com/chubin/wttr.in
[3] … https://wttr.in/”Halle (Saale)”
[4] … https://wttr.in/Halle_Saale?0n
[5] … https://wttr.in/:help
[6] … http://www.geoobserver.de/Download/QGIS_wttr_in_curl_Test.zip

ChocoTopo: QGIS für Feinschmecker!?

Screenshoot (Quelle [1]), leicht modifiziert.

3D-Print von Geodaten ist nun schon oft beschrieben worden, das hat viel Potenzial, wirklich neu ist es nicht mehr. Eine interessante Idee hatten nun Studierende der Harvard Graduate School of Design und des Harvard College und diese haben sie dann auch realisiert: Geodaten in 3D-Schokolade, ChopcoTopo eben! Genutzt haben sie die klassischen 3D-Informnation beinhaltenden Daten, DEM und Satellitenbilder mit Höhen. Genutzt wurde auch QGIS, dann 3D-Negativ-Formen gedruckt, Schokolade rein, kalt werden lassen und … fertig!
Geo-Daten mit Geschmack hatten wir übrigens schon mehrmals [3], [4] 😉
Ich hoffe, damit nun endlich auch den letzten invasiv-Excel-nutzenden GIS-/Geo-Verweigerer mit dieser Schokolade ins GIS-Boot zu bekommen, was meint Ihr?

[1] … https://www.topochoco.com/
[2] … https://twitter.com/pokateo_/status/1435312490582261770?s=20
[3] … https://geoobserver.de/2012/09/21/geodaten-schmecken/
[4] … https://geoobserver.de/2018/01/11/geodaten-schmecken-die-2/

Interessant: Geoapify – eine weitere GEO-API!

Screenshoot: Pricing-Seite FREE-API (Quelle [4])

Mit Geoapify [1] steht eine weitere API als Google-Alternative im Geobereich zur Verfügung. Es kann sich durchaus lohnen, dort mal nachzuschauen, denn schon in der FREE-Variante stehen Euch bis zu je 3000 Geocoding-, Place-, Routing- und Isolines-Requests zur Verfügung.

Zu den Daten wird auf der geocodig-api-Seite [3] folgendes gesagt: “Die Geokodierungs-API arbeitet mit internationalen Adressen und liefert Ergebnisse in einer bestimmten Sprache. Wir verwenden mehrere Datensätze, darunter OpenStreetMap, OpenAddresses, Who’s on First, Geonames, Wikipedia und weitere. Die benutzerdefinierten Datensätze können auf Anfrage importiert werden.”

Mein erster Test mit Geocoding [2] war erfolgreich, siehe unten:

Mein Input:

housenumber;street;city;postcode;country
50;Torstrasse;Halle (Saale);06110;Germany
51;Torstrasse;Halle (Saale);06110;Germany
52;Torstrasse;Halle (Saale);06110;Germany
53;Torstrasse;Halle (Saale);06110;Germany

Der Geoapify-Output:

given_housenumber,given_street,given_city,given_postcode,given_country,lat,lon, formatted,housenumber,street,postcode,suburb,city,state,state_code,country, country_code,confidence,confidence_city_level,confidence_street_level,attribution, attribution_license,attribution_url
50,Torstrasse,Halle (Saale),06110,Germany,51.4738795,11.9649415,"Torstraße 50, 06110 Halle (Saale), Deutschland",50,Torstraße,06110,Südliche Innenstadt,Halle (Saale),Sachsen-Anhalt,ST,Deutschland,de,1,1,1,© OpenStreetMap contributors,Open Database License,https://www.openstreetmap.org/copyright
51,Torstrasse,Halle (Saale),06110,Germany,51.4738818,11.9651541,"Torstraße 51, 06110 Halle (Saale), Deutschland",51,Torstraße,06110,Südliche Innenstadt,Halle (Saale),Sachsen-Anhalt,ST,Deutschland,de,1,1,1,© OpenStreetMap contributors,Open Database License,https://www.openstreetmap.org/copyright
52,Torstrasse,Halle (Saale),06110,Germany,51.4738842,11.9653768,"Torstraße 52, 06110 Halle (Saale), Deutschland",52,Torstraße,06110,Südliche Innenstadt,Halle (Saale),Sachsen-Anhalt,ST,Deutschland,de,1,1,1,© OpenStreetMap contributors,Open Database License,https://www.openstreetmap.org/copyright
53,Torstrasse,Halle (Saale),06110,Germany,51.4738863,11.9655688,"Torstraße 53, 06110 Halle (Saale), Deutschland",53,Torstraße,06110,Südliche Innenstadt,Halle (Saale),Sachsen-Anhalt,ST,Deutschland,de,1,1,1,© OpenStreetMap contributors,Open Database License,https://www.openstreetmap.org/copyright

[1] … https://www.geoapify.com/
[2] … https://www.geoapify.com/tools/geocoding-online
[3] … https://www.geoapify.com/geocoding-api
[4] … https://www.geoapify.com/pricing
[5] … https://twitter.com/geoapify/status/1434876040715853830?s=20

QGIS-Tipp: Geometriegenerator

Vorgestern gab es via bei Twitter folgende Anfrage: “Ich möchte mithilfe des Geometriegenerators den Zentroid eines aus einem Punktdatensatz (7 Punkte) erstellten Polygon mit einem noch nicht definierten Abstand puffern und dies als “Lage im Raum” darstellen.” [1]. Wie man das mit “normalen” Geoprocessing-Funktionen des QGIS lösen kann, eher kein Problem, aber dann entstehen ggf. immer wieder zusätzliche Layer. Die Forderung war ja, es mit dem Geometrie-Generator zu lösen. Unser Interesse war geweckt, wir wollten es wissen. Eigentlich auch nicht schwierig, nur konnte ich QGIS erstmal nicht überreden, die Punkte als gemeinsame Geometrie zu betrachten, QGIS wollte das immer für jeden Punkt einzeln tun. Die entscheidende Idee hatte dann mein Kollege mit “arrray_foreach” und “aggregate”, der Rest drum herum war ja schon fertig.

Wer den Code verbessern möchte, gern hier als Kommentar. Wir sind gespannt!

Mehrere Punkte hinzufügen und löschen, Konvexe Hülle, deren Centroid und der Buffer um diesen passen sich an

Unser Code:

buffer(centroid(
convex_hull(
make_line(
array_foreach( aggregate( @layer_name, 'array_agg', $id),
geometry( get_feature_by_id( @layer_name, @element))
)
)
)
),50
)

Projekt und Testdaten stehen Euch zur Nachnutzung als Download zur Verfügung [2].

Ansicht im QGIS 3.20 @Mac.
https://twitter.com/alwazi88/status/1435168461823619078?s=20

[1] … https://twitter.com/alwazi88/status/1435168461823619078?s=20
[2] … http://www.geoobserver.de/Download/qgis_geometrygenerator_points_ line_convexhull_centroid_buffer.zip

GDAL: Released v3.3.2

Per Mail [1] gab Even Rouault gestern bekannt, dass seit dem 07.09.2021 eine neue Version der universellen GDAL-Bibliothek [2] zur Verfügung steht. GDAL ist vor allem als Kommandozeilen-Tool, aber auch als wesentlicher Bestandteil von QGIS bekannt ist. Die Neuerungen findet Ihr auf GitHub [3], die Downloads bei GDAL [4] und OSGEO [5].

[1] … https://lists.osgeo.org/pipermail/gdal-dev/2021-September/054648.html
[2] … https://gdal.org/
[3] … https://github.com/OSGeo/gdal/blob/v3.3.2/gdal/NEWS
[4] … https://gdal.org/download.html
[5] … https://download.osgeo.org/gdal/3.3.2/


Open Data in HAL – ein Praxisbericht aus Halle (Saale)

Zum 13. Geofachtag des netzwerk | GIS Sachsen-Anhalt durfte ich den Vortrag “Open Data in HAL – ein Praxisbericht aus Halle (Saale)” halten. Da mittlerweile immer mehr Anfragen bei mir ankommen, stelle ich den Vortrag hiermit gern als Download zur Verfügung.

[1] … https://geoobserver.de/wp-content/uploads/2021/09/opendatahal_v08_20210901.pdf

Die Genauigkeit von LAT/LON

Wolltet Ihr auch schon immer mal wissen, wie viele Dezimalstellen man für Längen- und Breitengrade braucht, um eine ausreichende Genauigkeit zu realisieren? In “Latitude and longitude precision” auf observablehq.com findet Ihr anschaulich die Auflösung [1], [2]. Es sind übrigens weniger, als man denkt.

Screenshoots animiert (Quelle [1])

Das Frage ist übrigens nicht ganz neu, die wohl beste Analyse, die ich kenne findet Ihr auf im Webcomic “Coordinate Precision” auf xkcd.com: Mach es nur genau genug und Du kannst die Position eines Atoms angeben 😉

Screenshoot: “Coordinate Precision” auf xkcd.com (Quelle [3])

[1] … https://observablehq.com/@mourner/latitude-and-longitude-precision
[2] … https://twitter.com/mourner/status/1427752107692658705?s=20
[3] … https://xkcd.com/2170/

River-Runner: Der Weg eines Regentropfens

(So, der Urlaub ist vorbei, es geht wieder los beim #geoObserver 😉
Das ist wirklich genial! Und interessant und kurzweilig und faszinierend! Stell Dir vor, Du kannst irgendwo einen Regentropfen fallen lassen und eine mit vielen Geoprocessing-Features ausgestattete, webbasierte Anwendung zeigt Dir dreidimensional animiert den Weg des kleinen Tropfens bis zum Meer. So gesehen beim River-Runner [1] von Sam Learner [2] (@sam_learner [3]). Leider monentan nur für das Gebiet der USA. Mein erster Test: ein Regentropfen in Buffalo (WY) [4].

Screenshots: Von Buffalo (WY) zum Golf von Mexico (Quelle [1])

Der Tipp kam vom Thomas Sens. THX!

[1] … https://river-runner.samlearner.com/
[2] … https://www.samlearner.com/
[3] … https://twitter.com/sam_learner
[4] … https://de.wikipedia.org/wiki/Buffalo_(Wyoming)

QGIS-Tipp: Petersberg, die höchste Erhebung bis zum Ural auf diesem Breitengrad?

Ja, das haben wir wohl alle so gelernt, der Petersberg sei die höchste Erhebung vom Harz bis zum Ural auf diesem Breitengrad? Und neulich sprach mich ein Bekannter an, er hätte es mal mit diversen Programmen aus dem Outdoor-Bereich überprüft und es wäre wohl nicht so. Ich habe sofort recherchiert und bin zuerst im Wikipedia fündig geworden, tatsächlich, die o. g. Aussage ist wohl tatsächlich falsch: “Entgegen einer weit verbreiteten Meinung ist der Berg etwa auf seinem Breitengrad nicht die höchste Erhebung zwischen dem Harz und dem Uralgebirge” [1].

Nun war aber meine Neugier geweckt, schließlich haben wir ja GI-Systeme, am liebsten QGIS. Und ein paar Viertelstunden später hat auch QGIS es bestätigt: Der Petersberg ist NICHT die höchste Umgebung bis zum Ural auf diesem Breitengrad!

Meine Herangehensweise:

  • Ural- und Harz-Umrisse sowie 5 Grad-Gitter besorgen [2],[3], [4]
  • SRTM-Kacheln mit dem QGIS-Plugin SRTM-Downloader einladen [5] und daraus eine VRT zur einheitlichen Symbolisierung machen
  • mittels eines einfachen händisch erstellten GeoJSON-Files (in [7] enthalten) den Petersberg-Breitengrad erstellt
  • via SAGA-Funktion “Profile from Lines” die Profildaten erzeugt (180000 Punkte)
  • Der Rest war dann einfache Symbolisierung im QGIS
Screenshot: GeoJSON für Petersberg-Breitengrad (in [7] enthalten). Zwei Punkte reichen für das rechtwinklige Koordinatensystem, ansonsten können mit QGIS-Bordmitteln (PointsAlongLines, PointsToPath) noch Zwischenpunkte erzeugt werden
Screenshot: Der komplette Verlauf auf dem Petersberg-Breitengrad vom Harz zum Ural mit den Erhebungen
Screenshot: Die erste Erhöhung weit westlich vor dem Ural
Screenshot: Die in [1] erwähnten Erhebungen in Polen [8] liegen nicht direkt auf dem Petersberg-Breitengrad (hier ca. 24 km Abweichung bezogen auf vorhandene Peak-Höhen im OSM-Datenbestand)

Zum Nachvollziehen hier mein Testprojekt [7] (ohne STRM-Daten, die könnt Ihr Euch bei Bedarf ja selbst mit [5] runter laden).

[1] … Wikipedia Petersberg: https://de.wikipedia.org/wiki/Petersberg_(bei_Halle)
[2] … Ural-Grenzen: https://www.naturalearthdata.com/downloads/50m-physical-vectors/50m-physical-labels/, https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/ 50m/physical/ne_50m_geography_regions_polys.zip
[3] … Harz-Grenzen: https://www.umweltkarten-niedersachsen.de/Download_OE/GSG/Harz_Aussengrenze.zip
[4] … Gitter 5 Grad: https://www.naturalearthdata.com/downloads/50m-physical-vectors/50m-graticules/ https://www.naturalearthdata.com/features/
[5] … SRTM-Downloader: https://plugins.qgis.org/plugins/SRTM-Downloader/
[6] … Wikipedia URAL https://de.wikipedia.org/wiki/Ural
[7] … Testprojekt: https://www.geoobserver.de/Download/Petersberg_Ural.zip
[8] … https://www.openstreetmap.org/#map=11/51.6948/19.4945