コミュニティサブレット広告のWebサイトでこれを実行しようとしていますが、理論的には、アルゴリズムはどのローカル検索でも同様です。
検索するエリアの人口が少ないほど、検索するデフォルトの半径は高くなります。一方、人口密度の高い地域では、地域の関連性を維持するために、デフォルトの半径を低くする必要があります。
これはプログラミングの質問というよりは数学的な質問かもしれませんが、コードは大歓迎です。これまで、各町や村から15マイル以内のサブレットの量を計算し、密度の概算としてデータベースに保存しました。この番号を使用して、誰かが町や村を検索するときに、検索をどこまで進めるかを判断するつもりでした。
提案された解決策をテストするために、アルゴリズムで考え出してもらいたいおおよその数値をいくつか引き出しました。ポイントから15マイル以内に多数のサブレットがある場合、たとえば30kの場合、検索するデフォルトの半径を約3マイルにします。1または2と言うことがほとんどない場合、デフォルトの半径は25マイルまで高くなり、周囲に場所がない場合はさらに多くなります。たとえば〜1,000のサブレットがあるミッドレンジエリアのデフォルトの半径は15マイルです。これらは単なる例であり、密度はデータベース内のさまざまなものによってコース外で拡大または縮小します。
Population -> Default search radius
0 -> very high (~60 miles or more)
1 -> 25 miles
1k -> 15 miles
30k -> 3 miles
私は正しい方向に進んでいますか?コード中心の回答には、PythonまたはPHPが推奨されます。
ありがとうございました