APP下载

基于Google Map API的国界信息发布系统研究

2014-08-25曹一冰华一新文志成

测绘工程 2014年12期
关键词:国界服务器用户

曹一冰,华一新,文志成,姜 波

(1.信息工程大学 地理空间信息学院,河南 郑州 450052;2.61243部队,甘肃 兰州 730020;3.61175部队,江苏 南京 210049)

基于Google Map API的国界信息发布系统研究

曹一冰1,华一新1,文志成2,姜 波3

(1.信息工程大学 地理空间信息学院,河南 郑州 450052;2.61243部队,甘肃 兰州 730020;3.61175部队,江苏 南京 210049)

边界工作是我国外交工作中一项长期而重要的任务,如何实现周边事务的快速标绘、实时共享和制图输出,对于政府决策者以及外交工作人员具有重要意义。然而目前的国界信息系统大多存在地理空间数据更新工作繁重、缺乏实时标注工具和地理事件难以共享等问题,已严重制约了边界工作的顺利开展。地理信息技术的进步与发展为解决上述问题提供了可能。文中采用四层B/S体系结构,在Google地图服务支持下,基于ASP.NET+C#网页开发技术和Ajax技术设计并实现了国界信息发布系统。为政府决策者及外交工作人员实时标注和共享周边信息提供辅助决策支持。实践证明,系统具有良好的可用性和较强的实时性。

Google Map API;国界信息;标注;B/S;Ajax;决策支持

随着我国经济、社会的快速发展,周边事务以及外交活动日益增多,亟需一种既能表达周边位置信息又能反映周边态势变化的信息系统的出现。计算机技术水平的快速提高极大地推动了地理信息服务理论、技术与方法的发展[1],使应用地理信息服务解决国界周边事务标绘、表达与发布成为可能。地理信息服务已从早期以地图为载体的信息传递方式发展到建立在计算机技术、网络技术、空间技术、通讯技术以及地理信息技术等基础上的现代地理信息服务模式[2-5]。

传统的边界地理信息系统由于使用的是C/S结构,不仅适用范围小,还需要同时考虑数据和平台问题。开发时即要购买GIS公司的GIS平台产品又要找地图供应商购买地图产品,费用开销很大,同时存在数据更新工作繁重、缺乏实时标注工具以及多用户地理事件难以共享等问题,极大地制约了边界工作的顺利开展。网络电子地图服务为解决上述问题提供了一种新的途径。目前,各大网络电子地图服务供应商都提供了免费的数据和平台,发布了相关数据接口API,使用非常方便,需要的就是一些开发和集成,使开发者可以快速地将地图嵌入到网站中,并借助地图数据为用户提供位置服务。同时允许开发者利用JavaScript脚本语言进行应用、开发和扩展以添加用户的特殊需求。当然,这些数据和平台都是免费的,任何非营利性网站均可使用[6]。

目前常见的电子地图服务有:Google Map;Yahoo!Map;Microsoft Virtual Earth;百度地图;天地图等。本文通过对以上电子地图服务平台进行分析,并考虑到国界信息发布系统的特殊需求,认为无论在卫星影像的清晰度、API的完整性和地图的覆盖范围等方面,Google Map都是目前最好、最完整的。因此,本文采用Google Map实现了周边事务空间信息标绘与表达、热点信息管理与维护、多用户标注信息共享等功能。最终为边界工作者提供简单易用、实时高效的在线地图标注与共享工具。

1 相关背景及Web技术

1.1 国界信息

国界信息按其内容分主要包括:国界线的基本情况、相关边界口岸的设置情况、国界线周边重点地物信息、未定国界的双方主张线信息、争议区信息和周边突发地理事件等(如地质灾害引起的周边地貌变动、边民冲突、人为事故等);按其标注类型又可分为点状标注、线状标注和面状标注。最终每一条国界信息的几何数据通过标注类型、位置坐标和标注样式存储在tb_plots数据表中,属性数据通过新闻网页的形式存储在tb_news数据表中。

1.2 Google Map API

Google Map是Google公司向全球提供的地图服务,包括地标、线条、形状等信息,提供矢量地图、卫星照片、地形图等3种视图,于2005年在谷歌博客上首次公布,并逐渐将覆盖范围扩大至全球[7],它是一款基于浏览器的免费在线地图工具,其广泛使用对互联网及GIS领域产生了重大影响。Google Map API是谷歌地图的二次开发接口,目前更新至V3版本,开发者可以方便地将谷歌地图数据嵌入到自己的网站中实现个性化应用,添加地标、线条、形状目标或者响应用户的单击事件弹出信息窗口。它提供了两种不同形式的API:Google Map Java Script API和Google Maps API for Flash,本文使用的是Google Map JavaScript API V2。

根据其特性可以将Google Map API分为两个部分:显示特性,包含的对象有GMap2,GPoint,GIcon和GLatLng;其它特性,包括GControl,GMapPane,GMapType和GOverlay。开发者可以使用它们创建自己的控件、标注和地图类型。以下是Google Map API中常见的对象[8]:

