6

我正在开发一个车辆路由程序,该程序需要使用 .NET 准确获取车辆不同位置之间的行驶距离。我本可以使用 Google API 来获取距离,但该公司不愿意根据使用量每年支付至少 11,000 美元的订阅费。

我尝试使用Haversine 公式来获得距离,但路线的修正系数非常高,以至于它甚至接近正确计算总行程时间。我花了相当长的时间研究 OpenStreetMap,但文档中没有任何具体示例可以满足我的要求。我不需要实际的“图块”来显示地图,只有距离的文本响应就足够了。

我希望有一些免费使用的服务,我可以在 OpenStreetMap 或其他类似服务中调用,或者也许有人可以为我指明正确的开始方向。

4

4 回答 4

2

OpenStreetMap 没有自己的路由算法。

OpenStreetMap wiki上,有一个执行路由的软件库列表。多式联运路线信息系统是用 C# 编写的。

于 2010-12-21T13:14:26.167 回答
2

您可以查找CloudMade for API 以获取 OpenStreetMap 的旅行距离。

于 2010-12-24T03:43:31.057 回答
1

OpenStreetMap.org 网站还不能测量点之间的距离。但是你仍然可以得到距离。为此,有许多网站和软件可让您在基于 OpenStreetMap 的地图上绘制轨迹,然后获取距离:

于 2017-10-11T17:43:03.367 回答
0

CloudMade API 应该适用于在线工作。

对于离线路由,您可以使用 PGRouting。这是 PostgreSQL/PostGIS 的扩展,但它可以与 OSM 文件一起加载 - 甚至是完整的 planet.osm 文件。

于 2010-12-27T03:21:10.347 回答