4

経度/緯度の座標をmongodbに保存する必要がありますが、それらを保存する方法がわかりません。オンラインで文字列に変換したり、小数部を 2 つの整数に分割したりする例はありません。geo インデックスを有効にするには、それらを double として格納する必要があると想定しています。たとえば、次のようになります。

{ _id : 100, pos: { long : 126.9, lat : 35.2 }, type : "restaurant"}

小数点以下 6 桁以上の精度が必要ですが、これは mongodb でどのように機能しますか?

4

2 に答える 2

7

MongoDBはデータ型をサポートしています。doubleすべての浮動小数点数に使用されます。MongoDB は BSON 仕様を実装しているため、BSON double のように double と考えることができます。これは仕様8 bytes (64-bit IEEE 754 floating point)によるものです。また、 15 ~ 17 桁の有効数字をサポートしています。

だから心配しないで。

于 2013-01-29T19:20:22.820 に答える
4

MongoDB の地理空間インデックスは、従来のgeohashを使用します。ハッシュの精度を最大 32 ビットに設定できます。これにより、小数点以下約 8 桁または 9 桁の精度が得られます。そのため、double からいくらかの精度が失われますが、それでもアプリケーションには十分です。

于 2013-01-29T19:37:32.713 に答える