MongoEngine geo_within_box 不适用于多边形

Posted

技术标签:

【中文标题】MongoEngine geo_within_box 不适用于多边形【英文标题】:MongoEngine geo_within_box not working with polygon 【发布时间】:2020-01-10 13:37:53 【问题描述】:

我要查询Drawing.objects(box__geo_within_box=[(-180, -90), (180, 90)])

Drawing.box 是这种类型的多边形 PolygonField() 以下列方式初始化:

 "type": "Polygon", "coordinates": [ [ [left, top], [right, top], [right, bottom], [left, bottom], [left, top] ] ] 

但它不起作用(我得到空结果)。也许 geo_within_box 仅适用于点,而不适用于多边形?

如何查询框内的所有多边形?

注意:box__geo_intersects 只返回与边缘相交的多边形,而不是给定多边形内的多边形。

【问题讨论】:

也许检查接受的答案:***.com/questions/42405589/… 当您说“它不起作用”时,您会收到错误还是返回空结果? 我得到空结果 【参考方案1】:

问题是我查询"big" polygons。

box__geo_intersects 适用于小于单个半球的多边形。

【讨论】:

以上是关于MongoEngine geo_within_box 不适用于多边形的主要内容,如果未能解决你的问题,请参考以下文章

MongoEngine:关闭连接

django连接mongodb mongoengine

我可以将 MOTOR 用于 mongoengine 吗?

Mongoengine 中的“QuerySet”对象到底是啥?

mongoengine

Mongoengine 和 Pymongo?