| WebGIS技术在内河航道可视化管理中的应用 |
WebGIS指的是基于网络的地理信息系统,与传统PC端的商用GIS软件相比,在开放性、移植性、可扩展性上具有更加突出的优势。从OGC(open geospatial consortium)提出基于XML的空间数据互操作规范,到如今WebGIS广泛用于城市规划、环境探索、土地利用管理[1],地理数据的开放和共享一直是领域关注的热点。现阶段,我国WebGIS研究和应用的重心集中在城市等人类活动密集的陆地区域,对于水域和涉水地理要素的研究基础相对薄弱。因此,利用GIS手段实现航标、渡口等航道要素的空间分布可视化和通用空间分析,是推动航道信息化建设的有效途径。
我国内陆河流航道要素众多,缺乏统一规范,各类航道应用系统之间很难进行高效的数据共享,扩展性较差。内河航道信息化建设存在起步晚、规模小、投入少等问题[2],信息化建设步伐推进缓慢。航道数据存储和维护方面,属性和空间信息分表管理的模式存在诸多问题,采用空间数据库的方式集成两类属性,更符合航道要素组织和管理的可扩展和非结构化的要求。
1 航道要素可视化管理的关键技术航道内涉水要素的可视化管理可从地理数据的预处理、存储和表达这3个角度来研究,具体表现为航道数据分类和脱密,空间对象的组织和存储以及可视化阶段的表达策略。
1.1 航道要素的预处理策略航道要素分类应当参考地理信息分类与编码原则,遵循科学性、系统性、一致性、可扩展性和适用性等原则,保证同层级类目互不交叉,父子类目从属关系明确。
数据加密需要从规范性和安全性出发完成对航道数据的脱密处理。常用的脱密手段有属性脱密和空间信息脱密[3],对于涉密属性的做法一般是直接删除,而空间信息的脱密是采用要素综合移位法和空间位置的精度干扰等方法,保证处理后要素的空间位置精度符合国家安全标准[4]。
1.2 航道要素空间信息存储和管理航道要素的存储本质上是地理实体按照标准规范将属性信息和空间信息整理、录入并存储到数据库的过程。空间信息是反映地理实体分布特征的信息,一般包含坐标位置、几何类型、实体间的空间拓扑关系等。一般可以采用两种方式实现空间信息存储:在关系数据库上进行空间扩展或者通过空间数据引擎的中间件技术[5]。航道系统的重点是对属性数据和空间数据进行集成,综合反映航道涉水要素的空间分布。为了能统一并高效地管理属性和空间信息,本文实验以关系数据库和空间扩展模块组合的方式作为航道数据的管理策略,在这种方案下利用空间数据库的空间字段类型,将要素相关的空间信息组合成一个的Geometry对象,通过参数组合的形式来描述地理要素的空间特征。
现阶段,常用的空间数据库有Oralce Spatial,PostGIS,MySQL Spatial。Oracle Spatial性能高,稳定性好,是重量级数据库,具备强大的空间查询和分析功能;PostGIS是一个开源的空间数据库,是目前功能强大、特性丰富的自由软件数据库系统;MySQL Spatial相比前两个数据库更轻量小巧,使用方便,但它的空间处理能力相对逊色。以Oracle Spatial为例,它是基于Oracle数据库的一个扩展模块,将空间过程和操作直接转移到数据库内核中,拥有用于存储矢量数据、栅格数据和持续拓扑数据的原生数据类型。Oracle Spatial可以在单个数据库实例中实现非结构化、有嵌套关系的空间、属性数据的统一存储[6]。Oracle Spatial内部定义的SDO_Geometry空间字段中包含了地理对象涉及到的大部分空间信息,它由五个参数构成,常见的基础几何类型的参数构成见表 1。
| 表 1 SDO_GEOMETRY的数据结构 Tab.1 Data Structure of SDO_GEOMTRY |
![]() |
1.3 Web端的航道要素可视化管理方案 1.3.1 航道数据可视化管理的基本思路
而地理数据的可视化管理是在电子地图基础上实现要素的属性编辑和空间操作,这些操作以用户为中心,强调地图交互时个性感知、自适应和主动性[7]。
内河航道要素的可视化是综合考虑数据和性能后,以内河航道的专题图以及涉水专题要素为研究内容,围绕航道要素分类、分层、分布以及符号化开展的探索和实践。航道要素的可视化管理在浏览器端的的实现分为地理数据传输、矢量数据符号化和地图交互3个方面。
1.3.2 网络环境下航道数据的传输格式目前浏览器端用于地理空间信息交换和传输的编码格式有很多,比较常见的有KML(Keyhole MarkUp Languague)、GML(Geography Markup Language)和GeoJSON。GeoJSON是一种基于JavaScript对象表示法的地理空间信息数据交换格式, 属于JSON格式的一种,可以直观地组织和描述要素和要素集合。
随着AJAX技术的逐渐流行,XML由于自身格式的限制存在着一定的信息冗余,影响了地理空间数据的传输效率[8]。GeoJSON格式以更加简洁的方式融合空间和属性信息,在数据量大的情况下传输速度的优势更加明显。
1.3.3 地图服务的调用和矢量数据的符号化Google Earth等成熟的WMS(Web Map Service)服务证明了通过预生成的地图切片,可以实现高效的地图静态数据在线映射[9],叠加上自定义的电子航道图和矢量层后可得到航道专题图。
航道要素的符号化设计则需要从已有规范和数据内容综合考虑,通常是采用图标或者基础几何类型来定义样式。对于几何类型的符号而言,需要设置填充色、轮廓色、线宽、几何类型以及标注文字的颜色、字体、字号、偏移量等参数;若是采用图标类型,重点在于提取符合要素特征的信息后再进行符号设计和筛选。
1.3.4 开源服务器和JavaScript库相结合的地图交互在应用程序的开发上,商用的ArcIMS服务器可借助自动化工具快速创建空间数据服务,而GeoServer作为开源的GIS服务器除了操作同样简单外,图层的切片渲染更加具有优势[10]。目前比较流行的开源库有OpenLayers和LeafLet,后者主要是实现交互性好的适用于移动设备的地图,而前者优势在于自定义扩展组件和可视化手段,它采用面向对象设计,支持多种地图服务来源包括天地图、GoogleMap等,也完全支持OGC制定的基于Web服务的空间数据互操作规范。航道系统的专题图涵盖了比例尺、鹰眼图等常见地图元素,基本的地图操作有平移、旋转、缩放;要素层面的交互主要体现在各类矢量图层的要素新增、移除、平移、结点编辑。
2 航道矢量要素可视化管理系统的设计和实现航道可视化管理系统采用MVC三层架构的思想,综合集成了可视化技术、GIS技术和空间数据库技术,具有多源多尺度展示、快速可视化定位和高效空间管理等特点,实现了航道图和涉水矢量图层叠加后的综合可视化管理,整体架构的设计如图 1所示。
![]() |
| 图 1 系统架构图 Fig.1 Flow Chart of System Structure |
2.1 切片地图服务的调用
航道GIS的底图融合了天地图和电子航道图,在整体上融合陆地和水域,在局部突出内河航道的细节。OpenLayers可以组合调用多种公共或者自定义的地图服务并进行叠置,其中这些公共的地图服务通常是作为基础图层,而自定义的航道图是将制图软件配好的地图通过GeoServer发布成WMS服务, 然后在浏览器中通过当前视图范围进行相应地图切片的调用。
2.2 GeoJSON数据的矢量化和符号化本实验航道数据的可视化也是指航道数据矢量化和符号化的过程,并以此为基础进行增、删、改、查以及空间分析等操作。这种方案下,航道要素的符号化过程先要在浏览器端对GeoJSON数据进行解析,然后再对其样式进行设置。OpenLayers解析AJAX返回的GeoJSON数据集时还有一种方法就是将其直接作为图层的数据源,具体代码如下:
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geojson);
在符号设定上,本实验设计样式表的设计模型如图 2,用于存储符号化的参数,如图标路径、大小、填充色,边框色,边框宽度和虚线间距等,然后利用OpenLayes的Style类配置符号参数,定制航道要素的样式。
![]() |
| 图 2 样式设计模型 Fig.2 Style Design Model |
2.3 系统模块设计
本实验中系统模块分为航道专题图展示和控制,数据增删,综合查询,航道要素编辑四个部分。这些功能模块以工具条组织起来,可实现灵活切换,航道可视化管理系统主界面的实际效果图 3。
![]() |
| 图 3 系统主界面 Fig.3 System Main Interface |
航道专题图模块的功能具有通用性,主要包括电子航道图的缩放、平移以及图层控制。剩下的三个模块都集中在对矢量层航道要素的操作,包含了航道数据的组织入库、航道要素的空间查询和图形化的交互编辑等,这些功能也正是航道要素可视化管理的重要内容。
3 结束语本文以航道数据采集、整理、存储、传输、表达为节点,分析和研究了Web环境下航道要素可视化管理所需的关键技术。就航道要素分类和脱密的策略、空间数据的组织存储方案和可视化过程中的数据传输格式、符号化设计模型等角度展开探究。实验部分采用B/S架构,将OpenLayers作为地图可视化的开源框架,GeoJSON作为数据传输格式,将要素分类组织后存储在OracleSpatial中,最后以Apache Tomcat作为应用服务器实现系统发布。实验结果表明本文中提出的航道可视化管理的技术方案具有可行性,数据可视化符合预期效果,对于航道数据的展示和管理满足实际应用需求。
| [1] |
Chaowei Yang, David Wong, Ruixin Yang, et al. Performance-improving Techniques in Web-based GIS[J]. International Journal of Geographical Information Science, 2005, 19(3): 319-342. DOI:10.1080/13658810412331280202 |
| [2] |
宋成果, 郭涛, 李学祥. 我国内河航道信息化发展现状[J]. 水运工程, 2014(12): 20-25. DOI:10.3969/j.issn.1002-4972.2014.12.005 |
| [3] |
徐硕, 彭文, 周冠男, 等. 长江电子航道图航道要素脱密处理方法[J]. 水运工程, 2013(2): 133-136. DOI:10.3969/j.issn.1002-4972.2013.02.030 |
| [4] |
傅宏. 公众版地图地理要素脱密处理方法[J]. 地理空间信息, 2010, 8(4): 133-134. DOI:10.3969/j.issn.1672-4623.2010.04.043 |
| [5] |
雷德龙, 郭殿升, 陈崇成, 等. 基于MongoDB的矢量空间数据云存储与处理系统[J]. 地球信息科学学报, 2014, 16(4): 507-516. |
| [6] |
王云帆. Oracle Spatial空间数据存储管理技术的应用研究[J]. 测绘通报, 2011(6): 76-79. |
| [7] |
徐健, 蔡忠亮, 赵军, 等. 以自我为中心的电子地图空间信息组织与可视化[J]. 测绘地理信息, 2017, 42(1): 73-77. |
| [8] |
陈德权. 基于GeoJSON的WFS实现方式[J]. 测绘科学技术学报, 2011, 28(1): 66-69. DOI:10.3969/j.issn.1673-6338.2011.01.016 |
| [9] |
Sayar Ahmet. Adaptive Proxy Map Server for Efficient vector spatial data rendering[J]. Journal of Applied Remote Sensing, 2013, 7(1). DOI:10.117/1.JRS.7.073498 |
| [10] |
Kulawiak M, Prospathopoulos A, Perivoliotis L, et al. Interactive visualization of marine pollution monitoring and forecasting data via a web-based gis[J]. Comput Geosci, 2010, 36(8): 1069-1080. DOI:10.1016/j.cageo.2010.02.008 |
2018, Vol. 43





