Mongodb$geoIntersects给出错误的查询结果
我在mongodb中遇到了一个相当奇怪的问题,当我试图获取存储的多边形中哪些与给定区域相交,以及在不应该相交时的抛出结果 这是我存储的内容: 它是mongo中存储的唯一一个元素,在地图中看起来像这样: 现在,这个问题(以及其他问题)给我带来了麻烦:Mongodb$geoIntersects给出错误的查询结果,mongodb,geolocation,mongodb-query,polygon,geo,Mongodb,Geolocation,Mongodb Query,Polygon,Geo,我在mongodb中遇到了一个相当奇怪的问题,当我试图获取存储的多边形中哪些与给定区域相交,以及在不应该相交时的抛出结果 这是我存储的内容: 它是mongo中存储的唯一一个元素,在地图中看起来像这样: 现在,这个问题(以及其他问题)给我带来了麻烦: db.getCollection('collection').find({"geometry": {"$geoIntersects": {"$geometry":{"coordinates":[[ [ -25.
db.getCollection('collection').find({"geometry": {"$geoIntersects": {"$geometry":{"coordinates":[[
[
-25.13671875,
16.636191878397664
],
[
-21.796875,
16.636191878397664
],
[
-21.796875,
19.145168196205297
],
[
-25.13671875,
19.145168196205297
],
[
-25.13671875,
16.636191878397664
]]],"type":"Polygon"}}}})
地图上的哪个区域看起来像这样(包括前面提到的区域):
正如你在地图上看到的(或者用坐标进行简单的数学计算),这些区域根本不相交,但mongo坚持认为它们是按照查询结果进行的。
我尝试在$geometry操作符中使用以下内容,但结果相同
crs: {
type: "name",
properties: { name: "urn:x-mongodb:crs:strictwinding:EPSG:4326" }
}
最后但并非最不重要的一点是,如果查询中的区域位于存储区域的东/西/南,则结果是预期结果,问题出在主多边形以北附近的区域
我做错了什么
如果需要更多数据,请告诉我,并感谢大家抽出时间。我面临类似问题,有人找到了解决方案吗?