Calcolo della larghezza del poligono in ArcGIS Desktop?


10

È facile calcolare la larghezza di un poligono usando ArcGIS 9.3.1 o 10?

Ho trovato alcuni script per 9.1 ma non funzioneranno. Posso usare la larghezza nel punto più largo, nel punto più stretto o in una media. Non deve essere esatto ma deve essere in qualche modo automatizzato perché ne ho un paio di centinaia da calcolare.


1
Nel caso in cui qualcuno venga a cercare una risposta anni dopo: gis.stackexchange.com/a/181801/10919
Tom,

Risposte:


6

La larghezza del poligono può essere ottenuta utilizzando un rettangolo di delimitazione dell'area minima. Questo collegamento ... contenitori di delimitazione ... a fornisce una soluzione. Calcola questo come minimo tra "lunghezza" e "larghezza" del rettangolo. È disponibile a tutti i livelli di licenza per ArcMap (aggiornato a gennaio 2016)


Questa risposta ha 5 anni. Ci sono stati aggiornamenti ad ArcGIS o altri metodi per farlo dopo la pubblicazione di questa risposta?
Dassouki,

1
@Dassouki Dan Patterson (che ha pubblicato altrove in questo thread) ha codificato questo tipo di soluzioni per anni. È il primo posto in cui andrei a cercare aggiornamenti e nuove soluzioni in ArcGIS.
whuber

@whuber ha aggiornato il link ... grazie per l'heads up

1

Questa è solo una risposta parziale alla tua domanda, ma potrebbe essere un puntatore nella giusta direzione. Per chiarire, questo troverà la larghezza dell'inviluppo del poligono nel punto più largo. Aggiungi un attributo con il tipo di campo doppio alla tua funzione. Apri il calcolatore di campo, quindi fai clic su Avanzate. Incolla questo codice nel blocco di codice e imposta il campo che hai creato uguale a Ouput

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

Funziona in 9.3.1. Originariamente pubblicato qui .


Questa sembra essere la larghezza della busta: non sembra essere ciò che l'OP sta chiedendo.
whuber

Ho modificato la mia risposta per chiarire che, grazie per averlo sottolineato. La domanda originale diceva che non doveva essere esatta, quindi la larghezza della busta potrebbe essere sufficiente.
Zaccaria,

1
Sfortunatamente, la larghezza della busta è quasi inesatta . Ad esempio, quando l'elemento è allineato con la sua larghezza in direzione verticale, la "larghezza" dell'inviluppo in realtà stima la lunghezza dell'elemento . La tua idea di sfruttare la larghezza della busta è stata utilizzata nel codice che ruota sistematicamente la funzione nella ricerca della larghezza minima della busta: in molti casi ciò ha una legittima pretesa di essere una stima ragionevole della larghezza. Credo che Dan Patterson abbia un contributo di questo tipo su ArcScripts.
whuber
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.