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 が「グループ化」されているという情報が欲しいだけです。1つ以上のポイントが他のグループに属している可能性もありますが、2つのグループが共通点を持っている場合は、1つのグループに変換する必要があると思います.

4

0 に答える 0