根据我目前对MongoDB的理解,我们通过传递一个[long,lat]对数组来搜索我们的集合,以检查该文档的[long,lat]对是否在坐标[[ [], [], [] ]]
内退出。
i,e。,
db.SomeCollection.find({
"location":{
$geoWithin: {
$geometry: {
type: "Polygon",
coordinates: [
[[1, 2], [1, 3], [1, 4]],
[[2, 5], [2, 6], [2, 7]]
] }
}
}
})
我正在寻找的是我需要将[long,lat]对提供给包含固定多边形地理栅栏阵列的文档,并得出结论[long,lat]对是否存在于任何[多边形地理栅栏阵列]中。
这在MongoDB中是否可行?我的问题有效吗?
请注意:我是MongoDB以及地理空间数据的新手 如果问题包含错误的术语,请原谅。
答案 0 :(得分:0)
几天后,我回答了我的问题,因为我找到了答案。
该解决方案已发布在here by Jacob Ribnik。
因此在我的问题中实现它将如下所示:
db.Poly_Geofence_collection.find(
{
"location": {
$geoIntersects: {
$geometry: {
type: "Point",
coordinates: [1,1]
}
}
}
});
我的Poly_Geofence_collection
集合的位置如下:
{
"_id": ObjectId("SomeRandom12ByteObjectId"),
"location" : {
"type" : "Polygon",
"name" : "Location Name",
"coordinates" : [
[
[0, 0], [1, 2], [1, 1], [2, 1], [0, 0]
]
]
}
}