どうか世界中に小さなグリッドのようなことを行なってい割り当て各緯度経度位置す。[定休日]

StackOverflow https://stackoverflow.com/questions/1824790

質問

を計算するために最寄りの場所に代表される緯度経度、検討に分割して地図を小さなグリッド、約100x100メータリです。基本的には各点に割り当てられるグリッド

理解していることか代わりにも空間的指標とのMySQLなどが企画を使リレーショナルデータベースのようにCassandraでは難しいのではないでしょうかい指数付けの空間物などのグリッド近似法が快適性は十分満足できます

池尾:そういうふうに考えていることによりどのグリッドシステムおよびマッピングの2次元空間の場所にです。

Edit1:でも大丈夫場合、グリッドの一律ではなく、もの。

役に立ちましたか?

解決

長方形のグリッドは合理的な推定値になりますが、極に近すぎない比較的小さな領域でのみです。フルグローブソリューションには、異なるアプローチが必要です。

他のヒント

マッピングからの二次元空間座標空間の指数/geohashは興味深い問題です。が見 この記事quadtrees,geohashes、ヒルベルト曲線.の ヒルベルト曲線 ある空間充填曲線を提供する地域ではお客様の目的、その近くの項目に一次元の空間のインデックスが近くに二次元空間"とします。

を目標として記述されるその他の対応はの回数を最小限に抑えるためにクエリに必要なの空間で問題のない要求するトンの不要なデータから、サーバーにコピーします。かいにマッピングから2次元空間1次元指数に影響が目標です。

正確なアプリケーション要件がわからない場合、ジオハッシュは適切なテクニックかもしれません: http://en.wikipedia。 org / wiki / Geohash

<!> quot;これは、空間をグリッド形状のバケットに細分する階層的な空間データ構造です。 ジオハッシュには、任意の精度や、コードの末尾から文字を徐々に削除してサイズを小さくする(および精度を徐々に下げる)などのプロパティがあります。<!> quot;

グローブを均一にマップする長方形のグリッドを作成することはできません。グリッドが均一でなければならない場合は、代わりに三角形を使用する必要があります。しかし、一般的に、これがあなたの問題を解決することを疑います。必要なのは2D octree です(これはGoogle検索リンクです。画像を確認してくださいこれがどのように機能するかの簡単な手がかりのため)何らかの種類:座標を階層に分割する必要があります(たとえば、最初のレベルの原点の北/南/東/西、次に90度など)。

その後、既存の座標を含む最小の長方形をすばやく生成する選択を数回行うことができます。これで、長方形のサイズを確認できます。 <!> ltの場合; 100m、それで解決策が見つかりました。それ以外の場合、チェックする位置はわずか(通常は1つ)になります。

Google for <!> quot; octree sql database <!> quot;実装用。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top