[Python] Calcolare la distanza km tra due indirizzi

Marco Beri marcoberi a gmail.com
Mar 15 Dic 2009 17:49:14 CET


2009/12/15 Lorenzo Macchiavelli <lmacchiavelli a gmail.com>

> Ciao
>  Siccome ho avuto la stessa problematica tempo fa
> c'è questo che troverai di sicura utilità!!!
>
> http://darcas.net/index.php/2008/10/12/calcolo-della-distanza-tra-due-punti-geografici/
>

Se poi vuoi sapere le coordinate partendo da un indirizzo usa lo script
python che allego in fondo.
Ciao.
Marco.

-- 
http://ThinkCode.TV - Screencast e videocorsi di programmazione
http://stacktrace.it - Aperiodico di resistenza informatica
http://beri.it - Blog di una testina di vitello

###############################
#   gmaps.py
###############################

import urllib
try:
    from django.utils.http import urlencode
except ImportError:
    from textutils import unicode_urlencode as urlencode
from time import sleep

key = "<qui ci metti la tua chiave per le API di Google>"

def location2latlong( query, key=key ):
    """Get the ( latitute, longitude ) coordinates corresponding
    to the query. If something goes wrong return None."""

    output = 'csv'

    params = { }
    params[ 'key' ] = key
    params[ 'output' ] = output
    params[ 'q' ] = query

    params = urlencode( params )

    try:
        f = urllib.urlopen("http://maps.google.com/maps/geo?%s" % params )
    except IOError:
        # maybe some local problem at google? let's try again
        sleep( 3 )
        try:
            f = urllib.urlopen("http://maps.google.com/maps/geo?%s" % params
)
        except IOError:
            # okay we give up
            return None

    response = f.read( ).split(',')
    f.close( )

    try:
        status = response[0]
        accuracy = response[1]
        latitude = response[2]
        longitude = response[3]
    except:
        return None

    if status != '200':
        return None
    else:
        return latitude, longitude

if __name__ == '__main__':
    import sys
    try:
        q = sys.argv[1]
    except:
        print 'Usage: python gmaps.py query'
        sys.exit( 1 )

    r = location2latlong( q )
    if r is not None:
        print r
    else:
        print 'Something went wrong.'
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20091215/3d05e876/attachment.htm 


Maggiori informazioni sulla lista Python