建立了一个表,其中一个字段是 geometry(Polygon) 类型的,目前数据库里面有一条记录里面是包含两个矩形:
'POLYGON((466.011 573.9911,503.4636 573.9911,503.4636 583.6541,466.011 583.6541,466.011 573.9911),(91.014 603.9088,116.8337 603.9088,116.8337 615.8859,91.014 615.8859,91.014 603.9088))'
对应矩形是
[[466.011, 573.9911, 503.4636, 583.6541], [91.014, 603.9088, 116.8337, 615.8859]]
其中里面每一个 list 的每一项对应于矩形的 x,y,xx,yy
在 QGIS 里面是这样的(红框框起来的这两个矩形)
问题来了,现在我通过和[466.011, 573.9911, 503.4636, 583.6541]是否相交可以查到这条记录
但是通过
[91.014, 603.9088, 116.8337, 615.8859]
'POLYGON((91.014 603.9088,116.8337 603.9088,116.8337 615.8859,91.014 615.8859,91.014 603.9088))'
查不到,相交用的ST_Intersects
或者&&
,这是啥原因呀?
1
ackfin01 OP 之前的理解有错:对于有多个矩形框的情况,应该使用 MULTIPOLYGON,而 POLYGON 的多个框是指由一个外环和 0 到多个内环组成的。
https://skyrover.me/posts/101 |