Distanza STRADALE tra due punti



  • Distanza STRADALE tra due punti
    di fiocco87 data: 18/11/2015 12:16:26

    Ciao a tutti,

    ritorno alla carica con distanze, coordinate&co.

    Esiste una bella macro per avere la distanza STRADALE tra due punti geografici?

    I punti sono identificati da latitudine e longitudine.

    Anyone?

    Grazie come sempre!!



  • di gdito data: 18/11/2015 12:59:52

    Ciao Fiocco84, se ti dico come fare quanto mi dai?

    Scherzi a parte, ovviamente per sapere quanto ti serve devi rivolgerti ad un servizio di mappe, Excel non ha modo di sapere quali sono le strade. Puoi quindi usare (di nuovo) Google, nello specifico Google Maps. Per farlo devi prima di tutto creare una API Key per la tua applicazione, puoi farlo da qui cliccando su "Get A Key", devi avere un account Google (gmail se preferisci)

    h t t p s ://developers.google.com/maps/documentation/distance-matrix/intro

    Nella stessa pagina trovi anche le indicazioni su come fare, in breve comunque devi inviare una richiesta al server composta in questo modo

    h t t p s://maps.googleapis.com/maps/api/distancematrix/xml?origins=45.4641900,9.1938100&destinations=41.8995260,12.4895720&mode=driving&language=it-IT&key=[TUA API KEY]

    Il risultato sarà in XML che dovrai quindi analizzare in VBA, il formato è quello che trovi sotto


    OK
    Via Pattari, 5, 20122 Milano, Italia
    Via Milano, 8, 00184 Roma, Italia


    OK

    20658
    5 ore 44 min


    572972
    573 km





    Può esserti utile come punto di partenza?



  • di gdito data: 18/11/2015 13:01:53

    Purtroppo il sito mi elimina i tag XML... uff...

    trovi qui l'esempio h t t p ://justpaste.it/esempio_distanza_xml



  • di scossa data: 18/11/2015 14:03:11

    Ciao,
    cit.gdito: ".... devi prima di tutto creare una API Key per la tua applicazione"

    una precisazione: la key non è indispensabile e può essere omessa.

    output xml: maps.googleapis.com/maps/api/distancematrix/xml?origins=45.4641900,9.1938100&destinations=41.8995260,12.4895720&mode=driving&language=it-IT

    output json: maps.googleapis.com/maps/api/distancematrix/json?origins=45.4641900,9.1938100&destinations=41.8995260,12.4895720&mode=driving&language=it-IT


    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee. (George Bernard Shaw)


     
    output json:
    {
       "destination_addresses" : [ "Via Milano, 8, 00184 Roma, Italia" ],
       "origin_addresses" : [ "Via Pattari, 5, 20122 Milano, Italia" ],
       "rows" : [
          {
             "elements" : [
                {
                   "distance" : {
                      "text" : "573 km",
                      "value" : 572972
                   },
                   "duration" : {
                      "text" : "5 ore 44 min",
                      "value" : 20658
                   },
                   "status" : "OK"
                }
             ]
          }
       ],
       "status" : "OK"
    }



  • di gdito data: 19/11/2015 07:34:58

    Sicuro che può essere omessa? Un paio di anni fa era diventata obbligatoria da quando avevano limitato il numero di quel per App nella versione free.

    Per la scelta dell'output in vba credo sia più semplice manipolare XML rispetto a json



  • di scossa data: 19/11/2015 09:04:23

    cit.: "Sicuro che può essere omessa?"

    Sì, serve per mode=transit (mezzi pubblici).
    N.B.: ho solo fatto una prova veloce nel browser e non da Excel, ma non credo che cambi (non ho tempo di provare).


    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.
    (George Bernard Shaw)



  • di gdito data: 19/11/2015 10:35:21

    @scossa
    Grazie per il test . Io l'avevo usata in un app e senza API Key non voleva sapere di andare quindi ho dato per scontato che anche con Excel doveva essere così. Proverò anche io a vedere cosa succede senza AK all'interno di un APP e da una macro



  • di fiocco87 data: 20/11/2015 10:11:54

    Grazie a tutti per gli input preziosi.

    Purtroppo speravo in una soluzione più easy e veloce (una bella macro e via XD).

    Visto che questa funzionalità non ha tutto sommato una grande urgenza, penso che per ora accantonerò l'idea, per riprenderla magari in futuro con più tempo da dedicarci ;)

    grazie ancora a tutti per l'aiuto!