我有一张桌子,我正在使用 PostgreSQL 的地理空间功能对其进行自我连接。现在我期望建立每个交叉点的交叉点,除了那些具有相同值的属性“tunnel_road”的交叉点。
因此,我有两行包含值“隧道”,我不想在它们之间建立一个交点。
我正在使用的查询如下,尽管它无法正常工作,因为它仍在两条线之间创建一个交点。
insert into temp_intersect
select nextval('road_intersection_id_seq'), a.road_id, b.road_id, st_intersection(a.road, b.road), st_centroid(st_intersection(a.road, b.road))
from polygon_road a, polygon_road b
where st_intersects(a.road, b.road) AND a.road_id < b.road_id AND a.tunnel_road != b.tunnel_road
请问有什么建议吗?
以下是我从中获取数据的表。可以注意到有两行包含相同值的 tunnel_road 列,其中 id = 47 和 73