我必须对大量地址进行地理编码,因此我正在努力设置多处理。我看过parallel geocoding,但使用geopy
解决了这个问题。不过,我将使用geocoder
。
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 :(得分:1)
您的geocode_worker
功能应该只是行号
return geocoder.google(address, key = google_key).latlng