我的目标是获取 2 个地理位置(纬度和经度)之间的行驶距离/时间,对大约 2k 对地理位置的文件执行此操作。我必须使用免费的 API 或任何免费的资源,为什么我在函数中使用 openrouteservice 和这个简单的代码来获取行驶距离/时间:
import numpy as np
import pandas as pd
import openrouteservice
from openrouteservice import convert
api_key = 'api_key'
client = openrouteservice.Client(key=api_key)
coords = ((lon_orig, lat_orig),(lon_dest, lat_dest))
res = client.directions(coords, radiuses =1000)
res['routes'][0]['summary']
我的问题是由于此 API 给出了类型错误:'404 ({'error': {'code': 2009, 'message': 'Route could not be found - Unable to find a route between points...'
因为并非所有目的地地理位置对似乎都可以驾车或步行到达。
举个例子,我在尝试时遇到错误coords = ((-69.20438,-12.58308),(-70.43474,-13.03910))
,因为那里就像一条河流,所以汽车无法到达那个确切点。
所以我想知道是否有某种方法可以将目的地地理位置近似为一些新的可达性(我阅读了 openrouteservice 文档,但没有找到类似的东西,并且还尝试增加“半径”参数,但我还是得到了错误),或者可能使用另一个 API 来帮助 openrouteservice 改进它,或者最终推荐另一种有效地做到这一点的方法。