基于开源WebGIS的城市旅游交通电子地图开发研究

  • 格式:docx
  • 大小:1.08 MB
  • 文档页数:6

基于开源WebGIS的城市旅游交通电子地图开发研究设计者:殷睿睿,张玉明,刘瑞涛,周韬指导教师:徐鹏(长沙理工大学交通运输工程学院湖南长沙410004)作品内容简介世界旅游业和计算机技术的飞速发展使游客获取旅游交通信息的方式发生了重大变革,由传统的纸质交通旅游图转变为互联网上的电子地图。

开源软件的发展和WebGIS技术的进步促进了网络电子地图的繁荣,产生了巨大的商业价值。

本研究在综合比较各类开源WebGIS 软件平台的基础上,选择Geoserver、PostgreSQL和Openlayers构建了一个旅游交通电子地图平台,实现城市旅游交通信息资源的发布,提供了一种利用开源软件构建旅游交通电子地图思路和整体解决方案。

研究结果表明:采用开源软件构建城市旅游交通电子地图所需的WebGIS平台,具有技术先进、开发成本低、周期短、易于维护和兼容性强等优点。

关键字:旅游交通电子地图开源软件 WebGIS1.研究背景国际著名的扬克洛维奇营销顾问公司(Yankelovich Partners)在全球旅游趋势观察报告中指出,世界旅游中正在发生“从以目的地为中心向以游客为中心”的转变。

以游客为中心的含义就是旅游者有绝对的主观选择权,旅游者选择去一个城市旅游,首先需要了解该城市旅游景点的概况,以及交通设施情况。

如何动态而全面的展现一个城市的旅游交通信息是很多人思考的问题。

随着空间信息科学和计算机网络技术的发展,一些旅游主流网站目前都推出旅游交通电子地图,作为城市旅游交通信息的动态发布平台。

这是一种新型的、动态的网络旅游营销模式。

旅游交通电子地图通常以行政区划等基础地理信息为背景图层,在此基础上叠加交通网络、公交线路、旅游景点、宾馆和餐饮等基础设施。

用户足不出户即可通过电子地图设计自己的游玩路线,查询公交和道路信息、选择一条最优路径节省时间,了解每个景点的详细情况,包括门票信息、景点全貌图、周围的基础设施等等。

旅游者通过这个平台能够非常容易做出选择,选择自己想去的地方。

本研究建立的旅游交通电子地图以WebGIS技术为基础,采用B/S(浏览器/服务器)架构。

当前各种开源WebGIS平台在测绘和国土资源管理部门已经得到一些应用,但用于旅游交通电子地图开发仍处于起步阶段。

开源软件具有易于维护、扩展灵活、便于共享等优势。

基于Geoserver、PostgreSQL和Openlayers等开源软件构建本研究所需的WebGIS平台时机比较成熟。

2.设计原理2.1系统架构设计系统采用B/S模式三层架构,由客户端、服务器端构成,其中服务器端包括Web服务器和地图应用服务器以及PostgresSQL数据库三部分组成。

系统结构如图1所示。

具体说明如下。

客户端:本系统客户端开发基于Openlayers提供的JavaScript工具包。

采用OpenLayers 作为客户端不存在浏览器依赖性。

用户使用普通的Web浏览器(如IE)即可使用相应的服务,不需要安装专门的浏览器插件,对用户计算机系统软、硬件要求低,系统维护、升级方便。

客户端网页即是用户界面,通过该页面,用户可以实现公交线路和旅游景点查询条件输入、地图浏览、空间查询和分析等功能。

图1 系统结构图服务器端:分析用户发送的指令信息,执行相应的操作提取数据,并把查询或分析结果反馈给用户。

旅游交通信息查询服务基于系统的WebGIS平台,主要根据用户在Web页面选择的操作或查询条件,执行相应的信息查询(如公交线路、景点信息),并将查询结果通过浏览器反馈给用户。

数据库:包括旅游交通综合信息数据库、WebGIS空间数据库组成。

实现数据的存储、查询和更新等功能。

数据是旅游交通信息查询系统的核心和关键,数据的准确度和时效性是衡量系统实用价值的重要指标。

2.2系统功能模块设计包括地图操作和信息查询两大功能模块,具体说明见表1。

功能说明地图操作地图漫游地图移动,通过鼠标或键盘实现地图漫游地图缩放地图放大缩小,使用鼠标滚轮或者工具条,在不同比例尺地图之间进行切换,浏览城市全貌或者局部细节全图显示显示全市范围的电子地图距离测量在地图上进行概略距离量算,方便进行路径规划旅游信息查询景点查询查询景点相关信息,通过链接景区官方网站,获取权威旅游资讯酒店查询根据输入条件查询酒店相关信息,或者查询兴趣点周边一定范围内的酒店分布情况餐饮查询根据输入条件查询餐饮设施相关信息,或者查询兴趣点周边一定范围内的餐饮设施分布交通信息查询公交线路查询输入需要查询的公交线路,将相应线路和经过站点在电子地图上显示公交站点查询输入公交站点,显示经过该站点的公交线路名称,点击线路名称可实现线路查询公交换乘查询根据公交线路通达情况,规划公交换乘方案;提供多种方案供游客选择自驾游路径规划根据起点和目的地之间的道路连通情况,使用GIS空间分析功能,在路网中搜索最短路径或者最快路径上述功能模块的实现,需要采用基于PostgresSQL的空间数据采集和建库技术、基于Geoserver的电子地图配置和发布、基于Openlayers的富客户端开发技术。

