我需要编写一个应用程序来计算两个英国地址之间的估计行驶距离;我想我可以使用谷歌如下:
http://maps.google.com/maps/nav?q=from:London%20to:Dover
但是,任何人都知道从单个 IP 地址查询数据库的每日/每月限制是多少?
我需要在商业应用程序(货运服务)中实施,有没有可靠的替代方案?我可以花一些钱;但一些';
开发语言/平台:C#、.NET
问候,
我需要编写一个应用程序来计算两个英国地址之间的估计行驶距离;我想我可以使用谷歌如下:
http://maps.google.com/maps/nav?q=from:London%20to:Dover
但是,任何人都知道从单个 IP 地址查询数据库的每日/每月限制是多少?
我需要在商业应用程序(货运服务)中实施,有没有可靠的替代方案?我可以花一些钱;但一些';
开发语言/平台:C#、.NET
问候,
您可以使用 OpenStreetMaps 数据库并自己进行计算,但这会涉及一些编码。
如果您只关心粗略估计,您可以在 postgis 中使用带有 pgrouting 的 openstreetmap。如果你只是在一个城市到另一个城市做,那么你真的不必担心地理编码,因为拉特朗城市是众所周知的。
如果您的服务仅限于英格兰,我会保留一个大型数据库表,其中包含前 5000 个城市的成对距离组合。使用 pgrouting 离线计算一次,然后在请求到来时调用它。这将使大多数用户的应用程序更快。
所有主要的地图播放器都有路由 API(Yahoo、Bing、MapQuest、Nokia)。您还可以查看 deCarta 以获得相同类型的服务。在很长一段时间内,它们都是雅虎和谷歌背后的 LBS 引擎。
[更新]如果你只是为了粗略估计你真的需要做路由还是你可以做直线距离。直线求解要简单得多。您只需要城市中心的纬度,无需街道网络数据或进行路由计算。
您可以在某些类型的商业 应用程序中合法使用 Google 地图。他们授予您许可证和 API 密钥以嵌入您的页面代码。当然,也有一些限制。请参阅http://code.google.com/apis/maps/terms.html。
[编辑澄清。如果您不直接从中赚钱,则可以使用它,这是 OP 的意图。]
通常,大多数道路 shapefile 对每个路段都有一个 begin_address/end_address 字段,您可以在其中插入地址。最重要的是,您在收集和组织地址数据时遇到了 GIS 问题,我认为 NP 问题是更简单的问题。
查看postgis。您可以将形状文件转换为它。irc.freenode.net 上的 irc 房间 #postgis 非常有帮助,所以有邮件列表。
通过postcodeanywhere.co.uk每次查询 2-5 便士如何,即用即付。他们与机管局合作,因此他们的数据可能非常准确和完整。
可能会为您节省一些开发时间(这也转化为金钱)。与 bean 柜台核对每报价是否值 2 便士。如果没有,您可能会通过他们的服务运行 X 次最受欢迎的旅行并缓存结果(可能违反他们的条款和条件,请先检查)。
我已经使用 Google Maps 解决了这个问题,并且我已经使用 Newtonsoft JSON 编写了自定义 API。
我还没有在博客的任何地方发布解决方案(很快就会发布)。
如果有人有兴趣获取一段代码,请联系我。