所以我有一个在 qgis 中可视化编码的管道数据库。我的目标是向 PGAdmin4 v5 添加一个触发器,该触发器使用 ST_StartPoint() 和 ST_EndPoint() 来获取正在输入的折线(管道)的端点。然后,我将使用这个几何来获取最近的结构(一个点)并使用相应的数据自动完成两列。我有工作代码可以获取现有管道的端点并找到最近的结构,但我想使用新创建的线(管道)在将表单输入数据库时自动完成表单。
工作代码:
SELECT p.id,
dump_line.geom,
st_endpoint(dump_line.geom) AS downstream,
j.geom_closest_downstream,
st_startpoint(dump_line.geom) AS upstream,
i.geom_closest_upstream
FROM sewers.pipes p,
LATERAL st_dump(st_setsrid(p.geom, 2965)) dump_line(path, geom),
LATERAL ( SELECT s.geom
FROM sewers.structures s
ORDER BY (st_endpoint(dump_line.geom) <-> s.geom)
LIMIT 1) j(geom_closest_downstream),
LATERAL ( SELECT s.geom
FROM sewers.structures s
ORDER BY (st_startpoint(dump_line.geom) <-> s.geom)
LIMIT 1) i(geom_closest_upstream);
我需要弄清楚如何从更新中获取数据(向 qgis 添加条目)并使用它的几何而不是现有管道的几何。