当我试图让我存储的多边形与给定区域相交时,我会面临一个与mongodb相当奇怪的问题,并且当它应该“#t”时,它会抛出结果。
它是存储在mongo中的唯一一个元素,在地图中看起来像这样:
现在这是给我带来麻烦的查询(以及其他):
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" }
}
最后但并非最不重要的是,如果查询中的区域是存储区域的东/西/南,结果是预期结果,则问题出在主要多边形以北的区域。
我做错了什么?
如果需要更多数据,请告诉我,谢谢大家的时间。