如何将地图划分为给定半径的圆?

时间:2014-06-30 16:45:48

标签: google-maps geolocation geometry geocoding geospatial

民间,

如何将状态划分为半径50英里的区域?

也许有更好的方法可以解决我的问题:我有700个具有独特城市名称的地点列表。有些城市距离不到50英里。我需要将该列表减少到距离不超过50英里的最小位置,并且基本上覆盖列表中的附近城市。通过这种方式,我可以在缩小列表中找到每个位置的中心半径邮政编码,然后在50英里以内搜索"商店,这应该返回所有700个位置。

更新:我在不同城市拥有5000个产品和700家商店。我需要检查所有产品的库存。我检查它的网站只显示在给定城市50英里范围内的商店中的库存。这意味着我需要提出3,500,000个请求。因此,我正在寻找一种方法将700个商店减少到一个较小的数量。

2 个答案:

答案 0 :(得分:1)

一种简单的算法可以使用,但远非最佳。这从候选城镇列表开始

  1. 随意选择一个城镇,围绕该点画一个圆圈
  2. 删除圈内的所有城镇
  3. 重复,直到没有城镇
  4. 您可以运行几次以查看某些运行产生的结果是否明显减少。

答案 1 :(得分:0)

您可以连接x和y co-oordinates的二进制值。它不是直线,而是沿着z曲线对点进行排序。然后,您可以使用最重要的位计算上限。 z曲线通常用于映射应用程序:http://msdn.microsoft.com/en-us/library/bb259689.aspx