1)GMap2:Google Map API的核心类,主要用来创建地图控件和控制地图的基本行为。

2)GControl:它由一组对象组成,包括GLargeMapControl,GMapTypeControl等。

3)GMaker:主要用来指示位置和显示信息。

4)GInfoWindow:使用文本或html显示弹出信息。

5)GPolyline,GPolygon:分别用来在地图上标注线条和形状目标。

1.3 ASP.NET

ASP.NET是微软在.NET Framework框架中提供的用于开发Web应用程序的类库,主要用来创建动态网站、网络应用程序和网络服务,是一种使嵌入网页中的脚本可由因特网服务器执行的服务器端脚本技术,ASP.NET是ASP技术的后继者,允许开发者使用任何支持.NET的语言编写ASP.NET代码[9]。使用它可以方便在客户端和服务器端传送数据,是一种构建Web-GIS的常用技术。

1.4 AJAX

AJAX即Asynchronous JavaScript and XML,指的是一套综合了多项技术的浏览器端网页开发技术[10]。

传统的Web应用允许用户端填写表单,当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页,但这种做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用都需要向服务器发送请求,应用的响应时间依赖于服务器,这就导致了用户界面的响应比本机程序慢得多。

与此不同,AJAX可以仅向服务器发送并取回必须的数据,它使用SOAP或其它一些基于XML的页面服务接口,并在客户端采用JavaScript处理来自服务器的回应。因此在服务器和浏览器之间交换的数据大量减少,提高了服务器的响应速度。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了,能够使Web应用程序更小、更快、更友好。

2 系统体系结构设计

系统体系结构如图1所示。系统使用B/S四层体系结构,每一层在功能上都是独立的,任何一层的更改不会影响其它层的功能,极大地提高了系统的可扩展性[11]。系统从下到上分为数据存储层、数据访问层、业务逻辑层和表示层。

图1 系统体系结构图

数据存储层(Data Storage Layer):主要用来管理数据,执行用户的数据查询、修改、更新和地图服务。包括存储于SQL Server中的用户标注数据、新闻数据、用户数据(统称为国界信息数据)和存储于Google地图服务器的基础地理数据。

数据访问层(Data Access Layer):提供访问国界信息数据和Google地图数据的统一接口,介于数据存储层和业务逻辑层之间。

业务逻辑层(Business Logic Layer):在数据访问层的基础上提供四大类服务,分别是标注服务、新闻服务、用户管理服务和地图服务。它响应来自浏览器的请求,并将其发送到数据访问层,通过统一的数据访问接口将数据转换为数据库能够接收的形式(例如SQL),然后将返回的数据经过逻辑处理转换为HTML和其它的脚本形式给客户端。对于空间数据的操作(显示、缩放等),主要通过使用Google Map API来访问Google地图服务器上的瓦片数据。

表示层(The Presentation Layer):位于客户端浏览器,用户使用浏览器与系统交互和响应,向服务器发送数据请求并将返回的结果进行显示,表现为国界信息发布系统平台。

3 系统详细设计与实现

系统的详细设计主要包括数据库的设计和主要功能模块的设计。

3.1 数据库的设计与实现

系统采用SQL Server数据库,主要用来存储用户数据、标注数据、新闻数据等国界信息数据。当用户标注一个点状、线状或面状目标时,系统通过Google Map地图服务获取标注对象的坐标信息(一个或多个坐标点),然后将其和用户输入的标注标题、描述信息、添加的新闻信息、设置的标注样式添加到tb_plots表中;将新闻标题、新闻内容存储在tb_news表中,标注和新闻通过唯一的GUID关联;当某一用户想要查看其他用户的标注信息时,可以关注其他用户,这样就可以实现地理事件的实时共享,用户的基本信息存储在tb_users表中,tb_users和tb_plots通过用户名关联。系统启动时数据库国界信息数据通过经纬度与Google Map空间数据关联。部分数据库表结构见表1~表3。

表1 用户表tb_users结构图

表2 标注表tb_plots结构图

表3 新闻表tb_news结构图

3.2 主要功能模块的设计与实现

系统按其功能主要分为两个模块,每一模块都包含若干子模块,模块结构如图2所示。

图2 系统主要功能模块结构

3.2.1 注册与登录模块

注册一个新的用户后,会在tb_users表中增加一条记录,此时tb_users中没有任何关注信息(Attention字段为空);tb_plots中没有任何标注信息(没有此用户的标注);tb_news中没有与标注关联的新闻信息。

3.2.2 标注显示模块

用户的标注信息在显示时是以图层的形式进行组织的,每个用户为一个图层。当用户标注完成其所关心的所有国界信息后,标注信息会增加至用户图层中(图3所示为“三沙市”用户标注的是南海区域的国界信息)。用户可以在列表中控制某一图层或某一标注的显示状态,单击左侧列表中的某一标注时,地图会定位到该标注点,并显示标注的描述信息和新闻链接。点击气泡框中的“浏览新闻”链接可以查看与该标注关联的新闻数据,如图4所示。

图3 标注显示功能

图4 标注新闻显示

