首页 文章

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

提问于
浏览
0

伙计们,

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

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

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

2 回答

  • 0

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

    • 随机选择一个城镇,围绕该点画一个圆圈

    • 删除圈内的所有城镇

    • 重复,直到没有城镇为止

    您可以运行几次以查看某些运行是否会产生明显更少的结果圆 .

  • 1

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

相关问题