$ geoIntersects不适用于包含负顶点的多边形 - MongoDB

时间:2017-09-26 20:36:38

标签: mongodb mongoose geojson geo

我已将多边形存储在跨越X和Y轴的MongoDB数据库中,我想搜索包含给定点的多边形。为此,我使用$ geoIntersects运算符指定一个点,但MongoDB在跨越轴时不返回任何多边形。

集合中的一个对象:

{ 
"_id" : ObjectId("59caabf5f3c18e787b5df921"), 
"polygons" : {
    "type" : "Polygon", 
    "coordinates" : [
        [
            [
                -100.31350135803223, 
                25.7219723533502
            ], 
            [
                -100.31290054321289, 
                25.72386681990707
            ], 
            [
                -100.31036853790283, 
                25.72332554682729
            ], 
            [
                -100.31116247177124, 
                25.721102435127573
            ]
        ]
    ]
  }
}

这些坐标对应于this location周围的多边形,现在,我正在查询体育场本身是否在多边形内部(显然是这样),如下所示:

db.testzones.find({
     polygons:{
       $geoIntersects:{
              $geometry:{ 
                 "type" : "Point", 
                 "coordinates" :   [-100.312060, 25.722381] 
            }
          }
        }
      });

但是我没有得到任何东西,但是如果我尝试使用this question's接受的答案的确切数据,我会得到一个结果,注意没有负坐标,这是让我相信那些是导致问题的原因。

我从去年发现了这个question(问题与我的相似,我几乎复制了标题和第一段)但是没有答案。我在这里做错了吗?或者我怎么能解决这个问题呢?我感谢任何帮助,我现在完全迷失了!

0 个答案:

没有答案
相关问题