2016-05-04 161 views
-1

我必須對大量地址進行地理編碼,因此我正在考慮設置多處理。我讀parallel geocoding,但這個使用geopy解決。但我會用geocoder來代替。python:使用多處理來進行地理編碼地址

import geocoder 
import multiprocessing as mp 

google_key = 'my_key' 

addresses = ['tampa, florida', 'peroria, illinois', 'augusta, georgia', 
      'hanover, new hampshire', 'burlington, vermont'] 

def geocode_worker(address): 
    geocoder.google(address, key = google_key).latlng 
    return address 

if __name__ == '__main__': 
    pool = mp.Pool(processes = (mp.cpu_count() - 1)) 
    result = pool.map(geocode_worker, addresses) 

這返回的地址就像我想要的經緯度回到一個特定的城市。我需要一些幫助讓一切正常工作。

+0

當然它返回的地址,因爲你'你'geocode_worker'函數返回address'。你是否想要返回前一行中引用的'.latlng'屬性? – larsks

+0

這太愚蠢了仔細閱讀你的代碼,你提供的地址的功能,並返回地址 – PyNEwbie

+0

@larsks我將如何返回'.latlng'?我試過'address.latlng' – dustin

回答

1

geocode_worker功能應該簡單地將線
return geocoder.google(address, key = google_key).latlng

相關問題