基于Silverlight 5的旅游公众服务系统

2014-02-19 05:58谢中凯李飞雪任沂斌
地理空间信息 2014年4期
关键词:旅游景点景点客户端

谢中凯,李飞雪,柳 林,任沂斌

(1. 南京大学 江苏省地理信息技术重点实验室,江苏 南京 210023;2. 山东科技大学 测绘学院,山东 青岛 266590)

1 系统总体设计

1.1 系统结构

本文设计的旅游公众服务系统由三层框架[1-5]组成,包括客户端表现层、服务器中间层、数据层,如图1所示。

图1 系统框架结构

1)客户端表现层。客户端使用Silverlight构建,以地图作为用户获取旅游信息的入口。客户端展现系统界面,还可完成一定的数据计算,减少客户端与服务器端的交互,提高系统响应速度[6,7]。客户端有两种获取信息的方式:第一种为通过ArcGIS API for Silverlight提供的相关Task从ArcGIS Server发布的地图服务中提取空间信息,这个过程即GIS空间分析的过程;第二种为通过Web Service完成与后台数据库的交互。客户端获取的信息可通过Silverlight的可视化手段展现出来。

2)服务器中间层。服务器由GIS服务器和Web服务器组成。ArcGIS Server作为GIS服务器,发布地图服务和进行投影、缓冲等几何操作的Geometry服务;IIS(internet information services,互联网信息服务)作为Web服务器,发布自定义的Web Service服务。

3)数据层。数据库由SQL Server数据库和多媒体数据库组成。通过空间数据引擎ArcSDE将空间数据和景点属性数据统一存储于SQL Server数据库中;多媒体数据库以文件夹形式存在,存储景点的图片、视频等多媒体信息。

1.2 系统功能

在分析公众对旅游信息需求的基础上,确定旅游公众服务系统应当具有的功能如下:

1)地图服务。提供旅游城市地图的浏览、放大、缩小等视图操作功能,并提供与Bing地图、卫星地图的切换功能。

2)景点展示。通过旅游景点的图片、360°全景图片、视频等信息展示城市旅游景点的特色。

3)景点动态。主要介绍各旅游景点最新发生的事件、新增加的活动内容,例如招商、折扣等内容。

4)旅游攻略。查看当日及未来两天的天气状况;通过图表对比不同月份不同景点的旅游热度、同一月份不同景点的旅游热度,帮助游客进行旅游时间和路线的规划,为旅游出行提供优化方案。

5)搜索查询。进行旅游景点、宾馆、饭店、车站等旅游兴趣点的搜索,并将结果在地图上进行气泡显示,提供景点图片、景点视频等详细资料。同时,根据用户选择的地点和范围,查询其周边一定范围内的旅游兴趣点信息。

6)旅游导航。根据用户输入或在图形上选择的起止地点,提供公交路线查询,查询两景点之间的公交旅游路线。同时,提供自驾车旅游导航,用户可根据自己的喜好,选择自驾游路线,系统将对旅游路线提供模拟旅游。

7)三维模拟。利用Silverlight 5提供的三维场景构建技术,对景点重点建筑进行仿真建模,并将三维模型进行网络发布,实现Web端的景点三维展示[8]。

2 系统数据库的建立

系统数据库包括空间数据库、属性数据库、多媒体数据库3个部分。空间数据库存储的空间图形数据是本系统的特色。系统遵循空间数据建库原则和方法,采用分层方式来对各种空间数据进行管理。部分属性信息,诸如景点名称、景点地址等可通过图层的属性表记录。空间数据主要包括两大部分:一是基础空间数据,包括河流、绿地、道路、城市地块等图层;二是专题数据,它是旅游公众服务系统的主题,也是公众应用该系统所关注的核心部分[9],主要包括旅游景点、酒店宾馆、饭店、医疗、车站等图层。景点属性数据库记录与景点相关的文字介绍、旅游统计信息等,可用于旅游信息挖掘。多媒体数据库存储反映景点特色的图片和视频,便于景点进行旅游推广。

3 系统实现的关键技术

3.1 客户端与服务器交互

ArcGIS API for Silverlight是用于在客户端开发WebGIS应用的一组类库,可以通过Rest接口访问ArcGIS Server发布的各种服务。旅游公众服务系统的开发属于客户端开发,其与服务器端的交互通过两种方式进行。

1)Silverlight API提供 的Tasks。Tasks是提供公共结果的一组通用GIS操作。Task的用法遵循几个步骤:实例化Task对象,注册Task完成、失败的监听事件,提交Task所需参数,等待服务器完成任务后处理返回的结果。Silverlight API目前提供了QueryTask、FindTask、IdentityTask、Locator、Geometry Service、Geoprocessor等Task功能。

2)Web Service或WCF。大量旅游景点的属性信息都存放在服务器端的数据库中,Silverlight搭建的客户端平台无法直接操作后台数据库,但是可以使用Web Service或者WCF(windows communication foundation)[10,11]进行数据库的访问。

3.2 三维场景的构建

Silverlight 5通过引入一个轻量级的XNA Graphics Framework 4.0实现了网页三维场景的构建。它依靠DrawingSurface控件渲染3D图形,并且增加了一些新类来支持3D,比如Microsoft.Xna.Framework包含能被3D图形类使用的Color和Rectangle类。虚拟三维场景中逼真的三维模型,如建筑物、树木等,不能使用普通3D图形(如矩形、球形)进行组合制作,需要通过专业建模软件生成。本系统使用Google SketchUp进行三维建模。

