【问题标题】:How to group close addresses?如何对关闭地址进行分组?
【发布时间】:2015-07-27 11:41:07
【问题描述】:

我需要根据距离对地址进行分组。 假设我有一个包含 8 个地址的列表。纽约市有 5 个,新泽西有 3 个。从纽约市的 5 个中,3 个靠近 MET,2 个靠近 WTC。 NJ 的 3 人组成一个小组,靠近 MET 的人组成一个小组,还有靠近 WTC 的人。

我想发送这个地址列表,并得到最接近的分组。 Google Maps 或 Bing Maps 是否有任何 API 可以做到这一点?如果没有,您对如何解决这个问题有什么建议吗?

在下面的问题中提到了许多计算距离的方法,但我想知道这些大公司是否已经创建(和可用)了一些东西。我不想每次添加新地址时都重新计算列表中的每个地址。​​

How to group latitude/longitude points that are 'close' to each other?

此外,还有一个问题没有在上述问题中得到解决...一个地址可以靠近一个组和几个其他组。例如:

在此示例中,我至少突出显示了 4 个组。 B 与 A/C 形成一个“紧密组”,但也与 C/F、A/E/G 和 E/F/D/H 形成一个“紧密组”。所以我也想知道这些变量。地址更接近哪个组,或者至少我认为按成员数量限制组。在我的示例中,使用我建议的方法,B 将属于 RED 组或 BLACK 组。

【问题讨论】:

  • @AakashM 谢谢,我正在看
  • 这个问题相当广泛。如果您正在寻找要实现的算法,也许programmers.se 对这个问题持开放态度,但请先检查他们的元数据并提供帮助。
  • @rene 谢谢,但我不同意。这个问题对我来说似乎非常具体(当然)。我有一个我不知道答案的特定问题(将关闭地址分组)。我什至在这里得到了一些不错的建议,比如聚类分析和删除他答案的朋友。
  • 当然,我只是按照您在 meta 上的要求,尝试对否决票给您一个解释。

标签: algorithm gps geolocation maps coordinate-systems


【解决方案1】:

您可以尝试使用四键并利用它首先访问附近的点,类似于空间填充曲线。将这些点视为二进制并将其交错。将索引视为以 4 为底的数字。然后对数字进行排序。

【讨论】:

  • 您好,谢谢您的回答。能再详细一点吗?你是什​​么意思:“将点视为二进制并交错。”你在那里失去了我。再次感谢。
  • 将坐标转换为二进制并交错。通常一个数字的二进制是二次的!?
  • 好的!感谢那。我会把它添加到我的学习中。我会用我的解决方案更新这个帖子,一旦我解决它:) 谢谢!
猜你喜欢
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多