ポイント(座標)のセットがあり、それぞれからすべての距離を計算できます。
しかし、互いに近くにあるポイントをグループ化したい (たとえば、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 が「グループ化」されているという情報が欲しいだけです。1つ以上のポイントが他のグループに属している可能性もありますが、2つのグループが共通点を持っている場合は、1つのグループに変換する必要があると思います.