【发布时间】:2012-06-12 01:31:51
【问题描述】:
希望在 geodjango 字段中存储一个圆,以便我可以使用 geodjango 查询 __contains 来确定一个点是否在圆中(类似于使用 PolygonField 可以完成的操作)。
目前将其存储为十进制半径和 GeoDjango 点字段,但需要一种方法来查询数据库中的位置列表,以便这些不同的圆(点字段和半径)包含我的搜索点(长/纬度)。
希望它有意义。
【问题讨论】:
-
如果圆方程是 (X-H)square2+(Y-K)square2=Rsquare2。如果 (H,K) 是 GeoDjango pointField 并且 R 是十进制并且所有这些圆圈都存储在 DB 中。如果我用搜索点(A,B)查询,我应该能够知道它将落在我的数据库中的哪个圆圈。
-
不太确定我是否会为这种类型的逻辑使用“包含”。你的圆将有一个中心点和一个半径......'点和圆心之间的距离小于半径'的逻辑应该起作用而不是'包含'。
标签: django postgresql postgis geodjango