毕金强,辛全波,许家帅,尚东方, 寇黎瑛
(交通运输部天津水运工程科学研究所,天津 300456)
随着航道通航条件的逐步完善,航道内船舶密度、流量日益增大,对航道信息掌握不充分导致的船舶碰撞频繁发生。同时,船舶日渐大型化、专业化、现代化,也对通航安全环境提出了更高的要求。船舶通航安全在保障交通运输和生命财产安全等方面具有重要作用,已成为水运交通领域重点关注的问题。
影响船舶通航安全因素包括水文气象、港口条件、航道条件、交通、水上水下施工作业等方面[1],可以结合航道中的航标信息、船舶信息、气象信息和港口设施信息等数据进行可视化方式展现。近年来,国内外学者在保障船舶通航安全方面做了大量卓有成效的研究工作。国外的Ternes等[2]建设了基于三维模型数据的航道可视化原型系统辅助船舶通航,Arsenault等[3]构建了连续的三维水深模型实现与航道信息和潮流信息的融合显示,Kreuseler[4]提出了二、三维地图场景下的多维度空间信息的绘制交互技术和可视化方法。国内的李邵喜等[5]提出一种基于三维的内河航道动态监控系统架构;江文萍等[6]采用三维可视化技术与GIS技术将基础地理信息、水深专题等数据引入航道管理系统;李彩霞等[7]提出了一种基于SOA并融合AIS的数字航道可视化框架,提供了数字航道可视化方案。同时三维可视化软件如Skyline、ArcGIS、WorldWind、SuperMap等和相关团队自主研发的三维平台在航道数据组织和可视化方面的应用,实现了航道数据管理与动态三维可视化的效果。相关领域的大量研究成果对船舶安全通航数据管理和可视化具有支撑作用。
通航安全的影响因素可通过不同层面的GIS数据进行分析并展示出来,但航道GIS数据资源之间存在语义独立性和异构性,且存储方式不同,给数据组织管理带来一定的困难,如何高效地对航道通航数据进行统一组织存储管理,并对航道要素的分布情况及变化规律进行可视化表达,是本文的重点研究内容。在分析航道时空数据特点与结构的基础上,本文提出了采用基于XML的分布式数据存储方法,实现空间和时间维度数据的可视化表达。
航道通航数据具有多源现势性的特点,通过实时监测等手段获取的航道水深、岸线、水文(流速、流量、泥沙)等相关要素数据,从内容上归纳为基础地形数据、航道设施数据、水深测量数据、水文观测数据四大组成部分,如表1所示。
表1 航道数据要素分类表Table 1 Classification of data elements in channel
在分析航道要素分类的基础上,表中数据可划分为空间和时间两个维度,在空间维度上按照水上、水面、水下层次结构来组织三维场景,在时间维度上按照要素的数据类型与分布情况进行插值运算并模拟其时态变化特征。GIS理论中的时空数据模型是一种有效组织和管理时态地理数据属性、空间和时间语义的地理数据模型[8],提供了航道通航时空数据组织思路,通过集成属性信息实现多源异构数据的无缝集成,可将航道地理实体或现象抽象为对象和特征,进一步模拟数据的空间时序性。因此,构建航道信息时空一体化数据组织模型是本文数据存储与可视化表达的基础。
航道通航GIS数据信息在时间维度、空间维度以及存储方式各不相同,信息描述数据也不一样,解决数据组织的关键是分析元数据的内容。元数据是关于数据的数据,可以用于描述航道GIS信息的内容、结构和访问方式等。元数据的使用能够在一定程度上消除数据资源之间的语义独立性和异构性,帮助实现数据资源的整合和交换。本文使用的航道通航GIS数据的元数据采用核心元数据,即根据本文数据组织与可视化表达提取必要的元数据元素,包括数据的来源信息、标识信息、内容信息和空间参考信息等,每一项节点包含相应的信息。按照数据提供、管理和使用的层面将元数据统一进行管理,实现元数据信息的查询和返回,流程如图1所示。
图1 元数据管理流程图Fig.1 Metadata management process
分析本文元数据结构,归纳为一种是基于场景模型的数据,可按照规则化的函数展现航道空间分布特征,如基础地形、航道设施数据;另一种是基于对象特征模型的数据,以有序点集的属性信息来模拟展示航道要素信息,如水深测量、水文观测数据。数据组织的前提条件是建立标准格式的模型,场景模型数据需要大量的存储空间,对象数据结构复杂,为了提高数据的管理和检索效率,减少数据查询获取的时间,本文在元数据提取的基础上采用基于XML的分布式数据组织存储方法。XML支持深层次嵌套表达和具有树型存储结构的优点,利用XML的结构性特点,提取数据检索语义特征,将元数据的数据来源、数据类型、信息内容、结构和访问方式等内容进行XML文档组织,通过映射关系将 XML 文档转换为关系表存储在关系数据库中,按照文件数据和关系型数据库分布式存储场景模型和对象模型数据,如图2所示。用户发送检索请求,传递到数据库进行解析匹配查询,按照结构特征将结果进行处理并返回,该方法可保证随时间的推移数据累积更新时模型的再利用。
图2 数据组织分布图Fig.2 Data organization distribution
按照数据组织模型实现航道通航时空GIS数据的管理,但数据的来源与采集方式不同,不同类型和比例尺多源数据的融合叠加显示,多源异构数据空间坐标系统和投影方式也各不相同,需要建立统一的空间参考坐标系。文中航道DEM数据、遥感影像数据、多波束水深测量数据采用WGS84坐标系统,考虑与船舶AIS(automatic identification system)坐标保持一致的因素,采用WGS84坐标系统来建立地理坐标系。空间参考的因素包括坐标系统、容限值和分辨率三个方面,容限值代表数据坐标的存储精度,分辨率代表坐标值的最小单位长度。统一空间参考系统解决了多源异构数据融合显示的问题,提高了数据的可视效果与精度。
航道通航GIS数据的可视化根据数据要素的不同,采用分层、分块和LOD场景组织与调度技术[9-10],三维建模技术以及水深场景构建与表面分析技术,建立统一空间参考的航道水上、水面、水下地形场景数据组织模型;通过离散观测数据插值和面向过程的数值模拟技术,实现航道水文要素的时态特征变化显示;在此基础上基于地理位置关联性与属性信息构建时空一体化数据组织模型,进行动态可视化表达与应用,如图3所示。
图3 数据可视化表达Fig.3 Data visualization
在数据可视化表达过程中需解决以下两个问题:
(1)航道三维场景无缝集成的问题。同一场景中航道地形场景与设施实体三维模型场景是多尺度的,在几何实体模型同时跨越不同尺度层次的情况下,与起伏的地形场景存在空间位置上的分离,如发生倾斜和偏离等。
(2)航道水文数值模拟点稀疏的问题。观测数据点呈离散分布的特征,在水文矢量场数据组织和表达时需采用剖分和插值技术满足数值模拟的精细化要求。
空间维度数据组织按照水上、水面、水下层次结构进行场景组织数据。水上地形场景将遥感影像数据、纹理数据与DEM数据进行集成、融合和叠加等输出为地形场景文件,水面场景利用三维建模软件将航道设施数据生成模型文件,水下场景采用多波束水深测量数据构建航道底部场景。
3.1.1 地形场景数据可视化
为解决地形场景几何复杂度高、纹理数据庞大等可视化表达的难点,在不影响地形浏览真实感的前提下,基于GPU地形绘制算法和视点相关地形生成算法[11-12],采用模型层次简化技术,降低地形数据的几何复杂度和纹理数据的大小,采用分层、分块LOD技术进行数据组织提高地形数据的绘制速度,实现多分辨率地形的自适应无缝表达,构建主要过程如下:
(1)基于视相关原理,采用二进制小波变换和其逆变换对原始数据进行重建,产生的结果数据集作为基本数据模型[13],如图4a所示;
(2)将影像、纹理数据叠加到重建的三角网上构建地形,展现航道基础地貌特征,如图4b所示;
(3)采用分层、分块LOD技术进行数据的组织,以重建的基本数据模型为基础通过重采样生成不同比例尺的各层地形数据,以相同大小的多个切片文件进行保存。
图4 地形场景构建Fig.4 Construction of the terrain scene
3.1.2 三维模型数据无缝集成
三维几何实体模型包括航道构筑物、碍航物、航标设施模型等,建模方法包括两种方式,一是通过3dMax三维建模软件生成模型文件,通过坐标赋值匹配到场景中;二是在地形模型场景中直接建模。考虑模型的复用性和建模的工作量,采用第一种方法建设。航道地形场景与设施实体三维模型场景是多尺度的,在几何实体模型同时跨越不同尺度层次的情况下,与起伏的地形场景存在空间位置上的分离。在模型中增加坐标维属性(X经度,Y纬度,Z高程值,L层次)来表示模型数据的空间变化,使坐标维定义层次与地形场景层次结构相同,计算高程值并附加到模型属性中,主要过程如下:
(1)将3D模型场景坐标系与航道地形场景的三维坐标系保持一致;
(2)按照地形的分层结构扩充模型坐标维属性;
(3)计算高程值,对于以点来存储的模型,采用设施点的高程值代表模型的高程叠加在地形场景中;对于以线来存储的模型,将线状实体的各拐点与水平基准面相交分析求出的高程值分别作为实体模型底端的高程值;对于以面来存储的模型,与水平基准面接触的网格模型空间相交分析计算得出高程,使模型与地形保持水平。
按照上述步骤组织解决了三维模型数据与地形场景数据的无缝集成显示的问题。
3.1.3 水深测量数据场景可视化
航道水深是指航道范围内从水面到底部的垂直距离,就局部区段而言,通常指航道内最浅处从水面到底部的垂直距离[14]。文中采用航道多波束测深系统采集得到高精度的水深测量数据值,按照矢量数据点集的组织方式生成TIN(triangulated irregular network)表面模型,基于点的高程值转换成DEM数据,构建水下地形场景,如图5所示。
图5 水下航道地形场景构建Fig.5 Construction of the underwater channel terrain scene
航道水文观测资料作为水文预报的依据,水文要素中的水位、流向、流速、流量信息对船舶通航起关键作用,数据具有典型的时间序列特征。文中采用的水文观测散点值数据按照时间序列组织,具有连续场空间分布的特征。顾及局部特性的自适应反距离权重插值法[15]和采用动态时间弯曲距离算法对水文数据进行聚类[16]等方法,解决了3D矢量场插值中参考数据不足和监测点稀疏的问题,要完整表达水文要素的属性、分布和动态演化规律,首先基于观测点沿航道面水平和垂直方向建立剖分面,使观测的离散点数据能够反映场空间特征,采用二次曲面拟合和克里金插值[17-18]相结合的方法生成规则连续的格网,进行属性的赋值和颜色渲染,生成航道水文要素切片数据,从垂直方向显示其特征,如图6所示。
图6 剖分切片效果图Fig.6 The diagram of mesh grid
基于剖分与插值技术构建的水文三维场数据既具有地理空间位置特征,又具有时间序列的特征。应用粒子模型[19-20]展示航道水文要素随时间的模拟变化规律,从水平方向显示其特征,如图7所示。
图7 水文流速流向模拟图Fig.7 The flow rate and direction diagram of hydrology
本文选取长江上游航道段,基于表1数据运用XML数据模型[21]和PostgreSQL开源空间数据库实现了数据的组织管理与存储[22],运用数据层、业务逻辑层和展现层三层技术架构,采用OpenGL[23]三维图形库对OSG[24]开源平台中的三维可视化模块进行拓展,开发三维航道船舶通航定位与监控模拟系统,建立了航段及周边地貌仿真模型,生成了航道底部地形和具有水深属性的水体信息,模拟了航道水文变化规律,实现了空间、时间、属性一体化三维地形表达、三维动态漫游和多种水文要素的三维真实感模拟和动态可视化,主界面如图8所示。
图8 系统主界面Fig.8 The main interface of the system
系统成功应用于长江上游航道区段,满足海事监管与航道安全应急方面的需求,结合船舶通航中船舶的位置信息,将AIS基站中的实时船舶数据接入到系统中,集成河段的水文信息、实测水下地形等数据,开发系统功能展示不同层次的三维数据场景,为船舶通航提供直观可视的数据支撑。如图9a展示航道水上空间维度数据的无缝集成,图9b展示航道水下场景的数值模拟,图9c展示船舶所在位置的航道剖面图,实时掌握航道底部水深状况。
图9 系统应用效果图Fig.9 The application effect of the system
本文在分析元数据的基础上采用XML分布式空间数据存储方法构建了数据组织模型,实现元数据资源的整合,对多源异构性和时序性数据进行处理和优化存储,通过可视化技术实现数据的展现,为航道通航时空数据提供了一种科学的数据组织方法,可以满足航道数据类型的扩充存储。通过系统的实际应用,验证了方法的可行性和正确性,实现了航道区段时空数据的展示。下一步工作将针对航道海量数据的调度策略和场景渲染技术做进一步优化和研究。