【问题标题】:Calculate Distances Between Addresses Without Google Maps在没有谷歌地图的情况下计算地址之间的距离
【发布时间】:2011-02-12 11:57:58
【问题描述】:

我基本上想在我们的销售订单数据库中创建一个搜索,以查找在特定地址范围内发货的商品。

我无法使用 Google 的 API,因为: 这将是一份报告,并且无法在运行时显示地图,这违反了服务条款。 Google 将您的请求限制为每天 1,600 次,因此在完成 1 次搜索之前比较我们所有销售订单的任意地址将违反这一规定。 我想运行路线 API 来比较我们数据库中每个订单的地址需要很长时间。

【问题讨论】:

  • 你看起来有多近?如果 ZipCode 有效,您可以在数据库级别快速轻松地完成此操作。这将需要更多时间
  • 那么您是否需要以下任何一项或两项:1. 地理编码 API(文本位置/邮政编码转坐标)和/或 2. 两点之间的沿道路行驶距离算法?如果您只关心直线距离,则不需要(2)。
  • 不需要精确的距离,甚至不需要行驶距离。基本上它是为了确定我们的产品是否安装在潜在客户附近,以便他们可以查看它们,所以我会寻找 100 英里的直线距离或其他东西。

标签: maps distance street-address


【解决方案1】:

这在很大程度上取决于精度以及您想要做什么。

例如,如果要计算视线,可以使用http://geocoder.us/这样的服务来获取每个地址的纬度和经度,由此您可以进行简单的计算以获取“作为乌鸦飞”这一点与另一点之间的距离。

如果你想要真实的行车方向距离,那会复杂得多。

【讨论】:

  • 好点,我假设原作者的意思是直线或大圆距离。
  • 我认为这行得通,我可以通过邮政编码缓存位置,这样我就不必每次都去服务了。
  • 在这种情况下,您可以从 Melissa Data 获取 zip 的纬度/日志以保存在本地。 (如果您希望 SQL 进行距离计算,请随时给我发电子邮件)
  • 我确实在这里找到了一个邮政编码文件populardata.com/zipcode_database.html,我不知道它有多大,但我认为列表没有太大变化。
【解决方案2】:

您可以使用Yahoo! geocoding API 并将纬度/经度缓存到数据库中,然后使用纬度/经度和标准映射库调用来确定到您的兴趣点的距离。

【讨论】:

    【解决方案3】:

    您是否查看过其他地理编码 API,例如 YahooBing

    还有this one,它说它是免费的,并提供了一些 .NET 代码示例。

    【讨论】:

      猜你喜欢
      • 2012-07-06
      • 2023-03-23
      • 2011-09-21
      • 2016-07-08
      • 1970-01-01
      • 2010-12-02
      • 2014-08-29
      • 2013-09-30
      相关资源
      最近更新 更多