三维海岛信息查询系统的设计与实现
2014-03-27尹鹿英
尹鹿英,樊 红,冯 浩,赵 锐
(1. 中国电信 陕西公司 信息技术支撑中心,陕西 西安710065;2.武汉大学 测绘遥感信息工程国家重点实验室,湖北 武汉 430079)
浙江省舟山市位于我国东南沿海,全市包含岛屿1 390个,“港、景、渔”是舟山最大的海洋特色资源。综合考虑舟山海岛建设的信息化需求,舟山市民政局地名委员会办公室决定建设“舟山市海岛信息查询系统”,对舟山海岛的地理数据与专题数据进行一体化组织和管理。本文总结了舟山市海岛信息查询系统的设计与开发经验,详细地介绍了该系统的设计、实现方法、关键技术等。
1 系统设计
1.1 数据及其组织
系统使用的数据包括地理数据和专题数据。地理数据包括矢量数据、影像数据以及DEM数据,主要是为系统的三维影像显示及地图矢量查询提供数据支持,如表1所示。专题数据包括兴趣点数据,如海岛汇总数据和兴趣点数据,专题数据名称为海岛,属性含名称、类别、坐标、文字目录、图片目录、音像目录6项。
表1 地图数据
1.2 功能设计
系统将通过三维地图浏览模块、信息查询模块以及海岛专题模块等,实现下列功能:
1)三维地图浏览模块,包括三维地图漫游、放大、缩小、长度量算、面积量算等基本功能。
2)信息查询模块,提供"鼠标点击查询"和"基于关键字查询"两种查询手段。前者支持用户点击查询兴趣点信息,后者支持用户通过输入关键字查询感兴趣的内容。它还支持模糊查询、周边查询等功能。
3)海岛专题模块,包括海岛专题信息浏览和专题数据更新两部分。前者支持用户浏览海岛的文字、图片、视频等信息,后者支持管理员添加、修改、删除海岛专题数据。
2 系统实现及关键技术
2.1 系统架构
系统采用B/S(浏览器/服务器)架构。服务器端包括:①Web服务器,接收客户端请求并转发给应用程序服务器,随后将应用程序服务器的处理结果发送给客户端。②应用程序服务器与GeoGlobe服务器、专题服务器一起组成逻辑上的业务层。应用程序服务器通过调用GeoGlobe服务器与专题服务器中提供的服务来处理Web服务器转发的用户请求,并将处理结果发送给Web服务器;GeoGlobe[1]服务器提供地图数据服务、查询服务、空间分析服务;专题服务器提供专题数据服务、专题数据查询服务。③数据库服务器相当于逻辑上的数据层,负责存储和管理系统中所需的数据。系统的客户端是Internet浏览器,相当于逻辑上的表示层,提供了人机交互功能,如图1。
2.2 开发的平台及技术
本文使用Microsoft .NET平台以及武汉大学自主研发的GeoGlobe完成整个系统的开发。具体使用的技术包括:.NET Web服务技术,实现数据相关的服务;ASP.NET与JavaScript技术,实现网站开发;GeoGlobe三维可视化插件,实现客户端地图三维浏览;GeoGlobe地图数据与目录服务发布工具,用于发布地图数据服务及目录服务;SQL Server 2008数据库管理系统,管理海岛专题数据。
图1 系统架构
2.3 瓦片金字塔技术
本文采用瓦片金字塔模型来组织影像、矢量、地名、DEM等数据。具体方法如下:全球经度范围[-180,180],纬度范围[-90,90],将第0层划分为5行10列共50个36°×36°瓦片;在第1层中,将第0层中36°×36°的瓦片剖分为4个18°×18°瓦片,形成10行20列共200个瓦片;依此类推。其中,瓦片行列号的编码方法为从左到右、从下至上,即左下角的瓦片编号为(0,0),右上角的瓦片编号为(5×2n-1,10×2n-1)。本文基于目录的方法管理这些数据,如图2。
图2 影像瓦片的目录格式
2.4 影像瓦片服务
本文采用Web服务的方式向应用程序提供瓦片形式的数据服务。影像瓦片服务请求格式为:http://localhost /MapDataService/GetTile.ashx?T=datasetName&L=levelNum&X=colNum&Y =rowNum,其中,问号之前的部分为影像瓦片服务URL,后面是请求的参数对,T表示请求的数据集,L表示请求的是数据集的哪一层,X表示请求的瓦片列号,Y表示请求的瓦片行号。
2.5 专题服务和专题查询
专题服务包含专题数据服务、专题查询服务等,其实现方法类似,都是先解析用户请求参数,再查询数据库获得相关数据,最后以xml形式向用户返回结果。此处以专题查询服务中的普通查询为例,介绍专题服务的实现方法。
普通查询服务定义了QueryType(查询类型,普通查询时值为normal)、Category(兴趣点类型,如学校、海岛等)、KeyWord(查询关键字,可多个)。当查询名称中包含"寺"时,发送的数据请求为:"http://localhost/NormalThematicQuery.ashx?QueryType=normal& Category = 寺庙&name=寺"。问号之前的内容为普通查询服务URL,返回结果中包含了符合条件的兴趣点名称、类型以及经纬度坐标,如图3。查询结果经过解析后,兴趣点会标绘在GeoGlobe上,以便用户定位。
图3 普通查询服务返回结果
2.6 三维地图浏览技术
三维地图浏览功能是通过在网页中嵌入GeoGlobe三维可视化AcitveX插件实现的。本文在GeoGlobe中定义了一些接口及事件,包括:属性接口,控制三维地图的显示;地图操作工具接口,实现地图的操作;地图标注接口,定义在地图上添加、修改和删除标注的操作;鼠标单击事件,当单击插件中某一位置时,会计算该点的地理坐标,并触发鼠标单击事件且事件参数为该点的地理坐标。利用JavaScript脚本语言调用该插件的接口和响应该插件的事件,可以实现三维漫游、空间量算、地图标注等一系列功能。
2.7 网站的动态配置和维护
本文采用xml文件来配置网站,将需要动态改变的信息写入xml文件,程序运行时读取并使用xml中的内容即可。当用户需要更新上述信息时,只需改变对应xml文件中的内容,不必改动程序。本文将专题服务的地址写入专题服务配置xml文件,程序运行时,读取该xml文件获得专题服务的地址,也可以在该xml文件中改变专题服务的地址(图4)。
图4 网站专题服务地址配置示例
3 系统运行效果
目前,系统已通过验收并交付使用,运行状况良好。该系统全面直观地反映了舟山诸岛的现状,为舟山市政府各部门提供了基础地理信息服务,有利于有关部门掌握舟山海岛的基本情况,进而为海岛建设提供有力的决策工具。
[1]李德仁,龚健雅,朱庆,等.GeoStar ——中国人为“数字地球”设计的GIS 软件[J].遥感信息,2000,58:37-41
[2]蔡磊,龚健雅.分布式海量多源空间数据的组织与网络可视化[J]. 测绘信息与工程,2009(6):28-30
[3]张书亮,陶陶.地理信息共享与互操作框架研究[J].测绘科学,2004(6):58-61
[4]朱铁稳,陈宏盛,景宁.开发地理数据互操作规范综述[J].计算机科学,2001(7):12-15
[5]OpenGIS Web Map Service (WMS) Implementation Specification [EB/OL]. http://www.opengeospatial.org/standards/wms,2006-04-02
[6]OpenGIS Web Feature Service (WFS) Implementation Specification [EB/OL]. http://www.opengeospatial.org/standards/wfs/,2004-09-04
[7]Web Coverage Service (WCS) Implementation Standard [EB/OL].http://www.opengeospatial.org/standards/wcs,2007-06-07