私は2063の場所をmysqlテーブルに格納しています。私のプロセスの1つでは、特定の結果を、ある特定の起点からどのくらい離れているかに基づいて除外する必要があります。問題は、私は一度に数百、おそらく数千の結果をフィルタリングする必要があるということです。2つの座標間の距離を扱う最も効率的な方法は何ですか?
距離計算を行うにはどうすればよいでしょうか。実行時に実行する必要がありますか?
1. Find all points connecting to my point of origin
2. loops through the connecting points
3. calculate the distance between the point of origin and the connecting point
4. exclude the connecting point if the distance if too great
のいずれかである必要があります。 p1とp2の間の距離はp2とp1の間の距離と同じになるので、重複する行は避けることができますが、それでもテーブルには数百万行もあります。
またはそれを実行するさらに良い方法はありますか?
は、静的なルックアップテーブルを試してみてください:D〜2063! * 8バイト(結果あたりの浮動小数点数) – workmad3