基于Google map API的Mashup专题地图的设计与制作
2012-12-14丁嘉鹏刘鑫夫
李 翔,丁嘉鹏,刘鑫夫
(1.信息工程大学 测绘学院,河南 郑州 450052;2.72946部队,山东 淄博 255000;3.66240部队,北京 100042)
Mashup最初源于流行音乐,是从两首不同的歌曲中混合演唱和乐器的音轨而构成的一首新歌[1]。而如今它作为一种新型的基于 Web的数据集成应用程序正在Internet上逐渐兴起[2]。2005-06-29Google公司发布了自己的应用程序接口(API),任何个人或者单位都可以通过Google公司提供的API来开发自己的地图服务程序。它的出现,令人们在互联网上能够实时、动态、互动地制作和发布各特定用户所需要的专题地图,促进各部门的科研及满足人们的日常需要,因此,研究Mashup专题地图相关技术具有重要的现实意义。
1 地图Mashup
1.1 地图Mashup概念
现今涌现出的Mashup应用大致由以下几类构成:视频图像 Mashup、搜索购物 Mashup、新闻Mashup以及地图Mashup。地图Mashup本质上是建立在GIS、网络等地图平台上,利用地图应用程序接口(API)将大量包含有空间信息(主要是位置信息)的数据集用地图可视化的方式呈现出来,为地图用户提供空间地理信息的共享、互操作和集成等地图服务。同时,通过将地图服务包装成 Web服务,可以在多台不同的机器上部署地图服务以响应客户端的请求,从而将负载分散到不同的计算机上,实现系统的分布式[3-4]。
1.2 地图 Mashup的特点[5]
1)Mashup基于网络这个包罗万象的平台,融合了海量数据,它能够为人们提供各种信息数据和资源;
2)地图Mashup制作比较简单,有一定网页编程能力的操作员都可以制作地图,在网络上的可操作性比较强;
3)地图Mashup的更新速度比较快,现势性远远超过以往的地图;
4)地图Mashup交互性强,用户可以通过客户端进行信息资源的反馈;
5)地图Mashup操作起来简单快捷,“just click on your mouse”就是其地图操作的最好体现。
2 Mashup专题地图的框架设计
2.1 Mashup专题地图设计要求和理念
专题地图是突出而较完备地表示一种或者几种自然或社会经济现象,而使地图内容专门化的地图[6]。专题地图更侧重于表示某个方面的内容,强调的是“个性”特征,有着固定的用图对象。因此,它能够满足科学研究、国民经济和国防建设等方面的各种专门用途的要求。专题地图中的地图要素可以分为2类,即地理基础地图要素和专题要素。
而基于地图API的专题地图主要是利用Web平台上的地图调用完成的,所以地理基础地图要素相对比较齐全,能够很好反映出相应地区境界、植被、交通等地理要素,同时能够进行地图漫游和缩放功能,通过变换地图区域和地图比例尺的方式获取各种形式的专题地图。
专题要素是Mashup专题地图的核心,Mashup地图无论从信息承载能力,还是地图现势性上都要远远优于传统的地图,所以对专题要素及其空间数据需要进行深入的分析和处理。在专题符号的设计上,不仅要在视觉上更加美观,而且要从传统的静态符号转换为挂接着大量信息数据的动态符号。无论是点状、线状还是面状符号都在表达和传递地图信息时,更要注意如何能使整体的符号随数据“动”起来,使符号负载了具有一定走向和趋势的指向性决策地图信息。另外,符号的表示更要体现出个性化风格,不仅可以使用软件制作个性化的符号,更可以通过网络的交互功能共享不同人群制作的各种特色的符号,让地图更加“大众化”,使更多的人去接触地图、认知地图、使用和改造地图。
2.2 基于Google map API的Mashup专题地图框架设计
2.2.1 Google map API的调用
地图API是一种通过JavaScript(或者其他编程语言)将网站上的地图嵌入到自己网页的应用程序接口[7]。它基于标准的Internet协议提供功能服务,应用系统可以很容易地通过标准协议访问该功能。它提供了处理地图和向地图添加内容的功能服务,让人们能够在自己的网站上创建功能全面的地图应用。一般常用的地图API主要有:Google地图API、百度地图API、51地图API等等。其调用地图流程如图1所示。
图1 Google map API调用流程
利用地图API创建并初始化Web地图后,就需要构建基于API地图服务的Mashup专题地图具体框架。本文是通过网站的形式来发布Mashup专题地图的,所以需要在网站上实现地图功能的同时,也要表达出专题地图的信息。具体要完成的几个地图功能有:数据的导入、地图操作、符号设计、信息查询、数据挂接和人机交互。其中地图操作、信息查询在使用地图API的时候,可调用地图控件完成相应功能。例如地图的漫游缩放可以通过标尺控件的拉动实现不同比例尺的切换,信息查询可用查询条控件完成查询以及标注目标的功能。而需要Mashup完成的服务主要有数据的融合、专题符号设计、动态数据的挂接以及人机的交互。
2.2.2 多源数据的整合处理
由于采集到专题地图要素的数据是多种多样的,而且这些数据不只是图表、文字等传统地图上单调的符号说明,动态的视频数据和音频数据等超媒体也可以添加到Mashup专题地图当中,在制图信息的基础上用可视化的方法为用户提供更为直观的信息服务。这些数据大致分为2个部分,一是本地基础数据库中的数据;二是基于Web平台的外部数据库,包括各种 Web服务、API和服务器站点等。但是这两者之间无论是数据格式还是数据接口上都有着不小的差异,而且表达信息也不完全一致。这需要地图开发者进行人工的数据整理和筛选[8]。
2.2.3 专题符号的设计
本文设计的方案主要是利用各种绘图软件,对各种数据进行分析后,根据实际情况进行数据的有效取舍,然后将取舍后的有效数据进行可视化分析和数据模拟,得到更加直观的图表信息作为专题要素反馈给该网站的链接用户。通过Excel、Illustrator、Photoshop和matlab等软件,可以很轻松将各种数据以图表的形式表示出来,例如GDP柱状图、收入比重饼图以及房价走势曲线图。这样使Web平台的共享资源得到了充分的利用,也能通过本地数据对其进行校正和检验,在数据的完整性、现势性上比起传统地图有了很大的提高,同时准确性也有了一定的保障。
2.2.4 信息查询和空间分析
信息查询和空间分析功能是Mashup专题地图的GIS功能的主要体现。当输入一定的查询内容之后,地图API就根据服务器数据库中的数据信息,将带有关键内容的查询结果全部显示给用户。同时地图上也会显示出这些具体位置的标记,点击这些标记可以进一步获取更加详细的信息。
2.2.5 动态数据的挂接
数据挂接功能的实现很好地解决了静态数据的问题,使Mashup专题地图真正地“动”了起来。通过JavaScript语言编程,可以很方便将一些数据信息和注记符号链接起来。需要注意的是这里的数据大都来自于不同的数据网站,是通过Web平台来共享这些网络信息的,当然也可以将这些信息下载到本地上去。尤其是在地图的现势性和更新效率上有了质的飞跃,改变以往“静而不动”的地图特点。这种动态的数据符号更符合当今快节奏的现实生活,能够很好地满足人们对实时数据的需求。
2.2.6 交互功能的设计
最后是人机交互功能的设计。而地图Mashup可以通过用户对地图标记功能、信息反馈功能和地图服务的调用完成在客户端与Mashup主服务器的交互操作[9]。在专题要素中利用用户可以通过设计的注记符号标注任何自己感兴趣的目标,而这些目标都会记忆在Mashup网站的统计数据库中,通过这些信息,开发者就能很好地去了解人们的大致欣赏品味、审美观念和兴趣爱好的共鸣之处,并设计出相应专题要素信息,供用户参阅和查询,以满足绝大多数用户的需求。每个用户的不同标记都会反馈给开发者以不同的设计和制作理念,同时用户也可以在图上进行自己的专题要素标记设计和数据信息的补充,从而不断地去完善地图Mashup的数据库系统。
本文设计的基于Google map API的Mashup专题地图框架结构如图2所示。
图2 基于Google map API的Mashup专题地图的框架结构
3 基于Google map API Mashup专题地图的制作实例
本文根据上述框架实现了郑州市区和经济形势有关的Mashup功能的地图显示,并将这些地图发布在一个专题网站上,供用户查询使用。该Mashup专题地图主要从郑州市各个县区的GDP、房价走势、房产信息、旅游景点、旅游客流量、酒店住宿信息以及交通运量等几个方面进行了数据的收集、筛选整理、分析,并通过Excel、Illustrator等软件进行了数据的模拟,完成了相关的图标和专题符号设计,实现综合性的Mashup功能,并在服务器端和客户端进行发布和使用。本文设计的Mashup专题地图显示如图3、图4所示。
部分代码如下:
4 Mashup专题地图的挑战和机遇
4.1 Mashup专题地图面临的挑战
1)由于Mashup专题地图的多种优点,对传统地图有了很大的冲击,但是地图Mashup尚处在一个萌芽阶段,各个方面还都不够完善。内容供应者也只是刚刚开始看到为基于机器的内容访问提供API的价值所在,安全问题并未得到足够的重视。用户的敏感隐私数据方面以及一些多维参数的隐私保护空间,需要可用于识别验证用户身份和相应的保护策略、允许访问操作等。
2)地图Mashup专题地图中数据的融合是一个关键,但是由于各种数据格式和接口都不完全相同,这造成了Mashup数据集成方面充满挑战,主要是语义和数据的质量。一方面是缺少数据和数据映射不完整;另一方面,数据并不适合进行机器自动化处理,还有由于获取数据必须采用屏幕抓取技术而引起的数据污染问题。
此外,Mashup专题地图的设计目标是让普通用户能够开发自己的Mashup地图应用,但是现有的Mashup开发工具仍然需要具有一定专业知识的人员才能进行无障碍的开发[10]。
4.2 Mashup专题地图带来的机遇
Mashup技术兴起的如今,具有更多更广泛功能的Mashup专题地图越来越受到人们的青睐。首先,不论是从地图功能的实现上,还是信息数据的地图表达上,Mashup专题地图都有了天然的优势特点,这对专题地图的发展是一个极大的促进作用;其次,Mashup专题地图有丰富的资源信息量,更令人眼前一亮的就是视频和音频等超媒体数据也将作为一种新的专题要素添加到地图当中。最后,Mashup在Web平台上的“大众化”地图体验是地图学发展的一个不错的开端,它令更多的用户参与到具体地图的更新与维护当中,给地图学以更大的发展空间。
5 结束语
基于Google map API的Mashup专题地图是一种比较典型的共享资源的二次开发,它拥有巨大的挖掘潜力,其在各行各业中的广泛应用以及针对不同部门中内容的专业性和针对性,再加上有互联网络这个资源平台,令其在地图信息承载量和现势性方面上有了质的飞跃,具有很广阔的发展前景。
[1]秦灵伶,王文东,贾霞,等.Mashup技术及其发展趋势[J].电信科学,2009(9):80-86.
[2]Jackson C,Wang H.Subspace:Secure cross-domain communication for web Mashups[C].Proceedings of the 16th International Conference on World Wide Web WWW’07.New York:ACM,2007:611-620.
[3]龙明,汶博,李晓刚.基于Web Service的Web地图服务设计与实践[J].测绘技术学报,2007,12(24):56-58.
[4]高永兵,吴纪磊,胡文江,等.基于 Web服务的 Mashup应用的研究与实现[J].计算机技术与发展,2010,20(6):137-140.
[5]龙岳红.地图Mashup的研究与实现[D].长沙:中南大学,2008.
[6]刘万青,刘咏梅,袁堪省.数字专题地图[M].北京:科学出版社,2007.
[7]桂智明,晏磊.基于XML Web Service体系的网络地图服务[J].测绘通报,2003(1):53-55.
[8]戴兵.基于Google Maps API的校园地图设计[J].电脑知识与技术,2008(2):184-185.
[9]李峰,李春旺.Mashup关键技术研究[J].现代图书情报技术,2009(1):44-49.