对于业务流程,我需要计算 1 个起点和 30 k 目的地之间的行驶距离。我从 Google 表格中获得了起点和终点坐标。目的地是一个矩阵(大约 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)有没有人想到更好的方法来使脚本真正完成?谢谢!!
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
逻辑看起来非常准确。如果您需要限制循环次数,请检查大规模矩阵路由 API 是否符合用例。
大规模矩阵路由服务是一个 HTTP JSON API,用于计算具有大量起点和终点的路由矩阵(例如 10,000 x 10,000)。
有关详细信息,请参阅以下文档:
https://developer.here.com/documentation/large-matrix/api-reference-swagger.html
注意:请从共享代码段中删除 appKey
添加回答
举报
0/150
提交
取消