简单 API 休息 python 脚本需要很多时间(或不会结束)
Simple API Rest python script takes a lot of time (or doesn't end)
对于业务流程,我需要计算 1 个起点和 30,000 个目的地之间的行驶距离。
我从 Google Sheet 获得起点和终点坐标。目的地是一个矩阵(大约 100 x 30)。
我正在使用 HERE api 来计算距离。
结果应该是相同的目的地矩阵,但具有距离(与目的地坐标的顺序相同)。
这是计算距离的脚本部分,我认为,持续时间很长的部分:
distance= []
distance= pd.DataFrame(distance)
for row in destinations.itertuples():
a= row[1:]
distance1 = []
for column in a:
try:
args = {'waypoint0': 'geo!'+origins, 'waypoint1': 'geo!'+column, 'mode': 'fastest;truck'}
qstr = urlencode(args)
url = "https://route.ls.hereapi.com/routing/7.2/calculateroute.json?apiKey=xxxx" + qstr
response = urllib.request.urlopen(url)
dist = json.loads(response.read())['response']['route'][0]['leg'][0]['length']/1000
except Exception:
dist = 10000
distance1.append(dist)
distance2 = pd.DataFrame(distance1)
distance2 = distance2.T
distance = distance.append(distance2)
有没有人想出更好的方法让脚本真正完成?
谢谢!!
逻辑看起来很准确。如果您需要限制循环次数,请检查大规模矩阵路由 API 是否符合用例。
大规模矩阵路由服务是一种 HTTP JSON API,用于计算具有大量起点和目标点(例如 10,000 x 10,000)的路由矩阵。
更多详细信息,请参阅以下文档:
https://developer.here.com/documentation/large-matrix/api-reference-swagger.html
注意 : 请从共享代码段中删除 appKey
对于业务流程,我需要计算 1 个起点和 30,000 个目的地之间的行驶距离。
我从 Google Sheet 获得起点和终点坐标。目的地是一个矩阵(大约 100 x 30)。
我正在使用 HERE api 来计算距离。
结果应该是相同的目的地矩阵,但具有距离(与目的地坐标的顺序相同)。
这是计算距离的脚本部分,我认为,持续时间很长的部分:
distance= []
distance= pd.DataFrame(distance)
for row in destinations.itertuples():
a= row[1:]
distance1 = []
for column in a:
try:
args = {'waypoint0': 'geo!'+origins, 'waypoint1': 'geo!'+column, 'mode': 'fastest;truck'}
qstr = urlencode(args)
url = "https://route.ls.hereapi.com/routing/7.2/calculateroute.json?apiKey=xxxx" + qstr
response = urllib.request.urlopen(url)
dist = json.loads(response.read())['response']['route'][0]['leg'][0]['length']/1000
except Exception:
dist = 10000
distance1.append(dist)
distance2 = pd.DataFrame(distance1)
distance2 = distance2.T
distance = distance.append(distance2)
有没有人想出更好的方法让脚本真正完成?
谢谢!!
逻辑看起来很准确。如果您需要限制循环次数,请检查大规模矩阵路由 API 是否符合用例。
大规模矩阵路由服务是一种 HTTP JSON API,用于计算具有大量起点和目标点(例如 10,000 x 10,000)的路由矩阵。
更多详细信息,请参阅以下文档:
https://developer.here.com/documentation/large-matrix/api-reference-swagger.html
注意 : 请从共享代码段中删除 appKey