我有一个经/纬度坐标列表,需要获取每个坐标的状态。可以用以下代码完成:
df = pd.read_csv('SOL_A.dsv', delimiter = '|', low_memory=False)
for index, row in df.iterrows():
lat = row['LAT']
lon = row['LONG']
g = geocoder.osm([lat,lon], method='reverse')
st = '_UN'
if g.state != None:
st = g.state
geom_states.append(st)
df['STATE'] = geom_states
但是对于我的〜5k记录,它最终开始产生预期的Status code 429 from https://nominatim.openstreetmap.org/search: ERROR - 429 Client Error: Too Many Requests for URL: tps://nominatim.openstreetmap.org/search?q=0.0%2C+0.0&format=jsonv2&addressdetails=1&limit=1
。
我只需要处理一次,就算需要一整天也不介意。我通读了OSM Acceptable Use Policy,结果如下:
所以..应该有可能(?)
我尝试添加我的API密钥(geocoder.osm([lat,lon], method='reverse', key=API_KEY)
),并在每次调用前也添加了一个time.sleep(1.1)
,但确实没有帮助。
想法?
我有一个经/纬度坐标列表,需要获取每个坐标的状态。可以使用以下代码完成:df = pd.read_csv('SOL_A.dsv',定界符='|',low_memory = False)用于索引,df中的行...。
没有大量使用(绝对每秒最多1个请求