为了能够在网页上生成三维虚拟旅游场景,需要在地图上将各种地物要素模型放到合适的地理位置上。三维场景的构建包括以下步骤:

1)从ArcMap中导出CAD格式的地图作为SketchUp中模型放置的底图。

2)对重点建筑物进行三维建模,并使用贴图作为纹理。

3)在SketchUp中设置与ArcMap相同的地图单位,并调整CAD底图到正确的地理尺度,将建筑物模型摆放到正确的地理位置,如图2。

图2 CAD格式底图的三维场景

4)在SketchUp中将坐标轴平移到某一位置作为场景的坐标原点,将三维模型导出为.fbx格式的模型和贴图文件,模型自身将带有相对坐标。

5)将模型和贴图添加到系统中。首先以文本形式打开模型,将模型贴图的绝对路径修改为相对路径,然后以代码形式实现模型加载。

4 基于Silverlight 5的系统功能实现

本系统主页界面(图3)设计遵循实用性和可操作性双重原则,以创建友好、大众的用户界面为目标,将地图作为系统入口。在使用Silverlight搭建客户端时,模仿C/S结构的桌面程序,将功能模块按钮分门别类地集中放置,在菜单切换、窗体弹出时加入动画效果,提高用户交互性体验。地图制作使用了ArcGIS 10新增的制图表达功能,使得地图要素颜色清新、均衡,符号形象直观,为公众提供了良好的地图服务。

图3 系统主界面

系统采用ArcSDE 10和SQL Server 2005创建和管理空间、属性数据库,由ArcGIS Server 10发布地图服务和几何服务,由Silverlight 5.1搭建客户端,由Google SketchUp 8.0制作地物三维模型。部分功能实现如下。

1)模拟游览。可以根据用户喜好,选择要浏览的景点,生成这几个景点间的最短路径。系统根据生成的最短路径,自动查询路径周围一定距离内的旅游景点,以棕色气泡的形式显示在地图上。在生成的最短路径上会出现一个模拟游客,沿路径行走,当走到代表旅游景点的气泡附近时,模拟游客做短暂停留,同时弹出此处旅游景点的介绍面板(图4)。

图4 模拟游览

2)三维场景构建。选择五四广场作为景点试点,实现了景点的三维场景浏览(图5)。通过三维工具条进行控制,可进行场景的四周观察、旋转、移动、添加天空盒等操作。

图5 三维场景

三维场景选定“青岛市市委市政府”模型为坐标原点,在二维地图上划定的游览路线通过相对坐标可映射到三维场景中,实现三维虚拟飞行漫游。

5 结 语

本系统由ArcGIS Server与富客户端技术Silverlight搭建,利用GIS技术挖掘空间旅游信息,利用富客户端技术提升景点信息展示效果,实现了青岛市空间地理信息与旅游信息的有机结合。同时,进行网页三维开发尝试,在SketchUp中进行三维建模,在客户端加载模型,实现了三维场景基本操作,初步实现了一套基于ArcGIS Server的WebGIS旅游自助原型系统。旅游公众服务系统可以作为旅游信息资源共享平台的一部分,与其他子系统,如旅游服务热线、移动旅游网等进行集成,更好地服务于城市旅游。

[1]程国雄,胡世清.基于Silverlight互动学习RIA平台的研究与实现[J]. 计算机工程与科学, 2010(7):27-30

[2]青岛市旅游公共服务系统建设方案:旅游公共服务系统建设可研报告[R]. 青岛市旅游局,2010

[3]王伟志.基于ArcGIS Server的桂林旅游信息服务系统的设计与实现[D].昆明:昆明理工大学,2009

[4]白玉,杨前进,龚远红,等.基于ArcGIS Server平台的旅游公众服务系统[J]. 宁夏师范学院学报, 2009(6): 70-76

[5]陆亚刚,邱知,游先祥,等.基于Silverlight和REST的富网络地理信息系统框架设计[J]. 地球信息科学学报,2012(2):54-60

[6]朱振华,朱云,周勤,等.基于Silverlight的危废车辆实时监控系统[J]. 计算机工程与设计, 2011(4):359-362

[7]付华,钟勇.富因特网应用程序在Web数据展现中的应用[J].计算机应用, 2009(增刊): 292-295

[8]韩增军.基于GIS的数字济南旅游信息服务系统的设计与实现[D].济南:山东大学,2008

[9]周磊.平乐旅游信息管理系统的设计与实现[D].西安:电子科技大学,2009

[10]赵成福.基于ArcGIS的富客户端WebGIS的开发研究[J]. 测绘技术装备, 2010(2): 6-9

[11]谭淇.基于WCF服务框架与Silverlight的Web应用研究[J].计算机与现代化, 2011(1):83-85

猜你喜欢
旅游景点景点客户端
贫民窟也能成旅游景点?
美人鱼
如何看待传统媒体新闻客户端的“断舍离”?
打卡名校景点——那些必去朝圣的大学景点
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
英格兰十大怪异景点
没有景点 只是生活
景点个股表现