3.关键技术及其实现3.1数据库管理系统查询系统采用PostgreSQL实现WebGIS空间数据、订单数据和用户数据管理;PostgreSQL 是先进的开放源码的对象——关系型数据库管理系统,本研究采用的版本为8.3。

PostGIS是PostgreSQL的扩展,提供空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符,同时PostGIS支持OpenGIS的规范。

PostgreSQL8.3提供了一款图形用户界面的数据库管理工具pgAdmin,通过这款软件实现数据库的维护工作:包括空间数据建库和维护、用户信息库的建库和维护。

界面如图2所示。

图2 pgAdmin Ⅲ数据库管理软件用户界面图3 sql数据入库3.2空间数据建库建立原型系统所需的背景电子地图、旅游交通信息数据和相应的元数据由湖南省第一测绘院生产和提供,文件形式的空间数据格式为shapefile(ESRI的shp文件)。

空间数据保存在名称为postgis的数据库中,每个shp文件对应数据库中的一张表。

通过PostgreSQL提供的数据转换工具shp2pgsql.exe将shp文件转换成sql语句,便于入库。

在系统命令符模式下,使用shp2pgsql命令转换空间数据的格式如下:shp2pgsql.exe [<可选参数>] <shp文件> <表名>shp2pgsql命令的执行结果为一系列的sql语句,将上述结果定向到一个sql文件中,再利用pgAdmin中的sql语句执行功能将空间数据入库。

如图3。

3.3地图服务器Geoserver是一款用Java语言开发的,在OGC标准下支持用户浏览和编辑数据的开源软件。

本研究采用的版本为2.0。

利用Geoserver可以实现空间数据组织,将不同来源的空间数据通过投影变换转化到统一的参考系中,并建立空间索引。

提供基于OpenGIS标准的WMS 和WFS服务,为空间查询和分析提供基础。

它的功能通过Openlayers等客户程序结合使用表现出来。

Geoserver通过Web服务器Tomcat提供地图服务,因此需要在服务器上先安装Tomcat,然后将war格式的Geoserver程序安装在webapps目录下,Geoserver服务随Tomcat启动而启动。

Geoserver服务启动后,可以在浏览器中输入http://localhost:8080/geoserver/welcome.do(localhost为服务器域名或IP地址,8080为tomcat的端口号),进入Geoserver配置页面:图4 Geoserver主界面通过Geoserver发布PostgreSQL数据库中的空间数据,还需要在Geoserver中进行一系列的数据配置。

在主界面上点击“配置”->“数据”->“数据库”->“新建”,用于创建新的数据集chenzhou,该数据集关联PostgreSQL数据库中的空间数据。

如图5、6所示。

图5 建立新的数据集图6 与postgis数据库建立关联数据集chenzhou中包含与postgis数据库对应的空间数据,在此基础上需要定义可以通过服务(此类服务包括符合OGC规范的WMS、WFS和WCS)访问的 FeatureType。

Postgis中的每一张表所包含的空间数据对应一个FeatureType,配置FeatureType的界面如图7所示:图7 FeatureType编辑页面在FeatureType编辑页面中,需要输入空间数据的表现样式(由样式文件SLD决定,该文件符合OGC的规范)、空间引用系统(决定空间数据采用的投影系统和参数)、数据边界范围等信息。

这些参数决定WebGIS空间数据在客户端浏览器中的显示形式。

编辑好的FeatureType可以通过Geoserver自带的数据浏览器查看。

图8和图9分别为对系统配置好的实验区域道路网络和地名数据预览的效果图:图8交通路网预览图9地名注记信息预览在对所有的空间数据建立相应的FeatureType之后,系统完成了数据准备的工作,地图可视化以及相应的旅游交通信息查询通过WebGIS客户端的的开发实现。

3.4系统客户端开发此部分为系统建设的难点。

Openlayers是基于Ajax技术的WebGIS客户端开发工具,由一套JavaScript包组成,研究采用的版本为2.8。

Openlayers实现访问空间数据的方法都符合行业标准,如OpenGIS的WMS和WFS规范。

采用Openlayers提供的开源接口,实现空间数据的显示查询和空间分析。

系统客户端界面如图10所示。

由查询条件、查询结果、地图浏览等几部分组成。

其中查询条件、查询结果由界面左侧的按钮切换显示,地图浏览部分是客户端的主要部分,在Openlayers提供的JavaScript工具包上二次开发而成。

由地图显示区域、菜单栏、鹰眼图、地图浏览控件、查询条件输入和查询结果显示等几部分组成。

图10 查询系统客户端界面系统在开发过程中充分利用开源系统的灵活性,在Openlayers提供的控件基础上进行封装和扩展,新建了几个大类(每个类由一个js文件组成),实现地图的显示、交通旅游信息查询和分析。

3.创新特色本研究创新之处在于:采用开源软件构建城市旅游交通电子地图所需的WebGIS平台,相关手段具有技术先进、开发成本低、周期短、易于维护和兼容性强等优点。

相关研究结合OGC规范和最新开源项目,搭建能够有效管理旅游交通基础地理数据的WebGIS系统,在开发和测试过程中,开源软件表现出极大的灵活性。

随着开源项目的不断发展,如GeoServer在支持WFS,WCS等OGC规范的前提下,不断提升自身地图的出图质量和性能,WebGIS系统整体功能将会进一步提高,给旅游交通电子地图的开发带来更大方便。