您的位置:首页 > 科技 > IT业 > 有赞分销员的功能和规则_b2c电子商务网站的企业类型_手游推广赚佣金的平台_济南百度推广优化

有赞分销员的功能和规则_b2c电子商务网站的企业类型_手游推广赚佣金的平台_济南百度推广优化

2024/12/23 8:38:34 来源:https://blog.csdn.net/qq_37831759/article/details/144421050  浏览:    关键词:有赞分销员的功能和规则_b2c电子商务网站的企业类型_手游推广赚佣金的平台_济南百度推广优化
有赞分销员的功能和规则_b2c电子商务网站的企业类型_手游推广赚佣金的平台_济南百度推广优化

使用Mongodb的$geoIntersects判断两个经纬度组成的矩形是否相交,按照文档描述书写无法得到正确结果

复现方法:
插入一条数据

db.getCollection("1").insertOne({"box": {"type": "Polygon","coordinates": [[[109.052708152174,32.5329883043478],[109.052708152174,46.7784766086957],[130.576614304348,46.7784766086957],[130.576614304348,32.5329883043478],[109.052708152174,32.5329883043478]]]}
})

查询是否相交

db.getCollection("1").find({"box":{$geoIntersects: {$geometry: {type: "Polygon" ,coordinates: [[[117.390449, 32.37105],[117.390449, 32.598390499999994],[117.486579, 32.598390499999994],[117.486579, 32.37105],[117.390449, 32.37105]]],}}}}
)

得到的结果为空

网上搜索 得到的结果寥寥无几 看到stackoverflow上有人说可以加上一个CRS参数

db.getCollection("1").find({"box":{$geoIntersects: {$geometry: {type: "Polygon" ,coordinates: [[[117.390449, 32.37105],[117.390449, 32.598390499999994],[117.486579, 32.598390499999994],[117.486579, 32.37105],[117.390449, 32.37105]]],crs: {type: "name",properties: { name: "urn:x-mongodb:crs:strictwinding:EPSG:4326" }}}}}}
)

竟然就可以了

搜了半天也不知道这个具体什么原理,只查到是按照某个指定的参考系来判断地理位置

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com