上篇文章写了求任意两点间最短路径的sql函数,这篇文章讲一下如何把上面介绍的子功能整合到系统中去。
1、geoserver登录
首先单击geoserver安装路径下的start Geoserver
待geoserver启动后,在浏览器中输入,http://localhost:8080/geoserver/web/
输入用户名密码登录geoserver
2、创建工作区
单击左侧工作区,如下图所示:
会进入新建工作区页面,单击“添加新的工作区”,如下图所示
在弹出的工作区设置中输入新工作区的名字和命名空间
3、发布shp图层
单击左侧数据存储图标,会进入新建数据源页面
选择shapefile,会进入新建数据源页面
选择工作区,设置数据源名称,选中浏览选中所需要的发布的shp文件,字符集编码选择为GBK。
在新出现的页面中单击发布按钮
在定义srs中选择900913,计算数据边框
最后点击保存即可。
4、创建路径规划结果
单击左侧数据存储图标,会进入新建数据源页面
单击postgis,会弹出数据库的访问设置对话框
在对话框中选择工作区,填入数据源名称、数据库名以及用户名密码
在弹出的新页面中单击配置新的SQL视图,
在出现的新页面中输入视图名称以及最短路径规划的查询sql语句(pgr_fromAtoB为自定义的查询函数,需要添加到postgresql中),
SELECT ST_MakeLine(route.geom) FROM (
SELECT geom FROM pgr_fromAtoB('ways', %x1%, %y1%, %x2%, %y2%
)ORDER BY seq) AS route
单击从sql猜想的参数,把x1 y1 x2 y2的默认值都设为0,正则表达式中全部输入”^-?[\d.]+$” 。最后点刷新按钮,在出现的st_makeline结果数据中选择其类型为linestring,坐标系为900913
单击保存