QGIS: Die Kompaktheit von Polygonen

Vorletzte Woche konnte ich an einem Webinar von @cartocalypse teilnehmen. Ein Übungsbeispiel war die Kompaktheit von Geometrien. Dadurch angepingt wollte ich es genauer wissen und hab mal recherchiert. In “measuring-compactness-in-python” [1] habe ich die entsprechenden Formeln für Kompaktheit nach Polsby-Popper [2] und Schwartzberg [3] gefunden:

def pp_compactness(geom): # Polsby-Popper
    p = geom.length
    a = geom.area   
    return (4*pi*a)/(p*p)

def s_compactness(geom): # Schwartzberg
    p = geom.length
    a = geom.area   
    return 1/(p/(2*pi*sqrt(a/pi)))

Ich habe beide Formeln mal im QGIS mit dem Feldrechner eingefügt, einfach als virtuelle Felder mit “cpp” für Polsby-Popper und “cs” für Schwartzberg:

Screenshot: Die Virtuellen Felder “cpp” und “cs”

Hier die Ergebnisse visualisiert mit QGIS:

Screenshot: Visualisierung nach Polsby-Popper (Feld “cpp”)
Screenshot: Visualisierung nach Schwartzberg (Feld “cs”)

Und wer noch mehr über beide Verfahren wissen möchte, ich bin fündig geworden auf GitH^ub [4] mit “Compactness: Polsby-Popper vs. Schwartzberg” auf Youtube [5]:

[1] … https://gis.stackexchange.com/questions/374364/measuring-compactness-in-python
[2] … https://en.wikipedia.org/wiki/Polsby%E2%80%93Popper_test
[3] … https://scholarship.law.umn.edu/cgi/viewcontent.cgi?article=2700&context=mlr
[4] … https://fisherzachary.github.io/public/r-output.html
[5] … https://www.youtube.com/watch?v=6Z_fuedTt4U

2 Gedanken zu „QGIS: Die Kompaktheit von Polygonen

  1. Pingback: QGIS: Die Kompaktheit von Polygonen | All Around GIS

  2. Danke für die Kompaktheitsformeln und den Link zum Video!

    In Qgis 3.24 wurde übrigens die roundness()-Funktion eingeführt, die die Polsby-Popper-Kompaktheit berechnet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert