基于开源平台的昆明市旅游地理信息系统

2015-09-16 08:22梁其洋
现代计算机 2015年12期
关键词:昆明市图层开源

梁其洋,张 雁

基于开源平台的昆明市旅游地理信息系统

梁其洋1,张雁2

(1.西南林业大学林学院,昆明650224;2.西南林业大学计算机与信息学院,昆明650224)

对基于开源GIS软件的WebGIS系统架构与功能进行探讨与研究,在开源技术的基础上实现三层B/S架构的昆明市旅游地理信息系统,以GeoServer为空间数据发布服务器,PostgreSQL为空间数据管理载体,OpenLayers为空间信息展现组件;直观显示昆明市景点和配套资源的分布特征,提供对旅游信息在线查询、评价留言、统计分析、输出等功能,为用户提供灵活方便的信息查询与交流平台,同时也为旅游管理部门决策分析提供参考。

开源GIS;WebGIS;B/S;GeoServer;OpenLayers;PostgreSQL

云南省教育科研基金(No.2012C098)

0 引言

昆明是举世闻名的旅游城市,2014年昆明市接待游客总数为6268.66万人次,旅游业总收入614.77亿元,旅游收入占全省旅游总收入的四分之一。昆明的旅游景点分布较为分散,游客多为外地来客,在这种情况下采用先进的网络地理信息技术建立昆明市旅游地理信息系统,为旅客提供一站式查询与规划服务平台,实现现代化旅游信息服务和管理功能是非常重要的。建立基于WebGIS的旅游地理信息系统对发展旅游业,提高旅游的公众形象,进行旅游促销,辅助旅游决策和进行旅游管理,起着不可低估的作用[1]。本文以昆明市为例,探讨在开源平台下对昆明市旅游地理信息系统进行设计与实现。

1 主要研究内容

1.1OpenLayers、GecServen和PostgreSQL/PostGIS

开源GIS客户端OpenLyaers、GIS服务器GeoServer和地理数据库PostgreSQL/PostGIS组成了本系统的三层架构,为系统提供地理数据的存储、样式编辑、发布、显示和要素查询等功能。

1.2最短路径分析

最短路径分析采用了PostgreSQL/PostGIS的扩展模块pgRouting,pgRouting提供开源的路径分析功能。pgRouting提供以下算法实现:Johnson's算法、Floyd-Warshall算法、A*算法、双向Dijkstra最短路径算法、双向A*最短路径算法、Dijkstra算法、行驶距离、k最短路径算法、转向限制最短路径算法等。

2 系统总体设计

2.1系统功能设计

系统基于开源平台,采用JSP+ExtJS技术,实现了图层管理、图层操作、地图查询、地图分析、留言板、地图输出和用户管理等模块。系统的功能模块结构如图1所示。

2.2系统工作流程

当用户通过浏览器访问地图时,客户端调用XML HttpRequest对象向地图服务器发送WMS请求,地图服务器则根据请求返回特定格式的地图瓦片显示在页面的控件上。当用户通过浏览器进行相关的操作时,JavaScript调用XML HttpRequest对象向Web服务器发送WFS请求,将用户的操作信息发送给Web服务器,Web服务器则根据不同的请求,将参数传递给GeoServer地图服务器,然后GeoServer地图服务器根据需要请求PostgreSQL/PostGIS数据库中的数据,结果以GML格式返回;JavaScript通过AJAX引擎的回调函数在客户端接收返回的结果,并解析旅游数据中的空间特征信息和属性信息,空间信息通过OpenLayers的JS类库,以WMS或WFS服务显示在地图上,属性信息则以属性窗口的形式来显示[2]。系统工作流程如图2所示。

图1 系统功能模块结构

图2 系统工作流程图

3 系统功能实现

系统功能主要包括图形显示、属性查询、游客查询、旅游统计、旅游评价、打印输出等。

3.1图形显示

图形显示包括显示各旅游要素图层、比例尺、任意点坐标、缩放工具条、鹰眼等。通过客户端OpenLayers向服务器发送WMS请求,将返回的图层显示在地图面板中。这些控件是调用OpenLayers的Control类来实现的。点击工具栏上的按钮可以对图形进行基本的操作与控制——放大、缩小、漫游和全图等。图形显示效果如图3所示。

图3 系统主界面

3.2属性查询

本系统提供两种属性查询方式:点击图层名称查询和点击要素查询。二者都是通过向GeoServer发出WFS DescribeFeatureType请求,前者返回整个图层的属性信息并显示在表格中,后者返回被点击要素的属性信息并显示在弹窗(Popup)中。

3.3游客查询

游客查询,包括分类查询、公交换乘、拉框查询、周边查询、路径规划、天气查询。

(1)分类查询包括景点查询、公交查询、街道查询、酒店查询、商场查询和医院查询。按要素主要分为针对点要素(如景点、酒店、商场、医院)的查询和针对线要素(街道)的查询。针对点要素的查询通过在WFS服务中添加过滤(Filter)功能请求得到符合某一属性值的要素信息,把返回的XML解析为单独的一个图层显示出来[3]。针对线要素的查询主要通过设置一个预定义的包含Filter的SLD来动态渲染通过WMS请求返回的图层,满足过滤属性的要素被高亮显示。公交线路查询是通过返回某一线路中所有的点要素(有名称的为站点,没有名称的为通过节点)构成的线要素,并将站点要素按次序排列在属性表中。

