2017-10-17 3 views
0

MongoDBについての私の理解によれば、[long、lat]ペア配列の配列を渡してコレクションを検索し、 lat]ペアは座標[[ [], [], [] ]]の内部に存在します。与えられた経度、緯度のペアがMongoDBのいずれかのポリゴンにあるかどうかを調べる

私は、すなわち、私が探しています何

db.SomeCollection.find({ 
    "location":{ 
     $geoWithin: { 
      $geometry: { 
       type: "Polygon", 
       coordinates: [ 
        [[1, 2], [1, 3], [1, 4]], 
        [[2, 5], [2, 6], [2, 7]] 
       ] } 
     } 
    } 
}) 

は、私は、固定ポリゴンジオフェンス配列を含む文書に[長く、緯度]ペアを供給し、緯度、[長い場合締結する必要があるということです]ペアは、それらの[Polygonal Geofence arrays]のいずれかの内部に存在します。

これはMongoDBで可能ですか?私の質問は有効ですか?

注意してください:私は質問が間違った用語が含まれている場合ので、許し のMongoDBだけでなく、地理空間データに初心者です。

+1

ので、それは以下のようなものになるだろう私の問題にそれを実装します: //robgillen.com/technology/2016/09/03/geofences-in-mongodb/ – Robin

答えて

0

数日後、私は答えを見つけたので私の質問に戻ります。

解決策はhere by Jacob Ribnikに掲載されています。

db.Poly_Geofence_collection.find(
{ 
    "location": { 
     $geoIntersects: { 
      $geometry: { 
       type: "Point", 
       coordinates: [1,1] 
      } 
     } 
    } 
}); 

ように私のPoly_Geofence_collectionコレクションが見えます:ます:http:私はこの記事はあなたが探しているものを含んでいると思います

{ 
    "_id": ObjectId("SomeRandom12ByteObjectId"), 
    "location" : { 
     "type" : "Polygon", 
     "name" : "Location Name", 
     "coordinates" : [ 
      [ 
       [0, 0], [1, 2], [1, 1], [2, 1], [0, 0] 
      ] 
     ] 
    } 
} 
関連する問題