Latitudine



  • Latitudine
    di Gigi (utente non iscritto) data: 24/05/2016 10:06:03

    Buongiorno. Avevo bisogno di una formula per calcolare la distanza tra due punti dei quali conosco latitudine e longitudine. Da una discussione del 2015 ho recuperato questa formula, in cui la distanza è espressa in metri:
    =ARCCOS(COS(RADIANTI(90-B2))*COS(RADIANTI(90-B3))+SEN(RADIANTI(90-B2))*SEN(RADIANTI(90-B3))*COS(RADIANTI(C2-C3)))*6371*1000

    B2 latitudine punto1
    B3 latitudine punto2
    C2 longitudine punto1
    C3 longitudine punto2

    Ho provato, ma mi dà dei risultati palesemente errati. Non so se è un errore mio: io ho proceduto convertendo latitudine/longitudine in radianti, poi ho calcolato i coseni ed i seni, come indicato nella formula; ed infine ho calcolato l'arcocoseno; ma ottengo delle distanze non corrette (es. tra Roma e Milano oltre 6500 chilometri). Dove sbaglio??



  • di patel data: 24/05/2016 10:54:19

    la tua formula è corretta, basta usare cordinate decimali, la distanza la trovi in metri, per otteber km togli il 1000, se hai problemi allega un file con i dati






  • di Gianfranco data: 24/05/2016 11:07:58

    ciao
    prova
    =6372,8*ARCCOS((SEN(RADIANTI(B2))*SEN(RADIANTI(B3))+(COS(RADIANTI(B2))*COS(RADIANTI(B3))*COS(RADIANTI(C3-C2)))))

    che sarebbe
    =6372,8*ARCCOS((SEN(RADIANTI(Lat1))*SEN(RADIANTI(Lat2))+(COS(RADIANTI(Lat1))*COS(RADIANTI(Lat2))*COS(RADIANTI(Long2-Long1)))))

    altrimenti vba

    e nella cella che ti interessa
    =GeoDist($B2;$C2;B3;C3)
     
     
    Function GeoDist(Lat1, Long1, Lat2, Long2) As Double
    
    risultato in km
    Dim Raggio As Double, PiGrec As Double, X As Double, Y As Double
        Raggio = 6372.8  'Raggio Terra, Km
        PiGrec = Application.pi
    '    
    ' gradi a radianti
        Lat1 = Lat1 * PiGrec / 180
        Lat2 = Lat2 * PiGrec / 180
        dLon = (Long2 - Long1) * PiGrec / 180 ' delta long
    '
        X = Sin(Lat1) * Sin(Lat2) + Cos(Lat1) * Cos(Lat2) * Cos(dLon)
        Y = Sqr((Cos(Lat2) * Sin(dLon)) ^ 2 + (Cos(Lat1) * Sin(Lat2) - Sin(Lat1) * Cos(Lat2) * Cos(dLon)) ^ 2)
        Geodist = WorksheetFunction.Atan2(X, Y) * Raggio
    '
    End Function



  • di ninai data: 24/05/2016 13:01:10

    ciao
    la formula proposta all'inizio a me sembra funzionare, con latitudine e longitudine espresse in decimali, esempio:
    ------------- lat -----------long
    punto 1 ---38,180403 - 15,346382
    punto 2 ---38,180418 - 15,347493



  • di Gigi (utente non iscritto) data: 24/05/2016 16:26:26

    Ho provato, ma inserendo i dati mi viene una distanza tra Napoli e Milano di soli 338 km!! Dove sbaglio??
    Allego il file. Grazie.



  • di ninai data: 24/05/2016 16:33:03

    ciao
    con i dati di milano e napoli
    45,46545400 9,186516000
    40,8517746 14,2681244

    a me viene:657,795766
    ovviamente devi togliere *1000, perchè la formula te i da in metri



  • di patel data: 24/05/2016 16:40:13

    Gigi, le tue coordinate di milano sono errate




  • Latitudine
    di Gigi (utente non iscritto) data: 24/05/2016 10:06:03

    Buongiorno. Avevo bisogno di una formula per calcolare la distanza tra due punti dei quali conosco latitudine e longitudine. Da una discussione del 2015 ho recuperato questa formula, in cui la distanza è espressa in metri:
    =ARCCOS(COS(RADIANTI(90-B2))*COS(RADIANTI(90-B3))+SEN(RADIANTI(90-B2))*SEN(RADIANTI(90-B3))*COS(RADIANTI(C2-C3)))*6371*1000

    B2 latitudine punto1
    B3 latitudine punto2
    C2 longitudine punto1
    C3 longitudine punto2

    Ho provato, ma mi dà dei risultati palesemente errati. Non so se è un errore mio: io ho proceduto convertendo latitudine/longitudine in radianti, poi ho calcolato i coseni ed i seni, come indicato nella formula; ed infine ho calcolato l'arcocoseno; ma ottengo delle distanze non corrette (es. tra Roma e Milano oltre 6500 chilometri). Dove sbaglio??



  • di Gigi (utente non iscritto) data: 24/05/2016 17:05:33

    Hai perfettamente ragione Patel !. Ho inserito le coordinate corrette è di dà un valore plausibile. Grazie!!



  • di patel data: 24/05/2016 10:54:19

    la tua formula è corretta, basta usare cordinate decimali, la distanza la trovi in metri, per otteber km togli il 1000, se hai problemi allega un file con i dati






  • di Gianfranco data: 24/05/2016 11:07:58

    ciao
    prova
    =6372,8*ARCCOS((SEN(RADIANTI(B2))*SEN(RADIANTI(B3))+(COS(RADIANTI(B2))*COS(RADIANTI(B3))*COS(RADIANTI(C3-C2)))))

    che sarebbe
    =6372,8*ARCCOS((SEN(RADIANTI(Lat1))*SEN(RADIANTI(Lat2))+(COS(RADIANTI(Lat1))*COS(RADIANTI(Lat2))*COS(RADIANTI(Long2-Long1)))))

    altrimenti vba

    e nella cella che ti interessa
    =GeoDist($B2;$C2;B3;C3)
     
     
    Function GeoDist(Lat1, Long1, Lat2, Long2) As Double
    
    risultato in km
    Dim Raggio As Double, PiGrec As Double, X As Double, Y As Double
        Raggio = 6372.8  'Raggio Terra, Km
        PiGrec = Application.pi
    '    
    ' gradi a radianti
        Lat1 = Lat1 * PiGrec / 180
        Lat2 = Lat2 * PiGrec / 180
        dLon = (Long2 - Long1) * PiGrec / 180 ' delta long
    '
        X = Sin(Lat1) * Sin(Lat2) + Cos(Lat1) * Cos(Lat2) * Cos(dLon)
        Y = Sqr((Cos(Lat2) * Sin(dLon)) ^ 2 + (Cos(Lat1) * Sin(Lat2) - Sin(Lat1) * Cos(Lat2) * Cos(dLon)) ^ 2)
        Geodist = WorksheetFunction.Atan2(X, Y) * Raggio
    '
    End Function



  • di ninai data: 24/05/2016 13:01:10

    ciao
    la formula proposta all'inizio a me sembra funzionare, con latitudine e longitudine espresse in decimali, esempio:
    ------------- lat -----------long
    punto 1 ---38,180403 - 15,346382
    punto 2 ---38,180418 - 15,347493



  • di Gigi (utente non iscritto) data: 24/05/2016 16:26:26

    Ho provato, ma inserendo i dati mi viene una distanza tra Napoli e Milano di soli 338 km!! Dove sbaglio??
    Allego il file. Grazie.



  • di ninai data: 24/05/2016 16:33:03

    ciao
    con i dati di milano e napoli
    45,46545400 9,186516000
    40,8517746 14,2681244

    a me viene:657,795766
    ovviamente devi togliere *1000, perchè la formula te i da in metri



  • di patel data: 24/05/2016 16:40:13

    Gigi, le tue coordinate di milano sono errate





  • di Gigi (utente non iscritto) data: 24/05/2016 17:05:33

    Hai perfettamente ragione Patel !. Ho inserito le coordinate corrette è di dà un valore plausibile. Grazie!!