Berechnen der Polygonbreite in ArcGIS Desktop?

10

Gibt es eine einfache Möglichkeit, die Breite eines Polygons mit ArcGIS 9.3.1 oder 10 zu berechnen?

Ich habe einige Skripte für 9.1 gefunden, aber sie werden nicht funktionieren. Ich kann die Breite am breitesten Punkt, am engsten Punkt oder im Durchschnitt verwenden. Es muss nicht genau sein, sondern muss etwas automatisiert sein, da ich ein paar Hundert zu berechnen habe.

Ted Cisine
quelle
1
Für den Fall, dass jemand anderes Jahre später nach einer Antwort sucht: gis.stackexchange.com/a/181801/10919
Tom

Antworten:

6

Die Breite des Polygons kann unter Verwendung eines Rechtecks ​​mit minimaler Flächenbegrenzung erhalten werden. Dieser Link ... Container begrenzen ... bietet eine Lösung. Berechnen Sie dies als Minimum der "Länge" und "Breite" des Rechtecks. Es ist auf allen Lizenzstufen für ArcMap verfügbar (aktualisiert auf Jan 2016).

whuber
quelle
Diese Antwort ist 5 Jahre alt. Wurden seit der Veröffentlichung dieser Antwort Aktualisierungen an ArcGIS oder anderen Methoden vorgenommen, um dies zu tun?
Dassouki
1
@Dassouki Dan Patterson (der an anderer Stelle in diesem Thread gepostet hat) codiert diese Art von Lösungen seit Jahren. Er ist der erste Ort, an dem ich nach Updates und neuen Lösungen in ArcGIS suchen würde.
whuber
@ Whuber hat den Link aktualisiert ... danke für das Heads-up
1

Dies ist nur eine teilweise Antwort auf Ihre Frage, kann aber ein Hinweis in die richtige Richtung sein. Zur Verdeutlichung wird hiermit die Breite der Polygonhüllkurve an der breitesten Stelle ermittelt. Fügen Sie Ihrem Feature ein Attribut mit dem Feldtyp double hinzu. Öffnen Sie den Feldrechner und klicken Sie auf Erweitert. Fügen Sie diesen Code in den Codeblock ein und setzen Sie das von Ihnen erstellte Feld auf Ouput

Dim Output As Double
Dim pPoly as IPolygon
Set pPoly = [Shape]
Dim pEnve as IEnvelope
Set pEnve = pPoly.Envelope
Output = pEnve.Width

Funktioniert in 9.3.1. Ursprünglich hier gepostet .

Zachary
quelle
Dies scheint die Breite des Umschlags zu sein: Das scheint nicht das zu sein, was das OP verlangt.
whuber
Ich habe meine Antwort bearbeitet, um dies zu verdeutlichen. Vielen Dank, dass Sie darauf hingewiesen haben. Die ursprüngliche Frage besagte, dass sie nicht genau sein musste, sodass die Breite des Umschlags möglicherweise ausreichend ist.
Zachary
1
Die Breite des Umschlags ist leider so ungenau wie möglich. Wenn beispielsweise das Merkmal in vertikaler Richtung mit seiner Breite ausgerichtet ist, schätzt die "Breite" der Hüllkurve tatsächlich die Länge des Merkmals . Ihre Idee, die Breite des Umschlags auszunutzen, wurde in Code verwendet, der das Feature bei der Suche nach der minimalen Umschlagbreite systematisch dreht: In vielen Fällen besteht der berechtigte Anspruch, eine vernünftige Schätzung der Breite zu sein. Ich glaube, Dan Patterson hat einen solchen Beitrag zu ArcScripts.
whuber