3.2.3 用户关注模块

通过添加关注用户可以将其他用户的标注信息显示在“好友列表”中,相当于添加了一个用户关注图层,进而实现多用户的实时在线地理信息共享,如图5所示。

图5 用户关注功能

3.2.4 标注查询模块

系统提供“站内搜索”、“Google地图搜索”、“全部”3种搜索模式。“站内搜索”模式通过关键字匹配搜索所有存储在数据库中的标注信息;“Google地图搜索”模式查询Google地图服务器中的标注信息;“全部”模式查询所有的标注信息,同时可以对搜索结果浏览和显示,如图6所示。

图6 标注查询功能

3.2.5 用户标注模块

选择标注的目标类型(点、线、面),通过鼠标交互在地图上标注国界信息,设置标注的标题、描述信息、样式并添加与地理位置相关的属性数据即新闻信息(编辑新闻网页),完成标注的添加,如图7所示。

图7 用户标注功能

3.2.6 后台模块

用来管理用户、新闻和标注信息,实现上述信息的删、改、查以及一些逻辑的处理,如当删除某一用户时,需要同时删除其标注信息以及与标注相关的新闻信息。

4 结束语

国界信息发布系统的设计和应用改变了传统边界地理信息系统组织和管理周边事务数据的方式。由于采用公众地理信息服务平台Google Map,使开发者不用考虑数据更新问题,降低了系统开发和维护成本。系统提供了丰富的标注工具,使用户可以按照需求标注不同的地理事件,同时标注信息的图层化组织有利于不同用户实时在线共享地理事件,较好地满足了政府决策者和边界工作者的业务需求。实践证明,系统具有良好的可用性和较强的实时性。

[1]梁建国,徐占华,夏君.面向服务的空间信息共享机制设计与实现[J].测绘通报,2011(2):56-58.

[2]柳佳佳,葛文.基于本体语义的地理信息服务发现[J].测绘工程,2013,22(6):9-13.

[3]徐永龙,李斌,郭海朋,等.数据字典驱动的地质数据采集系统设计与开发[J].测绘工程,2014,23(10):41-44.

[4]缪鹍,田家凯,唐军军,等.公(铁)路线调数据采集的GIS系统设计与实现[J].测绘工程,2014,23(7):68-71.

[5]郭范春.基础地理信息数据库管理系统的研建[J].测绘工程,2013,22(3):80-82.

[6]丁毅,彭宏.Google Maps API在WebGIS定位中的应用研究[J].杭州电子科技大学学报,2012,32(5):96-99.

[7]PENG FUQUAN,SU JIAN,WANG ZEBING.A City Modeling and Simulation Platform Based on Google map API[C].2010 International Conference on Remote Sensing(ICRS),2010,176-179.

[8]Google Map API[EB/OL].http://code.google.com/intl/en/apis/maps.

[9]R ANDERSON,B FRMCIS.ASP.NET高级编程[M].王毅,杨浩,译.北京:清华大学出版社,2002:2-8.

[10]R ASLESON,N SCHUTTA.Ajax基础教程[M].金灵,译.北京:人民邮电出版社,2006:71-85.

[11]王厂.基于Google Map API的邮政运输调度系统的分析与设计[D].济南:山东大学,2010.

[责任编辑:刘文霞]

Research of borders information distribution system based on Google Map API

CAO Yi-bing1,HUA Yi-xin1,WEN Zhi-cheng2,JIANG Bo3

(1.Institute of Geo-Spatial Information,Information Engineering University,Zhengzhou 450052, China;2.Troops 61243,Lanzhou 730020, China;3.Troops 61175,Nanjing 210049,China)

Border work is a long-term and important task in China’s diplomatic work.How to implement rapid plotting,real-time sharing and mapping surrounding affairs has taken great significance for government policy-makers and diplomatic staff.However,the existing boundary information systems have some problems: of which geospatial data update is heavily workload,plotting tools are in a state of serious lack and geographic events are difficult to share,which phenomenon has seriously hampered the smooth development of the border task.The development of GIS technology, especially the development of Web GIS offers the possibility to solve the above problems. Four layers of B/S architecture are adopted with the support of Google maps service,design and implement the borders information distribution system based on the web development technology of ASP.NET,C#,Ajax.The system can provide a decision support for the government policy-makers as well as diplomatic staff’s real-time plotting and sharing of surrounding information.The practice has proved that the system has good usability and strong real-time.

Google Map API;border information;Plot;B/S;Ajax;decision support

2014-01-16;补充更新日期:2014-11-01

“十二五”国家科技支撑计划资助项目(2012BAK12B02)

曹一冰(1986-),男,博士研究生.

P208

:A

:1006-7949(2014)12-0071-05

猜你喜欢

国界服务器用户
通信控制服务器(CCS)维护终端的设计与实现
快乐不分国界,童心超越时间
美国干涉南海问题的政策发展
中国服务器市场份额出炉
关注用户
得形忘意的服务器标准
关注用户
计算机网络安全服务器入侵与防御
关注用户
如何获取一亿海外用户