(2)公交换乘,根据用户输入的起点站和终点站检索数据库,实现了直达、一次换乘和二次换乘。

(3)拉框查询,用户在屏幕上画一个矩形框来查询落在其中的地物目标信息。通过使用Filter定义的地理操作符INTERSECTS获得与所画矩形要素相交的所有要素并呈现在地图中。

(4)周边查询,用户指定一个目标点,系统生成以该点为中心以指定距离为半径的缓冲区,可查询到该缓冲区范围内的吃住行游购娱等分布信息及其详细内容。检索区域内要素的原理与拉框查询相同。周边查询的效果如图4所示。

图4 周边查询

(5)路径规划,通过pgRouting实现。下载OSM官方网站提供的昆明市道路网数据后,将该数据导入PostgreSQL/PostGIS数据库中,为该数据库添加扩展和建立拓扑以便在前台进行调用。通过点击屏幕设置起点和终点,系统自动生成最短路径方案,效果如图5所示。

图5 最短路径分析

(6)天气查询,将昆明各县区内一点作为点要素添加到矢量图层,根据点要素的属性动态改变天气图片和文字。

3.4旅游统计

系统提供的旅游统计功能包括:曲线图、饼状图、柱状图和热力图。

曲线图、饼状图和柱状图由Highcharts实现。Highcharts是一个用纯JavaScript编写的图表库,能够很简单便捷地在Web网站或是Web应用程序添加具有交互性的图表。曲线图显示了2012年至2014年昆明市旅游人数与旅游收入变化情况,结果如图6所示。柱状图反映昆明市主要景点从2012年至2014年的游客接待人数。饼状图用来反映游客的国别与游客的年龄结构。热力图是GeoServer的扩展功能,添加了相关插件后可以实现从加权的旅游景点要素的接待量属性计算出一个热力表面,反映昆明市主要旅游景区接待量的热力分布。

图6 昆明市近三年旅游人数

3.5旅游评价

留言板为注册用户提供了交流平台,使用户能够浏览查看相关信息并分享自己的想法、照片和旅游体验。

3.6打印输出

打印输出是GeoServer扩展模块中的功能,它调用了Mapfish的打印服务。Mapfish打印模块为JavaScript地图应用程序提供了一个基于HTTP的API来进行打印。可通过打印设置为将要输出的地图添加图名和摘要,目前仅支持输出为PDF格式。

4 结语

遵守行业规范、可互操作、可移植和可定制性强等优势,而B/S结构具有分布性、伸缩性强、开发与维护简单、共享性强的优点。本文在开源软件的基础上,构建了以GeoServer为空间数据发布服务器、PostgreSQL为空间数据管理载体、OpenLayers为空间信息展现组件的三层B/S架构的昆明市旅游地理信息系统。通过对昆明市2012年至2014年的旅游人数和旅游收入进行调查收集,直观地展示了昆明市旅游人数与旅游收入的时间和空间分布规律,有助于有关部门探寻形成规律的动力机制。

开源GIS软件具有源代码开放、免费或者低费用、

[1]郝选文.基于WebGIS西安市旅游地理信息系统[D].陕西师范大学,2006

[2]王丽,谢刚生,肖慧琴.基于开源技术构建房产GIS图形管理系统[J].测绘通报,2009(12):57~59

[3]杨朝晖,郑文锋,李晓璐.基于开源WebGIS的网络房地产估价系统[J].软件导刊,2008,7(6):156~158

Open Source GIS;WebGIS;B/S;GeoServer;OpenLayer;PostgreSQL

Kunming Tourism Geographic Information System Based on Open Source Platform

LIANG Qi-yang1,ZHANG Yan2

(1.College of Forestry,South West Forestry University,Kunming 650224; 2.College of Computer and Information,South West Forestry University,Kunming 650224)

Researches on the architecture and function of the WebGIS system based on open source GIS software and technology.Develops Kunming tourism geographic information system with a 3-tier B/S architecture,with GeoServer as spatial data publishing server,PostgreSQL as spatial data and OpenLayers as spatial data display component.It directly shows the distribution characteristic of scenic spots and mating resources in Kunming.It also offers a number of functions such as online query,assessment,statistics and output.It provides users with a flexible and convenient platform to query and communicate,makes decision and analysis for tourism management department.

1007-1423(2015)12-0076-04

10.3969/j.issn.1007-1423.2015.12.017

梁其洋(1990-),男,河南信阳人,硕士研究生,研究方向为地理信息系统开发与设计

张雁(1973-),女,云南禄丰人,博士,副教授,研究方向为遥感技术与机器学习

2015-02-03

2015-03-12

猜你喜欢
昆明市图层开源
昆明市明良汇江水泥制造有限公司
昆明市明良汇江水泥制造有限公司
昆明市延安医院
五毛钱能买多少头牛
2019开源杰出贡献奖
解密照片合成利器图层混合模式
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
跟我学添加真实的光照效果
国外建筑CAD图层标准发展现状与研究