On Fri, 5 Apr 2013 18:49:23 +0200, Luca Mandolesi wrote:
vorrei capire se esistono funzioni per ricavare gli angoli di
intersezione tra 2 rette su un gis.


Luca,

non serve assolutamente nulla di esoterico: basta un pizzico di geometria
analitica del liceo fatta con le quattro operazioni aritmetiche.
giunto un rinfreschino di memoria se puo' tornare utile:
http://it.wikipedia.org/wiki/Coefficiente_angolare

assumendo di avere due segmenti arbitrari che coincidono sul vertice [x0,y0]:
gli altri due vertici saranno rispettivamente [x1,y1] ed [x2,y2]
(insomma, formano una bella V)

prima ti calcoli il coefficiente angolare di ciascuno dei due segmenti
con questa formuletta:

m1 = (y1 - y0) / (x1 - x0)
m2 = (y2 - y0) / (x2 - x0)

poi ti calcoli il prodotto dei due coefficienti angolari: se i segmenti
sono rigorosamente perpendicolari ti deve tornare esattamente -1

m1 * m2 == -1.0

se invece sono "quasi perpendicolari" ti tornera' un valore leggermente
maggiore (o minore): dato che immagino sara' abbastanza difficile ricostruire la tolleranza/accuratezza delle gromae utilizzate dagli agrimensori dell'epoca,
suppongo che ti convenga operare empiricamente.
p.es. puoi iniziare verificando gli intevalli tra -0.9 e -1.1 (-0.8 | -1.2) ... (-0.7 | -1.3) e da li poi procedi calibrandoti "ad occhio spannanometrico"
i valori limite piu' appropriati per valutare le tue centuriazioni.

naturalmente devi stare ben attento al trappolone in agguato: se uno dei due segmenti e' esattamente orizzontale oppure verticale il tuo programmino
andra' "misteriosamente" in crash ;-)
... devi blindare il tuo codice contro questa eventualita'

ciao Sandro


--
Il messaggio e' stato analizzato alla ricerca di virus o
contenuti pericolosi da MailScanner, ed e'
risultato non infetto.

_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni 
dell'Associazione GFOSS.it.
638 iscritti al 28.2.2013

Rispondere a