[Gvsig_italian] R: Re: Calcolo distanza tra vertici di un poligono

Antonio Falciano afalciano a yahoo.it
Ven 27 Nov 2009 09:31:15 PST


enricofiore a libero.it ha scritto:
> Ciao,
> 
> grazie per i suggerimenti, con i quali sono riuscito a tirare fuori i
> punti dei vertici (come suggerito da Stefano) e abbinargli le coordinate
> (Sextante --> Tool for point layers --> Add coordinates to point)
> 
> Calcolare la metrice delle distanze (Sextante --> Tool for point layers
> --> Distance Matrix) dalla quale ricavare la distanza maggiore.

ok, il mio suggerimento non era adatto al tuo caso, poiche' si limitava
solo ai lati dei poligoni, escludendo di fatto le diagonali. Stavolta
pero' posso risponderti meno frettolosamente... :)

> ora arrivano le domande:
> 
> 1) Esiste una funzione che in automatico estrapola la distanza maggiore
> dalla matrice o che in automatico dica i punti A e B sono i pių distanti?

No, poiche':
- le statistiche lavorano solo su un singolo campo di tabella;
- la funzione max() presente nel calcolatore di campo lavora solo su due
campi, a meno di non usarla ricorsivamente...
Il migliore compromesso consiste nell'esportare la tabella come XLS e
calcolare la diagonale massima per ogni poligono mediante un comune
foglio di calcolo...

> 2) Dato che mi piacerebbe visualizzare la linea che unisce i due vertici
> pių distanti, č possibile farla disegnare in automatico dando le
> coordiante dei punti?

Si, ma per fare questo dovresti scrivere uno script o un geoalgoritmo di
Sextante ad hoc.
Tornando alla radice del problema (calcolo della diagonale massima di un
poligono), un ulteriore approccio (valido *solo* per poligoni con n°
di lati > 3) potrebbe essere quello di calcolare (e disegnare) la
circonferenza minima circoscritta ad ogni poligono a partire dai suoi
vertici:
Sextante --> Tool for point layers --> Minimum enclosing shapes ( -->
minimum enclosing circle)
Poi ti calcoli le proprieta' geometriche del cerchio con:
Sextante --> Tool for polygon layers --> Geometric properties of polygon
Noto ad es. il perimetro (circonferenza), usando il calcolatore di
campo, puoi facilmente risalire al diametro, che rappresenta proprio la
diagonale massima del poligono.

ciao
Antonio

-- 
Antonio Falciano
http://www.linkedin.com/in/antoniofalciano






More information about the Gvsig_italian mailing list