我有一组点(坐标),我可以计算每个点的距离。
但是我想把彼此靠近的点分组(比方说,小于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是“分组”的信息。它可能是一个或多个点属于其他组的可能性,但我认为如果两个组具有共同点,则应将其转换为一个组。