Partendo dalle coordinate di due punti, come si calcola la rotta e la distanza tra di essi?
Mi servirebbe l'algoritmo per fare un programmino..... avete idea di dove andarlo a prendere??
Ho un'ideuzza che mi frulla in testa....
???
assolutamente trigonometria, differenza fra le coordinate e via di seno e coseno...
:'(
solo che non ricordo + la formula esatta...
mo' vado a vede, e poi te faccio sape'
Ciao.
Alberto
Citazione di: verixone il 17 Agosto 2007, 12:02:11
assolutamente trigonometria, differenza fra le coordinate e via di seno e coseno...
:'(
solo che non ricordo + la formula esatta...
mo' vado a vede, e poi te faccio sape'
Ciao.
Alberto
Trigonometria sferica per la precisione.....
::)
Puff pufff... ariecchime!
ti posto il link alla tua soluzione: la tua incognita risulta essere r
Famme sape' se risolvi... ciao!
http://it.wikipedia.org/wiki/Sistema_di_coordinate_polari#Conversione_da_coordinate_polari_a_cartesiane (http://it.wikipedia.org/wiki/Sistema_di_coordinate_polari#Conversione_da_coordinate_polari_a_cartesiane)
Questa è l'immagine:
http://upload.wikimedia.org/wikipedia/commons/7/78/Polar_to_cartesian.svg (http://upload.wikimedia.org/wikipedia/commons/7/78/Polar_to_cartesian.svg)
In buona sostanza devi rapportare tutto ad un sistema di assi cartesiani, l'origine dei quali è esattamente UNO dei tuoi DUE punti.
La differenza fra la coppia di coordinate dei due punti ti fornirà rispettivamente X ed Y, dopodichè applichi la formula relativa.... et voila'!
Citazione di: verixone il 17 Agosto 2007, 12:09:48
Puff pufff... ariecchime!
ti posto il link alla tua soluzione: la tua incognita risulta essere r
Famme sape' se risolvi... ciao!
http://it.wikipedia.org/wiki/Sistema_di_coordinate_polari#Conversione_da_coordinate_polari_a_cartesiane (http://it.wikipedia.org/wiki/Sistema_di_coordinate_polari#Conversione_da_coordinate_polari_a_cartesiane)
Questa è l'immagine:
http://upload.wikimedia.org/wikipedia/commons/7/78/Polar_to_cartesian.svg (http://upload.wikimedia.org/wikipedia/commons/7/78/Polar_to_cartesian.svg)
In buona sostanza devi rapportare tutto ad un sistema di assi cartesiani, l'origine dei quali è esattamente UNO dei tuoi DUE punti.
La differenza fra la coppia di coordinate dei due punti ti fornirà rispettivamente X ed Y, dopodichè applichi la formula relativa.... et voila'!
in realtà è un po' più complicato di così...
la teoria dovrebbe essere questa:
http://www.itaer.it/lavori/trigonsfer/TRIGONSFER.htm
(http://www.itaer.it/lavori/trigonsfer/TRIGONSFER3_file/Triangolino.gif)
Cos a = Cos b Cos c + Sen b Sen c Cos a
Cos b = Cos a Cos c + Sen a Sen c Cos b
Cos c = Cos a Cos b + Sen a Sen b Cos g
(http://www.itaer.it/lavori/trigonsfer/TRIGONSFER3_file/Figura.gif)
Cercavo però qualcosa di più immediata applicazione...
mi sa che dovrò spremere il cervellino!!
"sbemm"
Attenzione anche al sistema di riferimento. Le coordinate geografiche classiche (latitudine e longitudine) sono sul geoide (il solido geometrico che descrive la forma della terra).
Se cominci a passare alle Gauss-Boaga, quelle sono riportate con una proiezione piana e allora puoi usare coordinate polari e cartesiane classiche.
Per brevi tragitti si tratta di differenze irrilevanti.
Nel caso di tragitti lunghi (es rotte oceaniche) si possono scegliere le cosiddette rotte lossodromiche, che costituiscono la rotta più breve fra il punto di partenza e quello di arrivo, mentre la corrispondente rotta ortodromica (quella classica) che si ottiene tracciando sulla carta la congiungente lineare fra i due punti, risulta di fatto di percorrenza più lunga.
Ma con un nick così (Beaufort) so che non puoi non saperlo ...
:riez:
Citazione di: Tsof il 17 Agosto 2007, 18:51:24
Ma con un nick così (Beaufort) so che non puoi non saperlo ...
:riez:
;)
Ma che vuoi fare ?
Citazione di: MangiaErba il 20 Agosto 2007, 10:44:12
Ma che vuoi fare ?
Un programmillo che analizza i file traccia del GPS
Il file trk salvato da compegps è abbastanza chiaro...
CitazioneG WGS 84
U 1
P Garmin id=450 EDGE205 Software Version 3.10
Q 3158070676
I C:\Programmi\CompeGPS\symbols\IconsPlay\person1.ico
C 0 0 0 2 -1.000000
L -02:00:00
V 0.0 0.0 0 0 0 0 0.0 30566172.0 1
E 0|1|00-NUL-00 00:00:00|00:00:00|0|4778
i I013642DST
z 8.181732,44.181842,8.417117,44.330030
T A 44.2803210765ºN 8.4171074163ºE 04-AUG-07 08:02:21 s 150.1 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
t 0||2|0|-1.0
T A 44.2803173885ºN 8.4171169717ºE 04-AUG-07 08:02:28 s 150.1 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2802756466ºN 8.4169945959ºE 04-AUG-07 08:02:32 s 150.6 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2802504171ºN 8.4168904927ºE 04-AUG-07 08:02:34 s 150.6 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2801198270ºN 8.4165564738ºE 04-AUG-07 08:02:39 s 150.1 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2800558731ºN 8.4164669551ºE 04-AUG-07 08:02:41 s 150.6 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2798762489ºN 8.4161372948ºE 04-AUG-07 08:02:45 s 150.6 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2796600796ºN 8.4157909546ºE 04-AUG-07 08:02:49 s 152.5 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2796084471ºN 8.4157158528ºE 04-AUG-07 08:02:50 s 153.0 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2794244643ºN 8.4153714404ºE 04-AUG-07 08:02:54 s 155.4 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2794008274ºN 8.4151715320ºE 04-AUG-07 08:02:57 s 155.9 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
T A 44.2795261368ºN 8.4146266244ºE 04-AUG-07 08:03:02 s 159.7 0.0 0.0 0.0 0 -1000.0 -1.0 -1 -1.0 -1.0
[/size]
Citazione di: beaufort8 il 17 Agosto 2007, 08:29:07
Partendo dalle coordinate di due punti, come si calcola la rotta e la distanza tra di essi?
Mi servirebbe l'algoritmo per fare un programmino..... avete idea di dove andarlo a prendere??
Ho un'ideuzza che mi frulla in testa....
???
...IO CONOSCO L'UOMO che ti puo' dare quello che cerchi...MA...cosa OFFRI in CAMBIO!?! :pazz: pazz2 ANDREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!! A RAPPORTO DAL WM!!!!!!!!!!!!!!! #risatona# :ciao:
Citazione di: beaufort8 il 20 Agosto 2007, 18:18:58
Un programmillo che analizza i file traccia del GPS
Il file trk salvato da compegps è abbastanza chiaro...
Si, anche i dati in arrivo dal SAT sono in formato chiaramente leggibile ... infatti volevo farmi il programma di navigazione (no il Tom Tom, ma OziExplorer) per togliere molte funzioni che davvero non userò mai e inserire qualcosa che invece non c'è (come la possibilità di inviare SMS con le coordinate ogni TOT minuti, o magari via FTP su un server a cui i miei potrebbero collegarsi qualora venisse bujo e io fossi ancora fuori in moto (una volta uscivo spesso da solo e, sinceramente, mi piacerebbe ricominciare ... la compagnia non va bene per cercare percorsi nuovi ... troppo piatto ... troppo noioso ... troppo bosco, troppa poca mula .... )
Credo che per le nostre esigenze e lavorando con le coordinate UTM non serva tener conto della sfericità della Terra (perchè è sferica vero ? Non è che RazzingaZ adesso rimette in discussione anche quello ? #risatona# #risatona# #risatona# MA CHE POLEMICO CHE SONO :riez: :riez: :riez:)
Ma cosa vuoi fare che Compe e Ozi non fanno ? O vuoi farlo per il puro gusto di farlo (che non è una motivazione da poco) ?
Citazione di: MangiaErba il 20 Agosto 2007, 21:34:33
Si, anche i dati in arrivo dal SAT sono in formato chiaramente leggibile ... infatti volevo farmi il programma di navigazione (no il Tom Tom, ma OziExplorer) per togliere molte funzioni che davvero non userò mai e inserire qualcosa che invece non c'è (come la possibilità di inviare SMS con le coordinate ogni TOT minuti, o magari via FTP su un server a cui i miei potrebbero collegarsi qualora venisse bujo e io fossi ancora fuori in moto (una volta uscivo spesso da solo e, sinceramente, mi piacerebbe ricominciare ... la compagnia non va bene per cercare percorsi nuovi ... troppo piatto ... troppo noioso ... troppo bosco, troppa poca mula .... )
Credo che per le nostre esigenze e lavorando con le coordinate UTM non serva tener conto della sfericità della Terra (perchè è sferica vero ? Non è che RazzingaZ adesso rimette in discussione anche quello ? #risatona# #risatona# #risatona# MA CHE POLEMICO CHE SONO :riez: :riez: :riez:)
Ma cosa vuoi fare che Compe e Ozi non fanno ? O vuoi farlo per il puro gusto di farlo (che non è una motivazione da poco) ?
Sto facendo (cercando di...) un programmillo che analizza le singole tratte tra un punto traccia e il successivo.
Per il momento mi piacerebbe arrivare ad avere, per ogni tratta, direzione, dislivello, tempo trascorso, distanza.
Il fine ultimo non è questo, ma non te lo posso dire, altrimenti dopo dovrei ucciderti. -ninzo'-
Ho trovato una soluzione, però ci deve essere qualche baco... elabora un bel numero di tratte e poi su una coppia di punti si pianta.
L'ho presa qui:
http://groups.google.it/group/it.comp.lang.visual-basic/browse_thread/thread/bc76b7a6277b826c/65cfad6eb685c2d1?lnk=st&q=calcolo+distanza+comuni&rnum=2
e qui:
http://www.flanguasco.org/VisualBasic/VisualBasic.html
Questo è il risultato che ottengo:
CitazioneLat Long Time Alt Secondi Dislivello Distanza Rotta
44,28031739 8,417116972 8.02.28 150,1 0 0 0 270
44,28027565 8,416994596 8.02.32 150,6 4 0,5 10,8 245
44,28025042 8,416890493 8.02.34 150,6 2 0 8,7 251
44,28011983 8,416556474 8.02.39 150,1 5 -0,5 30,2 241
44,28005587 8,416466955 8.02.41 150,6 2 0,5 10 225
44,27987625 8,416137295 8.02.45 150,6 4 0 32,9 233
44,27966008 8,415790955 8.02.49 152,5 4 1,9 36,5 229
44,27960845 8,415715853 8.02.50 153 1 0,5 8,3 226
44,27942446 8,41537144 8.02.54 155,4 4 2,4 34,1 233
44,27940083 8,415171532 8.02.57 155,9 3 0,5 16,1 261
44,27952614 8,414626624 8.03.02 159,7 5 3,8 45,5 288
44,27955187 8,41455102 8.03.03 160,2 1 0,5 6,6 295
44,27957634 8,414330492 8.03.06 159,7 3 -0,5 17,7 279
44,27969403 8,414100492 8.03.10 161,2 4 1,5 22,5 306
44,27978866 8,413999993 8.03.12 162,6 2 1,4 13,2 323
44,27991196 8,413698832 8.03.16 167,4 4 4,8 27,6 300
44,27993685 8,413603529 8.03.17 168,4 1 1 8,1 290
44,27993333 8,413230199 8.03.21 172,7 4 4,3 29,7 269
44,27992444 8,413121235 8.03.22 172,7 1 0 8,7 264
44,2798014 8,412792832 8.03.26 175,6 4 2,9 29,4 242
44,27950317 8,412350435 8.03.31 178 5 2,4 48,3 227
44,27921073 8,412089087 8.03.36 174,6 5 -3,4 38,5 213
44,2789928 8,411887335 8.03.39 174,1 3 -0,5 29 214
44,27876607 8,411618695 8.03.43 173,2 4 -0,9 33 220
44,27869557 8,411527835 8.03.47 174,1 4 0,9 10,6 223
44,27883974 8,41152993 8.03.50 180,9 3 6,8 16 1
44,27887092 8,411450554 8.03.52 182,8 2 1,9 7,2 299
44,27880152 8,411348881 8.03.54 185,2 2 2,4 11,2 226
44,27874184 8,411148889 8.03.58 190,5 4 5,3 17,2 247
44,27892608 8,411110751 8.04.01 195,8 3 5,3 20,7 352
solo che poi mi si pianta arrivato qui:
44,28155246 8,329551565 9.41.08 665,9
44,28158959 8,329551565 9.41.29 668,3
Epperchè????
P.S. il problema non è dato dalla longitudine con valori uguali... scazza sulla latitudine, nonsopperchè...
Citazione di: beaufort8 il 21 Agosto 2007, 09:30:04
Sto facendo (cercando di...) un programmillo che analizza le singole tratte tra un punto traccia e il successivo.
Per il momento mi piacerebbe arrivare ad avere, per ogni tratta, direzione, dislivello, tempo trascorso, distanza.
Il fine ultimo non è questo, ma non te lo posso dire, altrimenti dopo dovrei ucciderti. -ninzo'-
Ho trovato una soluzione, però ci deve essere qualche baco... elabora un bel numero di tratte e poi su una coppia di punti si pianta.
L'ho presa qui:
http://groups.google.it/group/it.comp.lang.visual-basic/browse_thread/thread/bc76b7a6277b826c/65cfad6eb685c2d1?lnk=st&q=calcolo+distanza+comuni&rnum=2
e qui:
http://www.flanguasco.org/VisualBasic/VisualBasic.html
Questo è il risultato che ottengo:
solo che poi mi si pianta arrivato qui:
44,28155246 8,329551565 9.41.08 665,9
44,28158959 8,329551565 9.41.29 668,3
Epperchè????
P.S. il problema non è dato dalla longitudine con valori uguali... scazza sulla latitudine, nonsopperchè...
Hai provato a fare un po' di debug e tracciar le varie variabili ?
Purtroppo ci sono delle forme sintattiche che non capisco (! o # dopo i numeri) e non vedo la funzione principale che chiama le due funzioni.
Hai provato a cambiare in modo fittizio le coordinate dove si impapocchia per capire se son quelle coordinate a mandarlo in palla oppure se il problema è nel ciclo (usi un ciclo per calcolare a due a due le varie coordinate no ?)
Citazione di: MangiaErba il 21 Agosto 2007, 10:53:08
Hai provato a fare un po' di debug e tracciar le varie variabili ?
Purtroppo ci sono delle forme sintattiche che non capisco (! o # dopo i numeri) e non vedo la funzione principale che chiama le due funzioni.
Hai provato a cambiare in modo fittizio le coordinate dove si impapocchia per capire se son quelle coordinate a mandarlo in palla oppure se il problema è nel ciclo (usi un ciclo per calcolare a due a due le varie coordinate no ?)
i # non mi sembra che facciano nulla.
Ho scritto un pezzetto di codice che lancia la routine in modo da inserire le coordinate come costanti, e con quei valori si impapocchia.
Il problema è qui:
A = Acos((Sin(Lt2) - Sin(Lt1) * Cos(D)) / (Sin(D) * Cos(Lt1)))
in pratica (Sin(Lt2) - Sin(Lt1) * Cos(D)) / (Sin(D) * Cos(Lt1)) restituisce un valore maggiore di 1 e la funzione ACOS vuole valori compresi tra -1 e 1
A questo punto il nodo sembra essere nell'algoritmo...
hmmmmm :dubbio:
http://en.wikipedia.org/wiki/Great_circle_distance
http://www.movable-type.co.uk/scripts/latlong.html
Citazione di: Fabio WM XT 600 IT il 20 Agosto 2007, 19:50:09
...IO CONOSCO L'UOMO che ti puo' dare quello che cerchi...MA...cosa OFFRI in CAMBIO!?! :pazz: pazz2 ANDREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!! A RAPPORTO DAL WM!!!!!!!!!!!!!!! #risatona# :ciao:
Spero tu non ce l'abbia con me... :dubbio: non mi avrete!!
Scusa marco ma non puoi usare un normale programma che tratta le le tracce per sapere la lunghezza della stessa?
Perchè tra l'altro se hai un gps è molto più affidabile il parziale che ha intergrato, infatti quando registri non prendi tutti i punti mentre invece il parziale somma tutte le distanze che percorri una volta al secondo...
Citazione di: AndreaC il 21 Agosto 2007, 12:42:17
Scusa marco ma non puoi usare un normale programma che tratta le le tracce per sapere la lunghezza della stessa?
Perchè tra l'altro se hai un gps è molto più affidabile il parziale che ha intergrato, infatti quando registri non prendi tutti i punti mentre invece il parziale somma tutte le distanze che percorri una volta al secondo...
:nooo:
Voglio fare un'analisi della spezzata composta dalle singole tratte...
Comunque sono solo s@ghe mentali "sbemm"
Citazione di: beaufort8 il 21 Agosto 2007, 12:46:24
:nooo:
Voglio fare un'analisi della spezzata composta dalle singole tratte...
Cos'è un tipo di frattura? ;D
Cmq nell'ultimo link di wiki mi sembra ci sia tutto no?
Un po' di reminiscenze di geometria analtica dal mio manabile di matematica, una specie di bigino che mi conservo e che trovo utilissimo in certe situazioni:
Distanza fra due punti in coordinate cartesiane
Dati due punti P1 e P2, con coordinate rispettivamente (x1,y1) e (x2,y2):
d = P1P2 = radq((x2-x1)^2+(y2-y1)^2))
Distanza fra due punti in coordinate polariDati due punti P1 e P2, con coordinate rispettivamente (rh1,th1) e (rh2,th2) [in cui rh è in realtà rho, e indica la distanza del punto dall'origine e th è in realtà theta, e indica l'angolo con l'asse orizzontale per ciascuno dei due punti]
d = P1P2 = radq((rh1^2) + (rh2^2) - (2 rh1 rh2 cos(th1-th2)))
Citazione di: beaufort8 il 21 Agosto 2007, 12:46:24
:nooo:
Voglio fare un'analisi della spezzata composta dalle singole tratte...
Comunque sono solo s@ghe mentali "sbemm"
Se è solo quello lo puoi fare con OziExplorer .. scompone le tracce in base al tempo per cui identifica abbastanza bene le varie tratte
In merito alla formula non so cosa dirti ... non posso nemmeno provarlo perchè non ho (e non è un caso #risatona#) VBasic ...