焦俊超,孙成苗,胡振彪(1.青岛市勘察测绘研究院,山东青岛 266032; 2.海陆地理信息集成与应用国家地方联合工程研究中心,山东青岛 266032)
基于Windows Phone的“掌上世园游”设计与开发
焦俊超1,2∗,孙成苗1,2,胡振彪1,2
(1.青岛市勘察测绘研究院,山东青岛 266032; 2.海陆地理信息集成与应用国家地方联合工程研究中心,山东青岛 266032)
摘 要:“掌上世园游”移动端软件基于Windows Phone手机操作系统开发,采用SOA设计理念,遵从数据、管理、服务和应用相分离的架构原则,通过地理信息数据整合、管理和网络化在线服务模式,融合无线网络技术、LBS技术、GIS技术,在实现传统基本电子地图功能的基础上,着眼于游园的自动化、智能化体验,为游客游览世园会提供查询、向导、辅助决策等各项服务。系统在2014年青岛世界园艺博览会期间得到了较好的应用,最大限度的发挥了对世园会的宣传和推介作用。
关键词:Windows Phone;GIS;移动端;游览
随着第三、第四代移动通讯技术的进步以及智能手机的普及,移动互联网时代已经来临,基于传统桌面的应用正在逐步转向基于智能移动终端[1],手机端软件已经越来越影响公众生活。
世界园艺博览会(简称“世园会”)是展示世界园林园艺精品和科技成果的专业性国际博览会,2014年在青岛举行。为了突出游客游园时的智能化和自动化体验,笔者设计并开发了“掌上世园游”移动端软件产品,它是一套提供多种地理信息服务的导览系统,作为补充和提升实体世园会的辅助宣传工具。“掌上世园游”系统以Windows Phone手机操作系统为设计平台, 以ArcGIS移动产品解决方案为开发基础,在无线网络、LBS、GIS等先进技术的支持下,采用二维电子地图和2.5维场景相结合的方式,通过实景图片与文字介绍展示世园会优美景色及各项场馆活动,并可利用系统提供的智能分析功能,为游客提供查询、向导、辅助决策等各项服务,真正实现“智慧游园”。
“掌上世园游”软件着眼于地理信息服务在Windows Phone手机端的展示应用,运用移动互联网思维,采取“B/ S”架构,以ArcGIS for Windows Phone为开发接口,选用C#语言结合XAML描述模式开发,应用ArcGIS Server的Rest地图服务,充分发掘了Windows Phone前端技术、WebService后台技术及多种GIS服务的网络应用。
2.1Windows Phone基础
Windows Phone(简称“WP”)是微软公司发布的一款手机操作系统,基本放弃了原有的Windows Mobile体系架构,采用全新的设计理念精心打造,增强了桌面定制、图标拖拽、滑动控制等一系列前卫的操作,力图打破公众与信息、应用之间的隔阂,适用于包括工作和娱乐在内完整生活的方方面面,操作和开发上均提供最优秀的端到端体验[2~5],是和苹果IOS、谷歌Android并驾齐驱的移动端软件解决方案。“掌上世园游”系统采用的开发平台是Windows Phone 8.0版本。
在控件方面,Windows Phone和传统的桌面应用程序开发或Web开发基本类似,可以使用默认提供的控件或加载第三方控件。在开发语言方面,Silverlight Framework[6]和XNA Framework两种框架支持Windows Phone的应用程序开发,前者是以XAML文件为基础的应用程序设计,代码编写和ArcGIS for Silverlight非常相像,有些源码甚至可以直接移植,所以在该方式在当前相对比较流行。
2.2ArcGIS for Windows Phone介绍
ArcGIS for Windows Phone是美国Esri公司推出的用于在Windows Phone平台上开发GIS应用的一套编程接口和类库。通过这些接口和类库,可构建富客户端和桌面应用;并可将地图嵌入到应用中,加载在线地图服务、Bing地图或离线地图,以完成定位、搜索、空间查询、数据展示等常见功能;此外,它还提供了一系列专业的GIS功能,允许加载企业自己的地理数据信息,利用ArcGIS Server或Bing地图服务提供的强大的绘图、地理编码和地理处理能力进行数据采集、编辑、执行复杂的地理分析任务,从而挖掘数据的潜在价值[8]。“掌上世园游”系统采用的开发插件是ArcGIS for Windows Phone 2.4版本。
2.3开发语言及地图服务
C#[9]是微软公司发布的一种面向对象的、运行于.Net Framework之上的高级程序设计语言,由C和C++衍生而来,能使程序员在.Net平台上快速开发程序软件,程序运行上安全、稳定,代码组织上简单、优雅;Microsoft Visual Studio 2012[10]是一个先进的软件开发解决方案,可以轻松创建适应多变的命令窗口、按钮、菜单、工具栏和其他屏幕元素;Windows 8是由微软公司开发并具有革命性变化的操作系统,是现今比较常用的新的操作系统。
ArcGIS Server是一个用来构建集中管理、支持多用户的企业级GIS应用平台[11],能对GIS提供基于浏览器的地图访问,而且能够实现对数据的分布式管理及动态更新。“掌上世园游”系统采用的开发语言是Microsoft Visual Studio 2012中的C#,电脑端操作系统为与之配套的Windows 8,并使用ArcGIS Server 10.2提供地图服务。
3.1系统总体架构
“掌上世园游”软件在系统架构上共分为4个层次(如图1所示),依次分别为应用支撑层、数据服务层、开发接口层、业务应用层。通过4级分层架构,使数据、管理、服务、应用相分离,系统拥有了较好的稳定性、灵活性和扩展性。
图1 系统架构示意图
(1)支撑层
应用支撑层是构成软件的基础保障,通过专题数据库和信息服务商分别为整个系统提供数据支持与技术支撑。
(2)服务层
数据服务层是接口层的基础,包含诸如电子地图、导航等各类服务,为接口层提供强大的后台实现支持,完成各类空间信息资源的对外发布和共享,解决空间信息资源“如何发布”的问题。
(3)接口层
开发接口层是提供给各类用户的程序开发接口,各相关业务系统建设可以使用这些API来和自己的业务应用进行集成,形成独立的业务空间信息应用系统。该层采用的是ESRI提供的ArcGIS for Windows Phone。
(4)应用层
业务应用层是用来通过接口层提供的接口开发移动终端用户系统,为用户提供移动端地图浏览、电子导游、GPS导引、周边信息搜索等功能,为游客游园提供智能化服务,同时解决共享信息资源是“如何应用”的问题。
3.2主要功能设计
“掌上世园游”软件在实现传统基本电子地图功能的基础上,重点实现了GPS定位、智能导引、周边搜索、园区导游等功能,突出体现游客游园的自动化、智能化体验,如图2所示。
图2 系统主要功能
GPS定位是指在GPS处于打开或手机网络连接的情况下,地图加载成功后自动定位,并在地图上标示出用户所在的园区位置。
智能导引是指通过GPS定位,获取当前位置信息,并根据当前位置自动分析最佳游园路线,或自动分析多条游览路线供用户选择。随着用户游览位置的变化,通过获取外部实时传递的服务数据,自动推送当前位置附近展馆的活动信息。
空间搜索功能不仅涉及用户位置最近场馆的搜索,还包括对用户位置周围生活娱乐等相关设施的搜索,所涉及的专题数据主要有世园会场馆、餐饮、银行、酒店、娱乐场所、购物等。
园区导游功能结合智能导引功能统筹考虑,运用接入的服务资源,根据用户的自身特点和所处位置,向其推荐合理的游览路线,为游客参观园区带来便利。
4.1应用展示
“掌上世园游”系统在实现相关功能的基础上,重点考虑了软件的易用性、便捷性、智能性要求,设计了美观、流行的元素和交互性极好的UI界面,并使其符合当前大众化的流行移动软件界面的设计要求。软件在2014年青岛世园会期间面向公众免费下载,取得了较好的效果。这里仅展示空间搜索(如图3所示)和园区导游功能界面(如图4所示)。
图3 空间搜索
图4 园区导游
4.2技术优势
(1)面向服务的体系架构设计
系统开发过程中应用了SOA[12]设计思想,通过将数据、算法等资源在服务器端发布为独立于客户端的服务。SOA的这种松散耦合特性,使得能够将服务组合为各种应用程序,这样大幅度提高了代码重用率,可以在增加功能的同时减少工作量,缩短软件开发时间。
(2)跨平台的异构多源空间数据共享
“掌上世园游”系统采用Web Service方法实现空间地理数据的交换和共享,此方法融合了Http和其他Web协议,便于系统服务根据发展需要进行伸缩。
(3)ArcGIS的强大技术支持
软件采用成熟稳定的ArcGIS移动产品解决方案,使用ArcGIS Server发布地图,Windows Phone客户端调用地图服务。
(4)功能齐全的移动GIS软件
系统在实现基本电子地图功能基础上,利用GPS 和LBS技术重点实现了GPS定位、线路查询、周边搜索、电子导游等功能,为游客提供全方位的游园服务。
(5)用户体验度高的UI设计
系统UI界面设计中充分考虑并发挥了Windows Phone系统的特点优势,遵循用户常规交互习惯,保证了各个版本之间软件主题的一致性。
移动端GIS是当前地理信息行业发展的重要方向,是继桌面GIS、WebGIS之后又一新的技术热点, Windows Phone作为成熟稳定的移动端软件解决方案,二者相互融合开发定制深层次的行业应用显得很有必要。“掌上世园游”系统基于Windows Phone手机操作系统,采用ArcGIS for Windows Phone相关开发接口进行开发,借助GPS定位、LBS等技术实现了全面互动、信息共享、资讯传播等功能。软件在实际使用中取得了较好的效果。
参考文献
[1] 刘黎志,陈传波.Windows Phone数据访问技术研究[J].计算机工程与科学,2014,36(9):1623~1628.
[2] 李春旭,刘泽宏.Windows Phone应用程序开发[M].北京:电子工业出版社,2012:13~26.
[3] ADAM D.Windows移动游戏开发实战:使用C#语言[M].北京:清华大学出版社,2012:48~68.
[4] CHARLES P.Windows Phone程序设计:XNA框架[M].北京:电子工业出版社,2012:128~139.
[5] 程国雄,胡世清.基于Silverlight的RIA系统架构与设计模式研究[J].计算机工程与设计,2010,31(8):1706~1709.
[6] 杨彬.基于Windows Phone的交通管理系统的设计与实现[D].江西:江西理工大学,2012,12:8.
[7] Robinson S.Professional C#2ndEdition[M].Wrox Press Inc,2002.
[8] 冯竞立.基于Windows Phone离线公交查询系统的设计与实现[J].计算机光盘软件与应用,2013,14:292~294.
[9] 梁晓松,游雄,王珂珂.面向服务的ArcGIS Server架构研究[J].测绘科学,2009,34(3):89~91.
[10] 王滨,黄永峰,许晓东.基于SOA的应用程序框架研究与实现[J].计算机工程与设计,2006(7):1198~1200.
The Design and Develop of“PIHETS”Based on Windows Phone
Jiao Junchao1,2,Sun Chengmiao1,2,Hu Zhenbiao1,2
(1.Qingdao Geotechnical Investigation And Surveying Research Institute,Qingdao 266032,China; 2.National and Local United Engineering Research Center of Marine and Terrestrial Geographic Information Integration and Application, Qingdao 266032,China)
Abstract:“Pocket International Horticulture Exposition Tour System”mobile client software is developed based on Windows Phone mobile phone operating system.It is designed using SOA concept and comply with the principles of data architecture,management,services and applications of phase separation.Wi-Fi,LBS and GIS technologies are also imbedded in this software.It not only has the basic functions of traditional electronic map,but also focuses on automatic visualization and intelligent experience.Those provide services like query,wizard or decision support.This system is well applied in Qingdao International Horticulture Exposition 2014,which plays a important role in publicity and promotion.
Key words:Windows Phone;GIS;mobile client;tour
文章编号:1672-8262(2015)05-43-04中图分类号:P208.2
文献标识码:A
收稿日期:∗2015—04—21
作者简介:焦俊超(1985—),男,工程师,硕士,研究方向为GIS应用与开发。
基金项目:青岛市城乡建设委员会世园会数字化园区软件应用(GIS)系统总承包项目(X2012-8)