首页 - 论坛   -  WebGIS  -  测绘  -  GPS  -  遥感  -  GIS招聘  -  GIS开发  -  GIS应用  -  GIS基础  -  GIS新闻
最新最全的GIS、RS、GPS资讯信息---www.upgis.com
首页  »  WebGIS

WebGIS最佳实践4 运用pgRouting完成最佳途径搜寻

作者:lovext1988    发表时间:2015-07-09 23:53    来源:本站

  下载代码

  我在WebGIS最佳实践-2 在WebGIS顺序中完成途径剖析中提到过pgRouting,如今来看看这头小象能给我们带来些什么。

WebGIS最佳实践4 运用pgRouting完成最佳途径搜寻

先上效果图给大家鼓鼓劲。:》

  为了实现以上效果我用jsp和openlayers编写了效劳端和客户端,但是本文的重点是引见pgRouting所以不在这里精细介绍这些这些代码了,大家可以从下载包中找到这两个文件。要运用pgRouting得先装置,我假定大家曾经安装了Postgresql和PostGIS。

  从这里下载适宜的二进制包,我下的是Windows版本,解紧缩后把Lib下面的动态库复制到Postgresql的bin目录下,把Share\Contrib下面的sql文件复制到Postgresql的share\contrib目录下,然后重新发起Postgresql(这一步我不肯定能否必要)。然后就可以进行路径搜素了,下面我们从数据准备开端,一步步得创立出完好可用的路网数据表。Let·s rock!

  我们先要创建一个新数据库,就叫routing吧,我们会先让它支持pgRouting的函数然后给他增加一张表,一张路网表。随后我们会需务实施一些sql脚本,你可以用postgresql提供的小程序psql.exe来执行也可以用图形化工具pgAdmin来完成。我选择用psql。postgresql提供的程序createdb.exe可以辅佐我们创建数据库,我们假设用户是postgres:

createdb -U postgres routing

  然后让数据库支持PostGIS和pgRouting的函数和基础表

psql –U postgres –d routing –f postgis.sqlpsql –U postgres –d routing –f spatial_ref_sys.sqlpsql –U postgres –d routing –f routing_core.sqlpsql –U postgres –d routing –f routing_core_wrappers.sqlpsql –U postgres –d routing –f routing_topology.sql

其中,“postgis.sql,spatial_ref_sys.sql”可以在“<Postgresql的安装路径>\<version>\share\contrib\postgis<-1.4>”下面找到,到此数据库创建完成。

  为了创建路网表,我们需要一些路途数据。可以从OpenStreetMap上免费取得XML格式的道路数据。由于我们往常更容易获得Shapefile格式的数据,所以我决议用shp来完成数据导入。从Geobase下载道路数据。这个网站提供加拿大全国的道路数据,选择British Columbia , Edition 8.0的Shapefile格式(nrn_rrn_bc_shp_en.zip)。解压缩,我们要使用的数据就在“NRN_BC_8_0_ROADSEG”中。这个表的字段很多,大家可以用熟习的GIS数据处置工具删掉一些字段,当然不处理也没联系。

本站内容来自互联网,如果您认为您的版权受到侵犯,请【点击此处】
当前标签  WebGIS  GIS  化工
WebGIS
WebGIS
工信部备案号 (申请中)  站长信箱 admin@upgis.com