涉及表——pg_roads表:字段有主键gid和线几何对象geom
例如:
Gid:1698
geom: LINESTRING(120.2161129 30.2525742,120.214496430.2534469,120.2129839 30.2541385,120.2126652 30.2542843)
1:ST_DumpPoints函数测试:测试从LINESTRING中获取所有的POINT
查询语句:
SELECT ST_AsText((ST_DumpPoints(ST_GeometryFromText('LINESTRING(120.1361868 30.2747561,120.1362053 30.2742953,120.1362271 30.2740925)'))).geom);
返回结果:
POINT(120.1361868 30.2747561)
POINT(120.1362053 30.2742953)
POINT(120.1362271 30.2740925)
2:ST_MakePoint函数测试:测试POINT组成LINESTRING
输入参数:
POINT(120.1361868 30.2747561),POINT(120.1362053 30.2742953)
查询语句:
SELECT ST_AsText(ST_MakeLine(ST_MakePoint(120.1361868,30.2747561),ST_MakePoint(120.1362053,30.2742953)));
返回结果:
LINESTRING(120.136186830.2747561,120.1362053 30.2742953)
3:测试根据路线表pg_roads的gid生成对于的过点表pg_points
create table pg_points as SELECT gid,(ST_DumpPoints(geom)).geom,(ST_DumpPoints(geom)).path[1] FROM pg_roads
4:ST_Split函数测试: