将县的州名转换为坐标

时间:2018-07-18 03:15:16

标签: python geopy

我想将县名转换为坐标。

县:

fips    state_fips  county_fips state   county
1000    1   0   Alabama Alabama
1005    1   5   Alabama Barbour County
1007    1   7   Alabama Bibb County
1009    1   9   Alabama Blount County
1011    1   11  Alabama Bullock County
6085    6   85  California  Santa Clara County
6089    6   89  California  Shasta County
6091    6   91  California  Sierra County
32021   32  21  Nevada  Mineral County
32023   32  23  Nevada  Nye County
32027   32  27  Nevada  Pershing County
32029   32  29  Nevada  Storey County

我想使用python geopy软件包。

from geopy.geocoders import Nominatim
import pandas as pd
import numpy as np
geolocator = Nominatim()
county['coord'] = county['county'].apply(geolocator.geocode)

我得到了错误:

socket.timeout: timed out
During handling of the above exception, another exception occurred:
urllib.error.URLError: <urlopen error timed out>
During handling of the above exception, another exception occurred:
geopy.exc.GeocoderTimedOut: Service timed out

我该如何解决?谢谢

1 个答案:

答案 0 :(得分:0)

from time import sleep
from geopy.geocoders import Nominatim
import pandas as pd
import numpy as np

geolocator = Nominatim()

def geocode_with_sleep(query):
    sleep(1)
    return geolocator.geocode(query)

county['coord'] = county['county'].apply(geocode_with_sleep)

http://www.jackmaney.com/2015/01/09/geocoding-rate-limited-queue/

中介绍了另一种方法