前提:在PostgreSQL中建立PostGIS数据库,安装pgRouting插件,导入现有的线表shp数据(示例使用的是管线pipesectionmain,其他的线表数据均可)。
1、pgRouting在edge表中添加字段
线表中必须有id,source,target,cost,the_geom 5个字段,其中现有空间数据表中的gid可作为id,shape_leng可作为cost,geom可作为the_geom。还需要额外增加source和target字段
新增souce和target字段并加上索引
alter table waterdataset.pipesectionmain add column source int; alter table waterdataset.pipesectionmain add column target int; create index road_source_idx on waterdataset.pipesectionmain("source"); create index road_target_idx on waterdataset.pipesectionmain("target");
如现有空间表中没有长度字段,可通过以下语句初始化
ALTER TABLE waterdataset.pipesectionmain ADD COLUMN length double precision; update waterdataset.pipesectionmain set length =st_length(geom);
2<