我有一张表,我正在使用PostgreSQL的地理空间函数进行自我连接。现在我期望建立每个交叉点的交叉点,除了那些具有相同值属性'tunnel_road'的交叉点。
因此我有两行包含值'tunnel',我不想在它们之间建立一个交叉点。
我正在使用的查询如下,但它无法正常工作,因为它仍在创建两条线之间的交叉点。
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