Und wieder so ein “ganz kleines Ding”, dass einem das tägliche GIS-Leben erleichtern kann. Ganz neu, erst seit 12. Mai 2023 online ist das QGIS-Plugin “StyleLoadSave” [1], herrlich einfach, um den Stil der aktiven Vektorebene zu laden oder zu speichern. Muss man mit QGIS-Bordmitteln immer erst mit mehreren Klicks über die Layer-Eigenschaften zur “Stil”-Listbox und dann zu Laden bzw. Speichern bewegen, reicht jetzt genau ein Klick, Perfekt! Danke Giulio Fattori!
Letzte Woche Donnerstag wurde PostgreSQL v15.3 veröffentlicht, weitere DB-Aktualisierungen sind mit den Updates auf 14.8, 13.11, 12.15 und 11.20 verfügbar [1]. Ich habe in meiner GIS-Umgebung am Wochenende die DB-App auf v15.3 aktualisiert und getestet, es läuft erwartungsgemäß hervorragend, also QGIS 3.30.2 zusammen mit PostgreSQL v15.3 auf einem MAC mit M1 unter dem macOS 13.3.1a Ventura, siehe Screenshot. Danke allen Mitwirkenden!!!
Screenshot: Links der DOP-WMS des LVerGeo LSA, rechts die Vektoren der Digitalen Stadtgrundkarte Halle
Im Tweet [1] hat SVG (@newgeographer2) mit dem “Splitscreen-(Hack)” wieder ein wunderbares Beispiel für Leistungsfähigkeit des QGIS-Geometriegenerators geliefert. Ich habe es mal probiert, es klappt bestens, siehe Screenshot und Animation. Entscheidend ist der folgende Eintrag bei allen Vektorthemen, der die Vektoren ($geometry) um die Hälfte der View-Weite (@map_extent_width/2) nach rechts verschiebt (translate):
Wer kennt das nicht? Man bekommt Daten und diese werfen plötzlich Fehler. Ursache ist mitunter eine unterschiedliche Anzahl von Geometrie- und Sachdateneinträgen. Das dann händisch zu reparieren geht ganz sicher, kann aber auch mühsam sein. Mit dem Clear Null Geometry-Plugin [1] von Mirjan Ali Sha (@mirjan_ali_sha) kann man schnell Abhilfe schaffen. Hier mein “Selbstversuch”:
Screenshot 1: Das passt nicht zusammen, zwei Geometrien und drei SachdatensätzeScreenshot 2: Der Versuch, den geometrielosen Sachdatensatz 3 anzuzeigen schlägt fehl, es gibt keine Geometrie dazuScreenshot 3: Einsatz des Clear Null Geometry-Plugin und schon ist alles OK, zwei Geometrien und zwei Sachdatensätze
Und wenn Du einen Testdatenbestand sucht, findest Du natürlich keinen. Gut zu wissen, wie man eine solchen erzeugen kann, also unterschiedliche Geometrie- und Sachdateneinträge. In [2] findet Ihr eine Beschreibung, wie Ihr Daten mit Null-Geometrien erzeugen könnt.
In meinem Beitrag von vorgestern “QGIS-Tipp: Distancematrix2Lines” [1] hatte ich das Thema schon mal vorgestellt, etliche Nachfragen und viele Klicks zeigten das große Interesse an der Problematik. Wie angedeutet habe ich das Thema noch mal überarbeitet und ein entsprechendes QGIS-Model erstellt. Jetzt wird es einfacher, ladet Euch das Model und schickt Euer Punkt-Thema rein. Das Model führt alle notwendigen Berechnungen durch und liefert das Ziel, die entstandenen Punktbeziehungen zu topologisch eindeutigen Linien zu verbinden und dabei Hin- und Rückweg zu einer einzelnen Linie zu reduzieren. Eine entsprechende Gestaltung mit Klassen und Beschriftung wird aus dem Internet nachgeladen, siehe nachfolgende Animation.
Mein neues Testprojekt v2 (getestet auf QGIS3.30@Mac siehe Animation) inkl. Model, Testdaten sowie Style-Datei findet Ihr unter [2].
Animation: Das Model in Aktion – vom Punktlayer zurm Linienlayer inkl. Gestaltung
Bei Wikipedia heißt es unter dem Suchbegriff “Distanzmatrix” folgendermaßen: “Die Distanzmatrix ist in der Mathematik eine quadratische Matrix, die die Abstände zwischen Punkten einer Menge angibt” [1]. Und natürlich gibt es in vielen GI-Systemen eine entsprechende Funktion, im QGIS z. B. entsteht beim Einsatz der Funktion Distanzmatrix ein neues Punkt-Thema mit allen vonPunkt-bisPunkt Einträgen inkl. der Entfernung. Ziel ist es nun, die entstandenen Punktbeziehungen zu topologisch eindeutigen Linien zu verbinden und dabei Hin- und Rückweg zu einer einzelnen Linie zu reduzieren. Ich bin (Quick & Dirty) mit QGIS folgenden Weg begangen:
Distanzmatrix –> Punkte zur Weg –> Linien sprengen (Explode) –> Attribut nach Position verknüpfen –> Auflösen
Hier meine Schritte mit Zwischenergebnissen und das Finale:
Mein Testprojekt inkl. Daten findet Ihr zu Nachnutzung unter QGIS_DistanceMatrix2Lines.zip [2], vielleicht erweitere ich es noch um ein Model. Möglicherweise geht es auch einfacher, wenn ja, gern in den Kommentaren. Ich bin gespannt!
Das Extrahieren von OpenStreetMap-Daten ist hier schon mehrfach thematisiert worden. Es gibt etliche Wege, diesem momentan 1,7 TByte großen freien Datenbestand aktuelle Daten zu entlocken, z. B. Overpass Turbo oder diverse QGIS-Plugins wie QuickOSM, OSMDownloader, … . Bunting Labs hat im März eine neue OpenStreetMap-API [1] vorgestellt, die das Ganze weiter vereinfachen soll und via curl und get auf der Kommandozeile ausführbar ist. Damit eignet sich die API besonders für automatisierte Workflows. Ich habe es gestern mal getestet, einfach einen API-Key registrieren und schon kann es losgehen. Curl-Aufruf, sichern in einer Datei z. B. “x.geojson” und Visualisierung im QGIS. Es klappt, siehe Screenshots:
Screenshot 1: Mein Test mit Umleitung in eine Datei “x.geojson” (1) und Ausgabe auf dem Screen (2)Screenshot 2: Die Testergebnisse aus der Datei “x.geojson” im QGIS visualsiert
Nutzer SVG (@newgeographer2) zeigt uns in den letzten Wochen immer wieder interessante Lösungen bei der Visualisierung im QGIS, vor allem beim Einsatz mit dem Geometry-Generator. Am Dienstag zum Beispiel die dynamische “Maskierung” von Themen [1]. Ein interessanter Effekt, ich hab es mit QGIS3.30.2@Mac ausprobiert, klappt perfekt. Entscheidend ist der folgende Eintrag im Geometry-Generator:
Mein Testprojekt steht als Download [2] zur Verfügung. Hier ein paar Screenshots meines Tests, seht selbst:
Update 04.05.2023, 13:45 Uhr: Weil einige Nachfragen kamen, bei den Daten handelt es sich um die “Baublöcke der Kleinräumigen Gliederung” – Open Data der Stadt Halle (Saale). Es sind einfache Polygone, aber symbolisiert als “Rand: Einfache Linie” mit “Versatz”:
Via Tweet kam gestern die Meldung von Jürgen E. Fischer, dass die Downloads für QGIS 3.30.2 und 3.28.6 LTRfür Windows, Mac und Linux [1] verfügbar sind. Gleichzeitig kam gestern auch ein Sicherheitsupdate für macOS Ventura, nämlich 13.3.1a.
Ich habe beide Pakete installiert und alles läuft erwartungsgemäß hervorragend in meiner GIS-Umgebung, also QGIS 3.30.2 zusammen mit PostgreSQL v15.2 auf einem MAC mit M1 unter dem macOS 13.3.1a Ventura, siehe Screenshot. Danke allen Mitwirkenden!!!
Wer kennt das nicht, man will Geodienste nutzen, aber nicht nur ein Abbild via WMS sondern die Vektor-Objekte direkt, z. B., um mit diesen dann weiter zu arbeiten, vielleicht zum Geoprozessieren. Aber es kann sein, dass der WFS nur eine bestimmte Anzahl von Objekten liefert, weil es eben am WFS-Server vom Dienst-Anbieter so begrenzt wurde, vgl. [2] Seite 9. PyQGIS alias Ivo Partschefeld (@PyQgis) hat sich zur Lösung des Problems Gedanken gemacht und via Python-Skript im QGIS eine Lösung gefunden. Dank Ivo! Wie es gehen kann, seht Ihr im folgenden Video “WFS Beschränkung umgehen mit python in QGIS” [1]:
Auch schon Mal an der Begrenzung der Objektanzahl eines #WFS gescheitert? Im Video zeige ich Euch, wie man es umgehen kann um alle Daten zu bekommen. Siehe Video: https://t.co/zhHOz2SEfJpic.twitter.com/iX8hlOF5iO