【发布时间】:2021-05-22 20:26:04
【问题描述】:
我的模型中有一个PolygonField poly。
对于给定的点,我想过滤位于多边形内或位于其边界上或点与多边形之间的最小距离为 x 的所有项目。
.filter(poly__contains=point) 仅先检查。其他两个条件呢?
【问题讨论】:
标签: django postgresql postgis geodjango
我的模型中有一个PolygonField poly。
对于给定的点,我想过滤位于多边形内或位于其边界上或点与多边形之间的最小距离为 x 的所有项目。
.filter(poly__contains=point) 仅先检查。其他两个条件呢?
【问题讨论】:
标签: django postgresql postgis geodjango
试试这些:
距离:https://docs.djangoproject.com/en/3.1/ref/contrib/gis/geoquerysets/#distance-lookups
在边界和内部:https://docs.djangoproject.com/en/3.1/ref/contrib/gis/geoquerysets/#overlaps
使用 .filter(Q()|Q()) 同时使用两个条件
【讨论】: