15ヤード四方の範囲内で同様の値をグループ化しようとしています(したがって、特定の値)。
これは、緯度/経度の値を取得し、それに別の値を減算または加算することによって行われます。この条件が値よりも大きい/小さい場合は、グループ化します。
次のコードを使用してmySQLDBからデータを選択することにより、PHPを使用してこれを試しました。
$summarisedData = mysql_query("SELECT P_ID,COUNT(*)
FROM road_awareness
WHERE
(
(
(
LAT - '$value[LAT]' < (0.006858/69)
AND
LAT - '$value[LAT]' > (-0.006858/69)
)
OR
(
LAT + '$value[LAT]' < (0.006858/69)
AND
LAT + '$value[LAT]' > (-0.006858/69)
)
)
AND
(
(
LON - '$value[LON]' < 0.006858/(cos($lat*M_PI/180)*69)
AND
LON - '$value[LON]' > -0.006858/(cos($lat*M_PI/180)*69)
)
OR
(
LON + $value[LON]' < 0.006858/(cos($lat*M_PI/180)*69)
AND
LON + '$value[LON]' > -0.006858/(cos($lat*M_PI/180)*69)
)
)
)
GROUP BY LAT, LON");
このコードは非常にハッキーで、重複したコードがたくさんあり、それが正しいかどうかはわかりません。助けていただければ幸いです。