News:

HAI CAMBIATO INDIRIZZO EMAIL E VUOI RECUPERARE IL TUO VECCHIO ACCOUNT DEL FORUM xt600.it ?
SCRIVICI A INFO chiocciola XT600.EU
TI RISPONDEREMO NON APPENA POSSIBILE

Menu principale

HELP Calcolo rotta e distanza tra due punti

Aperto da beaufort8, 17 Agosto 2007, 08:29:07

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

beaufort8

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....
???
Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

verixone

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

beaufort8

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.....
::)
Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

verixone

#3
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

Questa è l'immagine:

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'!

beaufort8

#4
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

Questa è l'immagine:

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



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




Cercavo però qualcosa di più immediata applicazione...
mi sa che dovrò spremere il cervellino!!
"sbemm"
Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

Tsof

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:

CSC - Cellula Sirboni Cagliari

Windows-Linux user XT600 43f 1984  UTENTE SKIPE: Tsofnath  Altro che Euro5!!! la vera sostenibilità ambientale ... compostaggio domestico, case in paglia e una vecchia XT!!!

beaufort8

Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

MangiaErba


beaufort8

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]
Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

Fabio WM XT 600 IT

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:
FONDATORE STORICO E IDEATORE DEL FORUM WWW.XT600. IT

MangiaErba

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) ?

beaufort8

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è...

Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

MangiaErba

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 ?)


beaufort8

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...

Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

beaufort8

Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

AndreaC

#15
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!!

AndreaC

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...

beaufort8

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"
Marco - Torino

XT350 '85      TT350 '92 non più...           WR250 F '05 venduta..

AndreaC

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?

Tsof

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)))

CSC - Cellula Sirboni Cagliari

Windows-Linux user XT600 43f 1984  UTENTE SKIPE: Tsofnath  Altro che Euro5!!! la vera sostenibilità ambientale ... compostaggio domestico, case in paglia e una vecchia XT!!!

MangiaErba

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 ...