STV_Intersect:标量函数与转换函数
这些 STV_Intersect
函数的用途相似,但用法不同。
在下面的示例中,STV_Intersect
标量函数会将 points
表中的点与名为 my_polygons
的空间索引中的多边形进行比较。 STV_Intersect
将会返回所有完全匹配的点和多边形:
=> SELECT gid AS pt_gid
STV_Intersect(geom USING PARAMETERS index='my_polygons') AS pol_gid
FROM points ORDER BY pt_gid;
pt_gid | pol_gid
--------+---------
100 | 2
101 |
102 | 2
103 |
104 |
105 | 3
106 |
107 |
(8 rows)
以下示例显示了如何使用 STV_Intersect
变换函数来返回关于匹配的三个点-多边形对以及它们所匹配的每个多边形的信息:
=> SELECT STV_Intersect(gid, geom
USING PARAMETERS index='my_polygons')
OVER (PARTITION BEST) AS (pt_gid, pol_id)
FROM points;
pt_gid | pol_id
--------+--------
100 | 1
100 | 2
100 | 3
102 | 2
105 | 3
(3 rows)