如何按距离分组坐标

时间:2013-09-09 10:29:06

标签: javascript jquery coordinates openlayers

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

但是我想把彼此靠近的点分组(比方说,小于500米)。

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

我进行了计算,我现在知道,对于距离小于500米,我有对:

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

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

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

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

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

或者可能是解决方案2:获取所有坐标并应用给我群集组的算法

韩国社交协会

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

0 个答案:

没有答案