Ciao a tutti;
Ho cercato da per tutto ma non ho trovato una soluzione!
Problema: ho un layer vettoriale multipoligonale costituito da tanti
triangoli che hanno sempre e solo tre vertici. Voglio calcolare l'angolo tra
due dei tre lati di ogni triangolo. Posso farlo manualmente con lo strumento
"misura angolo" e calcolarlo triangolo per triangolo...Ma ho migliaia di
triangoli e quindi il mio shape ha migliaia di record!
Non trovo una funzione o routine per calcolare massivamente tutti gli angoli
di ogni triangolo.
Chiaramente conosco quale dei 3 angoli di ogni triangolo mi serve calcolare
ed e' sempre lo stesso in tutti I triangoli (come posizione intendo).
On 3/4/17, andrea gagna <g.andre87@gmail.com> wrote:
Ciao a tutti;
ciao,
.......
Non trovo una funzione o routine per calcolare massivamente tutti gli angoli
di ogni triangolo.
Chiaramente conosco quale dei 3 angoli di ogni triangolo mi serve calcolare
ed e' sempre lo stesso in tutti I triangoli (come posizione intendo).
Idee per risolvere il rompicapo??
già fatto non so, però con un pò di python.... ti ricordo che il
coseno dell'angolo compreso fra due vettori (i lati) è il prodotto
interno diviso il modulo dei due vettori; trovi i dettagli su ogni
testo scolastico (anche quì: https://it.wikipedia.org/wiki/Prodotto_scalare al punto
interpretazione geometrica);
Ciao, ti ringrazio.
Il problema e’ proprio sviluppare la routine in python per applicarlo massivamente.
La formula per calcolarne 1 e’ chiaramente quella.
Andrea.
Il sabato 4 marzo 2017, giulianc [via OSGeo.org] <[hidden email]> ha scritto:
On 3/4/17, andrea gagna <[hidden email]> wrote:
Ciao a tutti;
ciao,
…
Non trovo una funzione o routine per calcolare massivamente tutti gli angoli
di ogni triangolo.
Chiaramente conosco quale dei 3 angoli di ogni triangolo mi serve calcolare
ed e’ sempre lo stesso in tutti I triangoli (come posizione intendo).
Idee per risolvere il rompicapo??
già fatto non so, però con un pò di python… ti ricordo che il
coseno dell’angolo compreso fra due vettori (i lati) è il prodotto
interno diviso il modulo dei due vettori; trovi i dettagli su ogni
testo scolastico (anche quì: https://it.wikipedia.org/wiki/Prodotto_scalare al punto
interpretazione geometrica);
Dott. Geografo Gagna Andrea, Docente Professionale tecnologia Open Source GEO-ICT Esperto in GIS-GPS integrati con i Geo-DBMS ( QGIS integrato a PostGIS ) e sviluppo QGIS plugin in ambiente PyQT Creator.
On 3/4/17, andrea gagna <g.andre87@gmail.com> wrote:
Ciao, ti ringrazio.
ciao (quando diventa accanimento terapeutico dimmelo),
Il problema e' proprio sviluppare la routine in python per applicarlo
massivamente.
La formula per calcolarne 1 e' chiaramente quella.
beh, la lettura dello SHP (per ora ho dimestichezza con quelli :-))
non è particolarmente difficile, sul cookbook trovi le istruzioni
adatte; per ogni feature estrai la gemetria confinandola in una lista;
a quel punto applichi la routine suddetta e stampi da qualche parte
l'angolo cercato;
se non ti interessasse l'interattività, puoi anche lasciar perdere
tutta la gestione grafica, costruendo ua procedura batch;
To unsubscribe from calcolo angolare triangoli con 3 vertici, click here. NAML
–
Dott. Geografo Gagna Andrea, Docente Professionale tecnologia Open Source GEO-ICT Esperto in GIS-GPS integrati con i Geo-DBMS ( QGIS integrato a PostGIS ) e sviluppo QGIS plugin in ambiente PyQT Creator.
Si cmq il calcolo in realta' e' piu' complesso di come credevo perche' parto
da una serie di 3 punti e non due vettori intersecanti.
Per risolverlo mi e' venuto incontro il grandissimo @massimo Figaroli!
E' necessario collegare i punti da linee, applicare sui punti interessati un
buffer e ritagliarci la porzione di area circolare ottenuta dal clip dei
vettori ottenuti applicato alle circonferenze.
Dalla formula che scrivevi ottieni quindi il valore degli angoli alfa.
Poi si potra' fare con python, postgis e routine varie ma cosi' e' alla
portata anche per neofiti della programmazione.
N.B: Se I punti di partenza li devo convertire dal S.R. WGS84 al Gauss Boaga
(Eggs 3003), il valore degli angoli cambia? Cioe'; se li calcolo in Progetto
QGIS con SR wgs84 sono uguali ai valori calcolati con
riproiezione/conversione del SR in Gauss Boaga?
On 3/6/17, andrea gagna <g.andre87@gmail.com> wrote:
ciao,
Si cmq il calcolo in realta' e' piu' complesso di come credevo perche' parto
da una serie di 3 punti e non due vettori intersecanti.
scusa, ma 3 punti è la stessa cosa di 2 vettori:
P1 = (x1,y1), P2 = (x2,y2), P3 = (x3,y3)
-> v2 = P2-P1 = (x2-x1,y2-y1), v3 = P3-P1 = (x3-x1,y3-y1)
-> cos(alfa) = (v2.v3)/|v2||v3|
dove alfa è l'angolo in P1, (u.v) è il prodotto interno e |u| il modulo di u;
ovviamente se ti interessa l'angolo in un altro punto modifichi di conseguenza;
Per risolverlo mi e' venuto incontro il grandissimo @massimo Figaroli!