получить координаты (долготу и широту), используя Google API в Python - PullRequest
0 голосов
/ 23 октября 2018

Если у меня есть адресный фрейм данных следующим образом:

id                Address                        Latitude       Longitude 
01   Via Benedetto Croce 112, Rome, Italy          
02   Via Aristide Leonori 46, Rome, Italy
03   Viale Marconi 197, Rome, Italy

Как я могу получить их координаты (долготу и широту), используя Google API в Python?Спасибо.

id                Address                        Latitude       Longitude 
01   Via Benedetto Croce 112, Rome, Italy       41.8423561    12.48535240000001
02   Via Aristide Leonori 46, Rome, Italy       41.8487061    12.488554900000054       
03   Viale Marconi 197, Rome, Italy             41.8567032    12.465537500002210

Вот то, что я нахожу из клиентской библиотеки Python для веб-служб API Карт Google, но это не удается с помощью: поднимите googlemaps.exceptions.Timeout ()

https://github.com/googlemaps/google-maps-services-python

import googlemaps
from datetime import datetime

gmaps = googlemaps.Client(key='googlemap ak')
# Geocoding an address
geocode_result = gmaps.geocode('Via Benedetto Croce 112, Rome, Italy')
print(geocode_result)

1 Ответ

0 голосов
/ 23 октября 2018

Попробуй это.Используется Номинтим.

import pandas as pd
from geopy.geocoders import Nominatim
geolocator = Nominatim()
data = [
        {'Id':'01', 'Address': "Via Benedetto Croce 112, Rome, Italy", 'Latitude': None, 'Longitude' :None},
        {'Id':'02', 'Address': "Via Aristide Leonori 46, Rome, Italy", 'Latitude': None, 'Longitude' :None},
        {'Id':'03', 'Address': "Viale Marconi 197, Rome, Italy", 'Latitude': None, 'Longitude' :None}
       ]
df = pd.DataFrame(data)
df['city_coord']  = df['Address'].apply(geolocator.geocode)
df['Latitude'] = df['city_coord'].apply(lambda x: (x.latitude))
df['Longitude'] = df['city_coord'].apply(lambda x: (x.longitude))
print(df[['Address',  'Id',   'Latitude','Longitude']])

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...