|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 369
|
Coordinate geografiche e distanze
Vediamo se qualcuni può aiutarmi...
vorrei calcolare la distanza tra due località date le loro coordinate geografiche, ma non ricordo e non trovo la formula... per esempio tra Azeglio (TO) longitudine 8,6463 / latitudine 44,6393 e Albizzate (VA) 8,8027/45,7301 ci sono (in linea d'aria) 71 km...
__________________
| Italiani Liberi | |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2000
Città: Roma
Messaggi: 1784
|
Teorema di pitagora
Distanza = Radice quadrata di [(Xa-Xb)² + (Ya-Yb)²]
__________________
La mia config: Asus Z170 Pro gaming, Intel i5 6600k @4.5Ghz, cooler master 212x, corsair vengeance 8Gb ddr4 2133, SSD sandisk ultra II 480Gb, Gainward GTX960 4Gb, Soundblaster Z, DVD-RW, ali Corsair CX750M, Case Thermaltake Suppressor F31 Ultima modifica di FastFreddy : 10-05-2005 alle 18:14. |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 369
|
ah!
per chi non lo sapesse, latitudine e longitudine sono angoli, in questo caso sono espresse gradi e frazioni decimali (non sessagesimali). forse c'è un errore nelle coordinate dei paesi che ho preso ad esempio, però la formula vale lo stesso...
__________________
| Italiani Liberi | |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2003
Città: Brindisi
Messaggi: 872
|
dovresti trasformare le distanze angolari in radianti ed usare
le formule di Gauss quindi otterresti la distanza angolare tra i 2 punti in radianti sapendo che 1 grado sessagesimale corrisponde a circa 110 km sulla superficie.... |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 369
|
ho provato con una sempilificazione che sembra dare buoni risultati:
- terra come sfera invece che come elleissoide (ellittico?) - distanza tra due punti come una retta invece che come una curva - altimetria trascurata - R = raggio della terra nell'intorno di misurazione sistema di coordinate cartesiane geocentriche: O è il centro della terra, il piano OXY è il piano equatoriale e l'asse Z perpendicolare a OXY passa per O ed il polo nord. Con questa semplificazione si puo passare dalle coordinate polari (R, lat, long) alle coordinate cartesiane (x,y,z), allora si che si può applicare pitagora (ipotesi di distanza rettilinea) x=R cos(lat)sen(long) y=R cos(lat)cos(long) z=R sen(lat) Ma se volessi considerare l'ellissoide e la distanza curvilinea, considerando 0 la quota altimetrica per ogni punto? Ci vorrebbe qualcuno che si ricordi il corso di algebra (coniche quadriche ...).
__________________
| Italiani Liberi | |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2003
Città: Brindisi
Messaggi: 872
|
lascia perdere l'ellissoidicità della Terra
l'approssimazione sferica è ottima perchè su qualsiasi distanza sbaglieresti al massimo di poche decine di metri |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Nov 2002
Città: Singularity
Messaggi: 894
|
Quote:
y=b cos(lat)cos(long) z=c sen(lat) a,b,c sono le lunghezze dei tre semiassi, supponendo di scegliere un sistema di riferimento coincidente ai tre assi. Nel caso della Terra basta prendere a=b (raggio equatoriale) e c diverso (raggio polare). Comunque secondo me le differenze sono minime. Inoltre devi considerare che non è possibile applicare il teorema di Pitagora direttamente, perchè il triangolo non è piano (anche se lo è con buona approssimazione). Anche in questo caso ci sono delle correzioni, ma non ho la formula sotto mano ![]()
__________________
echo 'main(k){float r,i,j,x,y=-15;while(puts(""),y++<16)for(x=-39;x++<40;putchar(" .:-;!/>"[k&7])) for(k=0,r=x/20,i=y/8;j=r*r-i*i+.1, i=2*r*i+.6,j*j+i*i<11&&k++<111;r=j);}'&>jul.c;gcc -o jul jul.c;./jul |Only Connect| "To understand is to perceive patterns" Isaiah Berlin "People often speak of their faith, but act according to their instincts." Nietzsche - Bayesian Empirimancer - wizardry |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2003
Città: Brindisi
Messaggi: 872
|
nel caso della terra a e b si possono porre uguali
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jun 2004
Messaggi: 369
|
In effetti con la soluzione sferica l'errore è trascurabile.
__________________
| Italiani Liberi | |
![]() |
![]() |
![]() |
#10 |
Junior Member
Iscritto dal: Dec 2003
Messaggi: 27
|
Riuppo questo post perchè sto cercando di calcolare la distanza di un percorso effettuato con il gps, ho utilizzato la formula harvesine ma volevo sapere come si comporta questa formula con l'altezza, nel mio percorso parto da 2500 metri ed arrivo a 1100 metri.
La formula tiene conto dell'altezza? a regola se non ne tiene conto la distanza sarebbe il cateto minore del triangolo mentre se ne tiene conto è l'ipotenusa giusto? Esiste una formula per il calcolo della distanza che tiene conto dell'altezza dei punti?
__________________
mb: Abit ic7 max 3, cpu: P4 nortwood C FSB800 @ 3.4g, ram: Corsair TWINX 1024-3200XL, vga: GF Leadtek 6800 ultra HD: 2*MAXTOR D.MaxPlus 6Y160M0 160GB SATA 8MB in raid 0. |
![]() |
![]() |
![]() |
#11 | |
Junior Member
Iscritto dal: Aug 2005
Messaggi: 19
|
Quote:
cos d0 = sen(fi,a)sen(fi,b) + cos(fi,a)cos(fi,b)cos(delta lambda) con fi,a = latitudine punto di partenza fi,b = latitudine punto di arrivo delta lambda = differenza di longitudine tra i punti Il risultato d0 è in gradi (quindi va moltiplicato per 60 per ottenere primi di grado, anche detti miglia) Sia questa formula, sia quella di Haversine non tengono ovviamente conto dell'altezza dei punti; credo però che il ragionamento che stai impostando sia corretto (considerare il risultato come cateto, il dislivello come altro cateto e l'ipotenusa come reale distanza, si applica pitagora ed è fatta). PS: parlare di distanze sferiche non ha molto senso quando si parla di gps e bussole. Se con la tua bussola cammini sempre con la stessa "prua" (stesso orientamento) non percorri un cammino ortodromico ma lossodromico, quindi una distanza leggermente maggiore. |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: May 2007
Città: Arschloch der Schöpfung
Messaggi: 524
|
Se la distanza tra i punti è < 20 Km puoi considerare piano l' orizzonte senza complicarti la vita, l' errore massimo si aggira sui 30 m dipende poi da un punto all' altro come ci vai? Volando in linea retta o si tratta di un link radio? In caso contrario la distanza reale percorsa è tutt' altro che quella derivante dai calcoli di trigonometria piana.
__________________
zuckerbaer.deviantart.com |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:12.