Quantifizierung der Ungleichmäßigkeit von Polygongrenzen?


13

Ich habe zwei Polygone: Polygon 1 und Polygon 2.

Mit zwei Metriken, Fläche und Umfangslänge, möchte ich quantitativ ausdrücken, dass Polygon 1 einen ungleichmäßigeren / gezackten / unregelmäßigeren Umfang aufweist als Polygon 2.

Bildbeschreibung hier eingeben

Jedes Polygon hat die gleiche Umfangslänge, deckt jedoch ganz unterschiedliche Bereiche ab. Um die Unebenheit / Zackigkeit / Unregelmäßigkeit jedes Polygons zu quantifizieren, sollte die Berechnung folgendermaßen aussehen:

area/perimeter 

oder

perimeter/area 

Ich dachte perimeter/area, aber dann fand ich diesen Blog-Beitrag, der verwendet area/perimeter: http://www.r-bloggers.com/measuring-the-gerrymander-with-spatstat/


7
Keines dieser Verhältnisse ist sinnvoll, da beide von den Maßeinheiten abhängen. Sie können sie unabhängig von den Einheiten machen, indem Sie eine homogene Null-Grad-Funktion von ihnen wie Umfang / Quadrat (Fläche) bilden. Solche Messungen werden oft als "Tortuosität" bezeichnet. Einige andere Ansätze finden Sie, wenn Sie unsere Website nach Tortuosity durchsuchen .
whuber

Was ist die Frage? F1 (X) / F2 (Y) oder F2 (Y) / F1 (X) sind keine unterschiedlichen Kennzahlen, genauso wie a keine unterschiedlichen Kennzahlen zu 1 / a sind.
BradHards

1
@ Bradhards Viele Leute würden behaupten, a und 1 / a seien unterschiedliche Ausdrucksweisen für dieselbe zugrunde liegende Größe, obwohl zwischen ihnen eine mathematische Beziehung besteht. Die Nichtlinearität dieser Beziehung impliziert, dass dies keine bloße Änderung von Einheiten ist. Die beiden Ausdrücke sollten als wirklich unterschiedlich angesehen werden, ebenso wie (sagen wir) logarithmische Konzentration und Konzentration unterschiedliche Arten sind, um Konzentration auszudrücken, oder Meilen pro Gallone und Gallonen pro Meile sind im Wesentlichen unterschiedliche Arten, um den Kraftstoffverbrauch auszudrücken. (Und beachten Sie, dass Gallonen pro Meile als Verschwendung und nicht als "Sparsamkeit" interpretiert werden.)
whuber

Antworten:


3

