Ihr kennt möglicherweise schon die QGIS-Videos auf dem Youtube-Kanal von pyQGIS [1] (@PyQgis). Großartiges Material, z. T. komplexe Inhalte, aber immer einfach erklärt. Einige davon werde ich hier mit freundlicher Genehmigung als Beitrag bringen, seid gespannt! Nach dem “Herz für Chemnitz” [2] kommt heute “Doppelte Geometrien löschen” mit Python und QGIS-Bordmitteln [3]. Danke pyQGIS alias Ivo Partschefeld!
Von @cartocalypse.tif (@WhereGroup_com) kam Ende 2022 per Tweet [1] der Hinweis zu einem neuen QGIS-Plugin, dem “Spatial Filter” [2] oder “Räumlicher Filter” im QGIS-Plugin-Repository [3]. Ein wunderbares Tool, um mal “auf die Schnelle” durch mehrere Layer via Polygon (frisch digitalisiert oder per selektierter Objekte eines vorhandenen Layers) die Objekte aller im Projekt eingebundenen Layer zu selektieren. Als räumliche Optionen stehen “schneidet”. “innerhalb” und “schneidet nicht” zur Verfügung. In der Auswahl werden per Default alle Layer des Projektes genutzt, per Optionen können jedoch auch Layer ausgeschlossen werden. Ich hab’s getestet: Einfach, selbsterklärend, sinnvoll, MUST HAVE!. Danke Wheregroup, danke @cartocalypse.tif!
Animation: Mein Test für die Optionen “schneidet”. “innerhalb” und “schneidet nicht”
Screenshot: MeinTestprojekt [2], das Zentrum bei der Pauluskirche (Einfärbung nach Abstand siehe Beschreibung)
Innerhalb der #30DayMapChallenge hat eurojam eine coole Visualisierung veröffentlicht, nämlich abhängig von der Entfernung zu einem Punkt die Objekte einzufärben. Ich habe versucht, es nachzuvollziehen und … es klappt. Für alle, die diesbezüglich ein bisschen Hilfe brauchen, hier das Ganze mal etwas untersetzter. Ich habe die Gebäude des OSM-Projektes, hier der Layer “osm_buildings_test_2398” genutzt, dazu einen Layer “center” mit der Spalte “name” und dem Eintrag “Test”. Dann lautet der adaptierte und entscheidende String für die Füllfarbe:
Aus dem Layer “center” wird also in der Spalte “name” der Eintrag “Test” gesucht. Zu dessen Geometrie (get_feature)wird die Entfernung (distance) zur aktuellen Gebäude-Geometrie ($geometry) des Datensatzes der Gebäude ermittelt und entsprechend dem aktuellen Abstand eingefärbt (colore_hsv) über einen linearen Farbverlauf (scale_linear). So einfach … Alles klar? Schaut Euch die Syntax der Funktionen get_feature, distance, scale_linear und color_hsv an, es wird klarer, versprochen 😉 Um es einfacher nachvollziehen zu können, könnt Ihr gern mein Testprojekt [2] nutzen.
Animation: Vier Center-Standorte und das eingefärbte Ergebnis
Wer mit GIS (hier QGIS) arbeitet, kommt bei Datenabfragen irgendwann nicht mehr um SQL und räumliche SQL-Abfragen herum. Einfache Hilfsmittel zum Einstieg findet Ihr z. B. in den Vortragsfolien von Martin Werner [1] und in den Spatial SQL Spickzettel von Mo Sarwat (@MoSarwat) [2], [3]. Viel Spaß beim Ausprobieren.
Wer wissen möchte, wie man “eine gemeinsame Grenze zwischen benachbarten Verwaltungsregionen extrahiert und eine Pufferzone auf jeder Seite entlang der Grenze berechnet”, sollte sich das QGIS-Video “Extracting Shared Border and One-Sided Buffers in QGIS” [1] von Ujaval Gandhi (@spatialthoughts) anschauen.
Hier der Original-Tweet [2]:
New #QGIS Video: How to extract shared border between neighboring administrative regions and compute a buffer zone on each side along the border. Plus, I share tips to improve your spatial analysis workflows in QGIS. Check out https://t.co/4qvztxfrMD
Neulich las ich im Tweet [1] von Ujaval Gandhi (@spatialthoughts) einen interessanten Ansatz, wie man die Straßenbreite bei Straßenpolygonen mit QGIS berechnen/schätzen kann? Beim seinen Tests mit einigen Dummy-Daten kam er auf einen relativ einfachen Ausdruck:
average_road_width = 2 * $area / $perimeter
Er bat darum, diesen Ausdruck mal an realen Daten zu testen, ich habe es mit ein paar realen Straßen im halleschen Paulusviertel gemacht, hier die Ergebnisse. Aus meiner Sicht, trifft der Ansatz erstaunlich gut, die realen Straßenbreiten sind meist etwas größer, der Unterschied ist aber eher klein. Hinweis: Bei Unterbrechungen der Straßen wird der Wert verfälscht, weil sich dadurch der Umfang vergrößert, also besser immer den gesamten Straßenzug betrachten. Wenn man das Ganze dann mal mit einen großen Menge von Straßen durchführt, die Differenzen und deren Durchschnitt ermittelt, lohnt sich ggf. auch noch ein Korrekturfaktor, m. E. irgendwo zwischen 0.95 … 1.05?
Screenshot: Mein Test – grün: berechnete Breiten, schwarz: gemessene Breiten
Hier der Original-Tweet [1], weitere Lösungsmöglichkeiten findet Ihr in den Antworten im Tweet:
How to estimate the road width from a layer of road polygons using #QGIS? Testing with some dummy data, the simple expression 2*$area/$perimeter seems to give decent results. Any other ideas? Anyone has a real-world roads polygon dataset to test this on? pic.twitter.com/wSPuqUHqxz
Manchmal sind diese einfachen Dinge! Wie Ihr das zusammengefasste Umringspolygon eines Flächenthemas einfach mit dem Geoemtriegenerator erzeugt und Euch somit einen so oft eingefügten zweiten Layer spart, zeigt Euch Totò Fiandaca (@totofiandaca) in seinen Tweets [1], [2]. Danke Totò!
Was tun bei zu viel Text-Information in einem externen Datenbestand? Einen coolen Trick von Keith Jenkins (@kgjenkins) habe ich neulich auf Twitter [1] gefunden: Das Entfernen unerwünschter Beschriftungen von einer Grundkarte mithilfe von Ebenengruppen-Mischmodi. Ich gebe ihn hiermit gern weiter. Danke Keith!
QGIS trick for removing unwanted labels from a basemap, using layer group blending modes pic.twitter.com/hB6uLCc6vj