查找点是否位于指定的多边形MongoDB中

苏尼尔

我有以下mongoDB文档,该文档通过“ GPS”字段表示当前车辆位置

{
        "_id" : ObjectId("565564e2f3e3f5bd2bdfad18"),
        "vehicleId" : 6521,
        "time" : 1448389800,
        "GPS" : "18.55419790592852,73.80579963326454",
        "readings" : {
                "RPM" : {
                        "value" : 1000
                },
                "Speed" : {
                        "value" : 40
                }
        }
}

我需要查找此条目是否落在坐标指定的多边形内:

{lat: 18.554321, lng: 73.805231},
{lat: 18.553838, lng: 73.804936},
{lat: 18.553584, lng: 73.806524},
{lat: 18.554240, lng: 73.806546},
{lat: 18.554321, lng: 73.805231}

通过参考文档中存在的GPS字段。

我尝试使用以下查询,但未得到任何结果:

db.data26.find(
   {
     "GPS": {
       $geoWithin: {
          $geometry: {
             type : "Polygon" ,
             coordinates: [ [ [ 73.805231, 18.554321 ], [ 73.804936, 18.553838 ], [ 73.806524, 18.553584 ], [ 73.806546, 18.554240 ], [ 73.805231, 18.554321 ] ] ]
          }
       }
     }
   }
);

任何帮助将不胜感激

马克西姆·庞秋申科(Maxim Pontyushenko)

您的GPS字段值为字符串

“ GPS”:“ 18.55419790592852,73.80579963326454”

也许为了在您的GPS中使用geoWith,应该使用正确顺序的数组,[long, lat]如下所示:[73.80579963326454, 18.55419790592852]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章