我正在使用 PostgreSQL + PostGIS。
在表中,我在同一张表的同一列中的不同行中有一个点和线几何。要获得我运行的线路:
SELECT the_geom
FROM filedata
WHERE id=3
如果我想采取行动,我会运行:
SELECT the_geom
FROM filedata
WHERE id=4
我想把点和线放在一起,就像它们在这个 WITH 表达式中显示的那样,但是使用对表的真实查询来代替:
WITH data AS (
SELECT 'LINESTRING (50 40, 40 60, 50 90, 30 140)'::geometry AS road,
'POINT (60 110)'::geometry AS poi)
SELECT ST_AsText(
ST_Line_Interpolate_Point(road, ST_Line_Locate_Point(road, poi))) AS projected_poi
FROM data;
您在此示例中看到数据来自手动创建的 WITH 表达式。我想把它从我的filedata
桌子上拿走。我的问题是我不知道如何同时处理来自一张表的两个不同行的数据。