ポイントレイヤーとラインレイヤーがあります。ポイントは、DGPS を使用して収集された道路の分岐点であり、ラインは追跡モードでハンドヘルド GPS を介して収集された接続道路です。その結果、線は実際には点に接続されません。
今私はしたい:
各線ストリングからすべての中間ノードを削除して、直線にします。
線の始点と終点を最も近い点にスナップします。
私は PostGIS 2.0 を使用しています。
UPDATE line
SET geom = ST_Simplify(geom, 1000);
Q. それを達成するための他の良い方法はありますか? (私はばかげた許容範囲を使用しているため)
UPDATE line
SET geom = ST_AddPoint(
(SELECT geom FROM line WHERE id = 1),
(SELECT p.geom FROM point AS p, line AS l
ORDER BY ST_Distance(p.geom,(SELECT ST_StartPoint(l.geom) FROM lt WHERE l.id=1)) LIMIT 1),
0)
WHERE id=1;
これにより、ライン(id = 1)が最も近いポイント(ラインの先頭に追加されたポイント)まで延長されます。
Q. 上記は少し複雑に見えますが、他に効率的な方法/機能はありますか?