Salve a tutti,
vorrei capire se esistono funzioni per ricavare gli angoli di intersezione tra 2 rette su un gis. In particolare vorrei ricavare l'angolo di itersezione tra due linee per capire se siamo davanti ad angoli più o meno retti, magari che stiano in un range prestabilito. Ovviamente gli angoli potrebbero essere due, se da una retta ne parte un'altra, oppure 4 se le due si intersecano.
detta in archeologizese: dato un grafo delle strade poter ricavare i punti di intersezione in un range accettabile per essere definito angolo retto e ricavare eventuali assi centuriali.
So mica se mi son spiegato! :) Grazie Luca _______________________________________________ [hidden email] 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 |
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. _______________________________________________ [hidden email] 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 |
Il giorno Fri, 05 Apr 2013 21:24:52 +0200
[hidden email] ha scritto: > 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 > ...... oppure il dot product, che forse non ha le contro indicazioni segnalate da Sandro (dovrei ripassarlo meglio), semplicemente non accetta vettori degeneri (di lunghezza nulla) :-) qualche tempo fa, occupandomi dei miei plugin di editing grafico delle features, me ne sono occupato; non ricordo (è un pò che le sto trascurando.....) se ho già qualcosa di pronto, ma in ogni caso non dovrebbe essere difficile implementarlo; ovviamente mi riferisco ad un approccio interattivo: l'utente seleziona due linee ed ottiene l'angolo/i compreso/i (magari l'angolo fra il primo segmento ed il secondo in cw/ccw); piccola complicazione: le "linee" in qGis sono in realtà sono polilinee e quindi vanno precisati i tratti fra i quali vuoi avere l'angolo; ma penso si possa risolvere; oppure, metodo più generale, definendo tre punti; > ciao Sandro > > ciao, giuliano _______________________________________________ [hidden email] 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 |
Free forum by Nabble | Edit this page |