0

我有一组点(坐标),我可以计算每个点到所有点的距离。

但我想对彼此靠近的点进行分组(比如说,小于 500m)。

  PointsCoords =[
  ["lat01, lng01", "P01"],
  ["lat02, lng02", "P02"],
  ["lat03, lng03", "P03"],
  ["lat04, lng04", "P04"],
  ["lat05, lng05", "P05"],
  ["lat06, lng06", "P06"],
  ["lat07, lng07", "P07"]
  ];

我进行了计算,现在我知道对于小于 500m 的距离,我有这些对:

varAllPairs = [
[P01, P03], //450m
[P02, P03], //200m
[P05, P06]] //350m

但是,我如何将它们分组:

varClusterGroups = [P01,P02,P03], [P05,P06]

(我知道 P01 到 P02 超过 500m,但现在总比没有好......有没有更好的方法来找到一个真正的点簇?)

如何使用 javascript 或 jquery(或下划线)创建组(varClusterGroups)?

或者可能是解决方案 2:获取所有坐标并应用一种算法,该算法为我提供聚类组

Tks

编辑:我真的不知道正确的标准,但我需要的是在我有 2 个或更多点足够接近时收到警报(这是为了检测 2 个或更多车辆何时足够接近 [每个距离小于 X m其他],当他们不应该这样做时),所以我没有预定义“中心点”。我只想知道车辆 01,03,04 和 05,07,08 和 09,15 被“分组”。可能有一个或多个点属于另一组的可能性,但我认为如果两组有共同点,则应将其转换为一组。

4

0 回答 0