Wie berechnet ArcGIS Desktop den INSIDE-Punkt für Feature-to-Point?

11

Lassen Sie mich einen Rückzieher machen und sagen, dass es nach meinem Verständnis zwei gängige Methoden gibt, um den Schwerpunkt eines Polygons in ArcGIS Desktop zu berechnen:

  1. Verwenden von Geometrie berechnen für Felder in der Attributtabelle der Feature-Class.
  2. Verwenden Data Management -> Features -> Feature to Pointaus der Toolbox.

Beide ergeben das gleiche Ergebnis - den geometrischen Schwerpunkt des Polygons. Es gibt jedoch keine Garantie dafür, dass der Punkt innerhalb des Polygons liegt.

Das Tool "Feature to Point" verfügt über eine interne Kontrollkästchenoption, die gemäß der Dokumentation:

Verwendet einen in einem Eingabe-Feature enthaltenen Ort als Ausgangspunkt.

Ich würde gerne wissen, wie dieser Punkt von ArcGIS Desktop berechnet wird und welche "theoretische" Bedeutung er hat, wenn dies sinnvoll ist.

mindless.panda
quelle
2
Angesichts der allgemeinen Unbestimmtheit der ESRI-Dokumentation müssen Sie das Verfahren wahrscheinlich durch Testen rückentwickeln. Als ich dies vor 15 Jahren mit AV 3.x tat, war der Algorithmus (1) den geometrischen Schwerpunkt zu finden und ihn dann (2) horizontal zum nächsten Punkt innerhalb des Polygons zu verschieben.
whuber
@whuber - in diesem Fall der Innen Punkt kann unterschiedlich sein , auch wenn der Schwerpunkt sich innerhalb des Polygons ist, so das macht mich denken , es ist eine völlig andere Berechnung
mindless.panda
3
Dieser Forumsbeitrag auf der ESRI-Website ist interessant und scheint darauf hinzudeuten, dass es sich um eine Black Box handelt.
mindless.panda
Mit Python in 9.3.1 habe ich einige Möglichkeiten verglichen, um einen 'Schwerpunkt' zu generieren. Kann hier gesehen werden ! in den ESRI-Foren.
SaultDon
@mindless Wenn sich der Schwerpunkt im alten Algorithmus innerhalb des Polygons befand, wurde er natürlich nicht verschoben: Er fällt mit dem nächsten Punkt innerhalb des Polygons zusammen. Der von Ihnen gefundene Forumsbeitrag macht dieses Problem jedoch umstritten: ESRI hat den Algorithmus geändert. Ich würde jedoch nicht schlussfolgern, dass es "völlig anders" ist. Es könnte nur eine Verfeinerung des älteren sein. Es wird jedoch nicht einfach sein, ein Reverse Engineering durchzuführen.
whuber

Antworten:

4

Die Algorithmen sind proprietär, aber hier gibt es zwei grundlegende Konzepte. Der Schwerpunkt verwendet einen Schwerpunktalgorithmus (es gibt viele verschiedene Möglichkeiten, dies zu berechnen). Das Kontrollkästchen "innen" berechnet einen Schwerpunkt, verschiebt dann aber den Punkt nach innen, wenn er nach außen fällt, da dies in einigen Fällen wünschenswert ist.

Auf der ArcObjects Ebene werden diese Ansätze definiert als die Centroid und dem Label - Punkt . Siehe den Centroid-Link für Beispielbilder.

Craig Williams
quelle
Dies sagt uns zwar nicht, wie der Innenpunkt berechnet wird, aber es sagt uns auch, dass es sich um den Beschriftungspunkt handelt.
mindless.panda
1

Wir haben ArcMap 10.3 verwendet. Berechnetes (1) Merkmal zum Zeigen mit Innenoption (2) Merkmal zum Zeigen ohne Innenoption (3) Schwerpunkt durch Berechnen der Geometrie.

Punkte von (2) und (3) teilen sich die Position, manchmal liegen diese Punkte außerhalb des Polygons. (1) erzeugt erwartungsgemäß Punkte innerhalb von Polygonen, die größtenteils mit den Punkten aus (3) und (2) identisch sind. Manchmal sind Punkte aus (1) unterschiedlich, selbst wenn Punkte aus (3) oder (2) innerhalb des Polygons (!) Liegen: Wir können keine Notwendigkeit einer räumlichen Verschiebung erkennen, um einen inneren Punkt zu erhalten.

Verschobene Punkte von (1) werden nicht streng in WE- oder NS-Richtung verschoben. Manchmal befinden sich unnötig verschobene Punkte neu an einer Position, die definitiv keinen Schwerkraftpunkt darstellt, und sind unerwartet.

Wissenschaftliche Arbeit muss reproduzierbar sein. Wir können weder eine Dokumentation für den Algorithmus finden noch eine Verschiebung erklären, insbesondere wenn dies nicht erforderlich ist. Daher ist der Schwerpunkt des ESRI-Merkmals nicht anwendbar.

Christoph
quelle