Postgresql 尝试了解如何使用postgis使用另一个向量(矩形框)剪裁向量

Postgresql 尝试了解如何使用postgis使用另一个向量(矩形框)剪裁向量,postgresql,gis,postgis,qgis,Postgresql,Gis,Postgis,Qgis,技术:PostGIS、QGIS 我有一个名为“研究区”的矢量框,还有一个矢量数据“漫滩”。现在我需要剪辑漫滩矢量数据,以生成研究区域内的漫滩层。我需要使用postgis,为这个特定的工作编写查询 但是,我检查了文档,似乎st_clip函数只适用于光栅 以下是我的尝试: select r.geom as clipped from study_area as s, usrname."Regulatory_Floodplain" as r where st_within(r.geom, s.geom)

技术:PostGIS、QGIS

我有一个名为“研究区”的矢量框,还有一个矢量数据“漫滩”。现在我需要剪辑漫滩矢量数据,以生成研究区域内的漫滩层。我需要使用postgis,为这个特定的工作编写查询

但是,我检查了文档,似乎st_clip函数只适用于光栅

以下是我的尝试:

select r.geom as clipped
from study_area as s, usrname."Regulatory_Floodplain" as r
where st_within(r.geom, s.geom) or st_intersects(s.geom, r.geom)
问题是它并不完全在盒子里:

还有别的选择吗?任何帮助都将不胜感激,谢谢

您可能需要函数,比如

select st_intersection(r.geom, s.geom) as clipped
from study_area as s, usrname."Regulatory_Floodplain" as r
where st_intersects(s.geom, r.geom)
你可能需要函数,比如

select st_intersection(r.geom, s.geom) as clipped
from study_area as s, usrname."Regulatory_Floodplain" as r
where st_intersects(s.geom, r.geom)

啊哈,成功了!非常感谢。我认为因为我的研究区域层是一个只有边界的空盒子,使用交集只会给出任何接触边界的东西,但我错了。感谢您的回复,请将其标记为答案!它可以帮助其他用户搜索类似的问题,以更快地找到答案。啊哈,它奏效了!非常感谢。我认为因为我的研究区域层是一个只有边界的空盒子,使用交集只会给出任何接触边界的东西,但我错了。感谢您的回复,请将其标记为答案!它可以帮助其他搜索类似问题的用户更快地找到答案。