次の方法で共有


$center (地理空間)

適用対象: MongoDB 仮想コア

$center演算子は、$geoWithinクエリで使用する従来の座標ペアを使用して円を指定します。 これは、フラットなユークリッド平面上の地理空間クエリの円を定義します。

構文

$isArray演算子の構文は次のとおりです。

{
  $geoWithin: {
    $center: [ [ <x>, <y> ], <radius> ]
  }
}

パラメーター

パラメーター タイプ 説明
<x> 円の中心点の x 座標
<y> 円の中心点の y 座標
<radius> 座標と同じ単位の円の半径

ストア データセットを使用して、中心点の半径 50 度以内にあるすべてのストアを見つけましょう。 このクエリは、特定の場所から一定の距離内にあるストアを識別するのに役立ちます。

db.stores.find({
  "location": {
    $geoWithin: {
      $center: [[-112.7858, -29.1866], 50]
    }
  }
})

このクエリでは、次のようなストアが返されます。

{
  "_id": "f2a8c190-28e4-4e14-9d8b-0256e53dca66",
  "name": "Fabrikam, Inc. | Car Accessory Outlet - West Adele",
  "location": {
    "lat": -47.2548,
    "lon": -38.4071
  },
  // ... other fields
}

このクエリでは、First Up Consultants Microphone Bazaar の場所から半径 50 度以内の店舗を検索します。これは、市場カバレッジの分析や配送ルートの計画に役立ちます。

Von Bedeutung

$center演算子は、フラットなユークリッド平面で動作します。

地球に似た球面計算をより正確に行うには、代わりに $centerSphere を使用します。

半径は、使用されている座標系と同じ単位で指定されます。