$centerSphere
定義
$centerSphere
球状ジオメトリを使用する地理空間クエリの円を定義します。 クエリは、円の境界内にあるドキュメントを返します。
$centerSphere
演算子はGeoJSONオブジェクトと legacy coordinate pairs の両方で使用できます。$centerSphere
を使用するには、以下を含む配列を指定します。円の中心点のグリッド座標、および
ラジアンで測定された円の半径。 ラジアンを計算するには、「球面ジオメトリを使用して距離を計算する 」を参照してください。
{ <location field>: { $geoWithin: { $centerSphere: [ [ <x>, <y> ], <radius> ] } } } 重要
経度と緯度を使用する場合は、最初に経度を指定します。
動作
アプリケーションは、地理空間インデックスが なく$centerSphere
ても を使用できます。ただし、地理空間インデックスでは、インデックスがない場合よりもはるかに高速なクエリをサポートします。
2 dsphereと2 d地理空間インデックスはどちらも { $centerSphere
をサポートしています。
例
次の例では、グリッド座標をクエリし、経度88 W
と緯度30 N
の 10 マイル以内にあるすべてのドキュメントを返します。 クエリでは、地球のおおよその等価半径(3963.2 マイル)で割った値をラジアンに変換します。
db.places.find( { loc: { $geoWithin: { $centerSphere: [ [ -88, 30 ], 10/3963.2 ] } } } )