Obliczanie szerokości wielokąta w ArcGIS Desktop?


10

Czy łatwo jest obliczyć szerokość wielokąta za pomocą ArcGIS 9.3.1 lub 10?

Znalazłem kilka skryptów dla wersji 9.1, ale one nie będą działać. Mogę użyć szerokości w najszerszym punkcie, najwęższym punkcie lub średniej. To nie musi być dokładne, ale musi być nieco zautomatyzowane, ponieważ mam kilkaset do obliczenia.


1
Na wypadek, gdyby po latach ktoś szuka odpowiedzi: gis.stackexchange.com/a/181801/10919
Tom

Odpowiedzi:


6

Szerokość wielokąta można uzyskać za pomocą prostokąta ograniczającego obszar minimalny. Ten link ... kontenery ograniczające ... zapewnia jedno rozwiązanie. Oblicz to jako minimum „długości” i „szerokości” prostokąta. Jest dostępny na wszystkich poziomach licencji ArcMap (zaktualizowany do stycznia 2016 r.)


Ta odpowiedź ma 5 lat. Czy od opublikowania tej odpowiedzi pojawiły się jakieś aktualizacje ArcGIS lub innych metod, aby to zrobić?
dassouki

1
@Dassouki Dan Patterson (który pisał gdzie indziej w tym wątku) koduje tego rodzaju rozwiązania od lat. Jest pierwszym miejscem, w którym chciałbym szukać aktualizacji i nowych rozwiązań w ArcGIS.
whuber

@whuber zaktualizował link ... dzięki za

1

To tylko częściowa odpowiedź na twoje pytanie, ale może być wskaźnikiem we właściwym kierunku. Aby to wyjaśnić, znajdzie szerokość obwiedni wielokąta w najszerszym punkcie. Dodaj atrybut o typie pola podwójnie do swojej funkcji. Otwórz kalkulator pola, a następnie kliknij Zaawansowane. Wklej ten kod do bloku kodu i ustaw utworzone pole równe Ouput

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

Działa w 9.3.1. Pierwotnie opublikowane tutaj .


Wydaje się, że jest to szerokość koperty: nie wydaje się, o co prosi OP.
whuber

Zredagowałem swoją odpowiedź, aby to wyjaśnić, dziękuję za zwrócenie na nią uwagi. W pierwotnym pytaniu było powiedziane, że nie musi być dokładne, więc szerokość koperty może być wystarczająca.
Zachary

1
Niestety szerokość koperty jest tak niedokładna, jak to tylko możliwe. Na przykład, gdy element jest wyrównany ze swoją szerokością w kierunku pionowym, „szerokość” obwiedni faktycznie szacuje długość elementu . Twój pomysł wykorzystania szerokości obwiedni został wykorzystany w kodzie, który systematycznie obraca element w poszukiwaniu minimalnej szerokości obwiedni: w wielu przypadkach uzasadnione jest twierdzenie, że jest to uzasadnione oszacowanie szerokości. Wierzę, że Dan Patterson ma taki wkład w ArcScripts.
whuber
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.