近くの会場のリストをユーザーの場所からの距離で並べ替えて表示できる機能を実装したいと考えています。私が現在持っているアプローチは、緯度と経度の値を浮動小数点数として保存し、ユーザーの位置の +/- 値を検索するクエリを作成することです (北、南、東、西に広がる正方形を検索します)ユーザー)。次に、結果セット全体で簡単な計算を行い、ビジネス ロジックで距離と並べ替えを決定します。今、私は主にリレーショナル データベースを使用している人の観点からこれに取り組んでいます (アプリは Hibernate で MySQL を実行しています) が、より良いアプローチがありますか (Neo4J のような別のデータベースまたはより良い列タイプで?)
また、私が持っているアプローチには、緯度0度または経度0度またはその近くでのクエリに対する半複雑な回避策があります)。
最適の私の作業定義については、半径 10 マイル内の数百の会場、合計で数十万の会場に拡張可能なアプローチを探しています。別の言い方をすれば、SimpleGEO の約 1% です。したがって、この問題の規模が最適な解決策を必要としない場合、「大丈夫です」も興味深い答えになりますが、その理由を知りたいと思います)