python请求这里的地图api

时间:2017-01-30 21:51:44

标签: python api

我有pandas数组,每行包含GPS坐标,我想找出这个坐标的速度限制。对于这个问题,我使用这样的HERES地图API。

for index, row in df2.iterrows():
   waypoint = df2['Latitude'] +','+df2['Longitude']
   payload = {'waypoint': waypoint, 'app_id': 'DemoAppId01082013GAL', 'app_code': 'DemoAppId01082013GAL'}
   r = requests.post('https://route.cit.api.here.com/routing/7.2/getlinkinfo.json', params=payload)
   df2['res'] = r.text

但是,如果我要继续行超过300行,那么我会收到如下响应:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>414 Request-URI Too Large</title>
</head><body>
<h1>Request-URI Too Large</h1>
<p>The requested URL's length exceeds the capacity
limit for this server.<br />
</p>
</body></html>   

我使用此API https://developer.here.com/api-explorer/rest/routing/link-information-for-a-location

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

params的{​​p} requests.post()参数会将参数添加到网址中。每个服务器都有一个字符限制,可以作为URL给出。错误消息明确说明。

您在循环中获得indexrow但不使用它们。相反,df2被使用,似乎是一个错误。

无论如何,您只需打印此waypoiny

即可轻松调试

答案 1 :(得分:0)

此方法只能使用一个waypoint,但您使用df2中的所有数据作为waypoint - 您应该使用

waypoint = row['Latitude']+','+row['Longitude'] 

row['res'] = r.text