私は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
テーブルから取り出したい。私の問題は、1つのテーブルの2つの異なる行からのデータを同時に処理する方法がわからないことです。