我有一个多边形层(lulc)和一个点层(传感器)。我想有所有的多边形内缓冲区周围的点,因为我可以在QGIS
所以我尝试了这个请求:
SELECT ST_Intersection(lulc.geom,ST_Buffer(sensors.geom,200,'quad_segs=50'))
FROM sensors
JOIN lulc ON ST_Intersects (sensors.geom,lulc.geom)
但结果是这样的:
。
虽然我期待这样的结果:
我知道ST_Intersection
只返回一个几何体,但是我应该怎么做才能让所有的多边形都在缓冲区内呢?(子问题ST_Intersection
如何选择将作为其结果的几何体?)
1条答案
按热度按时间x9ybnkn61#
ST_Intersection
将返回每个交叉点,它不会过滤掉任何几何体。在查询中,只选择与传感器点相交的多边形,然后使用这些多边形计算与传感器点缓冲区的交点。
相反,您需要连接传感器点附近的多边形,然后计算交点: