Docs Menu

Docs Homeアプリケーションの開発Python ドライバーPyMongo

地理空間インデックス

項目一覧

  • Overview
  • サンプル データ
  • 地理空間インデックスの作成

MongoDB は、 2 dsphere インデックスを使用した地理空間座標データのクエリをサポートしています。 2dsphereインデックスを使用すると、包含、交差、近接性について地理空間データを照会できます。 地理空間データのクエリの詳細については、 地理空間クエリを参照してください。

2dsphereインデックスを作成するには、 GeoJSON オブジェクトのみを含むフィールドを指定する必要があります。 これについて詳しくは、 マニュアルの「GeoJSON オブジェクト ガイドMongoDB Server 」を参照してください。

このガイドの例では、 Atlas サンプル データセットsample_mflix.theatersコレクションを使用します。 MongoDB Atlas クラスターを無料で作成して、サンプル データセットをロードする方法については、 PyMongo を使い始める を参照してください。

sample_mflixデータベース内のtheatersコレクションの次のサンプル ドキュメントのlocation.geoフィールドは、劇場の座標を記述する GeoJSON ポイント オブジェクトです。

{
"_id" : ObjectId("59a47286cfa9a3a73e51e75c"),
"theaterId" : 104,
"location" : {
"address" : {
"street1" : "5000 W 147th St",
"city" : "Hawthorne",
"state" : "CA",
"zipcode" : "90250"
},
"geo" : {
"type" : "Point",
"coordinates" : [
-118.36559,
33.897167
]
}
}
}

次の例では、 location.geoフィールドに2dsphereインデックスを作成します。

theaters.create_index(
[( "location.geo", "2dsphere" )]
)

MongoDB は、ユークリッド平面上の距離を計算し、MongoDB 2.2以前で使用される「legacy coordinate pairs」構文を操作するための2dインデックスもサポートしています。 詳細については、 マニュアルの「 地理空間クエリ 」ガイド MongoDB Serverを参照してください。

← Text Indexes