Schauen Sie sich ein Programm namens FRAGSTATS an ( http://www.umass.edu/landeco/research/fragstats/downloads/fragstats_downloads.html ). Im Abschnitt mit den Patch-Metriken wird der „Fraktale Dimensionsindex“ erwähnt, der in den Notizen als „Fraktaler Dimensionsindex“ aufgeführt wird, da er die Komplexität der Form in einer Reihe von räumlichen Maßstäben (Patch-Größen) widerspiegelt. So überwindet es wie der Formindex (SHAPE) eine der Hauptbeschränkungen des Verhältnisses zwischen geradem Umfang und Fläche als Maß für die Komplexität der Form. “( Http://www.umass.edu/landeco/research/fragstats/documents) /Metrics/Shape%20Metrics/Metrics/P9%20-%20FRAC.htm ).


Ich würde hinzufügen, dass die Formel zur Berechnung des Fraktal-Dimensionsindex einfach zu berechnen ist, ohne dass die FRAGSTATS-Software selbst benötigt wird. Die Formel ist im obigen Link angegeben. Der fraktale Dimensionsindex nähert sich 1 für Formen mit sehr einfachen Perimetern, wie z. B. Quadraten, und nähert sich 2 für sehr komplexe Formen.
user14134

1

Das Verhältnis von Fläche zu Umfang bedeutet nicht viel, ein Quadrat und ein Rechteck würden wahrscheinlich gleich gezackt sein, aber sie könnten den gleichen Umfang haben und je weiter vom Quadrat entfernt das Rechteck ist, desto geringer ist die Fläche.

Um die "Zackigkeit" zu berechnen, muss man wissen, wie viele der Scheitelpunkte einen Winkel von mehr als 180 Grad haben. Dies sollte nicht zu schwer zu berechnen sein, wenn Sie einen Geometriespeicher verwenden, bei dem die Drehrichtung des Polygons bekannt ist (normalerweise gegen den Uhrzeigersinn; in diesem Fall überschreitet der Winkel bei Punkt 3 180 Grad, wenn Sie von Punkt 1 nach Punkt 2 gehen befindet sich rechts von der Linie, die durch die Punkte 1 und 2 definiert ist. Andernfalls müssen Sie zuerst die Rotation bestimmen.


Dies ist im Grunde, was ich dachte. Eine Art "Zählung" von spitzen Winkeln am Umfang.
Baltok

1
Das Problem bei diesem Vorschlag ist, dass es mehr darauf ankommt, wie die Form dargestellt wird als auf der Form selbst, was sie willkürlich und unzuverlässig macht. Beispielsweise könnte man jeden scharfen Punkt auf einer Form durch eine Folge von zwei sehr nahe beieinander liegenden Scheitelpunkten mit Winkeln von weniger als 180 Grad ersetzen, ohne die Form sichtbar zu verändern. Die Wichtigkeit dieser Antwort besteht darin, darauf hinzuweisen, dass die Frage nicht beantwortet werden kann, ohne eine operative Beschreibung dessen zu haben, was "Zackigkeit" bedeuten soll.
Whuber

Ich gehe davon aus, dass "gezackt" "mit Konkavität" bedeutet. Das gezackte Beispiel oben weist eine Reihe von Konkavitäten auf. Nehmen , die als die Betriebsbeschreibung, gibt es keine Möglichkeit , eine Höhlung in einem Polygon zu erzeugen , ohne einen Winkel zu schaffen, die auf die Drehrichtung der Eckpunkt des Polygons mehr als 180 Grad in Bezug ist
Russell bei ISC

Ich gehe auch davon aus, dass sich das Polygon nicht selbst schneidet.
Russell bei der ISC am

1
@ Russell Das ist in Ordnung, aber es funktioniert immer noch nicht. Eine "Konkavität" könnte durch einen einzelnen Scheitelpunkt oder durch eine Folge von Tausenden eng beieinander liegenden konkaven Scheitelpunkten dargestellt werden (was zum Beispiel der Fall ist, wenn das Merkmal durch Subtrahieren von Puffern anderer Merkmale erzeugt wird). Das Problem ist wiederum, dass Ihr Vorschlag von irrelevanten Details der Darstellung der Form abhängt und nicht von den inhärenten Eigenschaften der Form. Dies kann auf viele Arten überwunden werden, indem die fraktale Dimension oder die absolute Gesamtkrümmung usw. geschätzt werden , aber Ihre Antwort scheint nicht in diese Richtung zu gehen.
whuber

1

Versuchen Sie es mit dem Normalized Perimeter Index ( http://clear.uconn.edu/tools/Shape_Metrics/ ). Der normalisierte Umfangsindex verwendet den Kreis mit der gleichen Fläche, um die Metrik zu normalisieren. Somit ist die Formel effektiv (in Python Mathe importieren)normPeriIndex = (2*math.sqrt(math.pi*Area))/perimeter

Für Ihr Beispiel:

Polygon 1: Normalisierter Umfangsindex = 0,358

Polygon 2: Normalisierter Umfangsindex = 0,947

Der normalisierte Umfangsindex vergleicht den eingegebenen Umfang mit dem kompaktesten Polygon mit derselben Fläche (Kreis mit gleicher Fläche), sodass Sie damit Features mit unregelmäßigen Grenzen identifizieren können. Die andere tolle Sache ist, dass es einfach und schnell zu berechnen ist.

Sie können sich auch die normalisierte Streuung ansehen, bei der der durchschnittliche Abstand von Punkten entlang des Umfangs vom Schwerpunkt (Streuung) berechnet wird. Dazu berechnen Sie auch die Abweichung, dh die durchschnittliche Differenz zwischen jedem Abstand und dem Radius des Kreises mit gleicher Fläche. Dann lautet die endgültige Formel (Dispersion - Abweichung) / Dispersion.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.