论文专区┃矢量海图通告改正自动处理方法研究
【编者按:文章在分析了国内外矢量海图通告改正技术现状的基础上,重点研究了实现矢量海图通告改正所必需的通告符号与海图要素自动转换、改正位置自动计算、改正要素自动匹配等自动处理方法,并举例说明了矢量海图通告改正的自动处理过程。本文发表在《海洋测绘》2012年第1期上,结合实例说明了实现VCF矢量海图通告改正的过程,现提供给朋友们阅读了解。因为排版关系,文献序号略。崔洪生,1964年出生,男,山东烟台人,高级工程师,主要从事海图生产技术与方法研究。】
文/ 崔洪生 刘国辉 魏丽君
一、引言
海图是以海洋为描述对象的地图。海图的空间信息时刻处于变化之中,如航标性质发生改变、船舶触礁沉没等。若这些变化信息不及时改正到已出版的海图上,将会危及船舶的航行安全。为此,许多沿海国家都定期发布《航海通告》,为其所发行的海图提供持续改正服务。
矢量海图作为现代航海技术的基础撑平台,同样也需耍进行通告改正。但与纸质海图不同,矢量海图的通告改止需耍修改空间数据、属性数据、拓扑关系数据等,是一个涉及数字制图、数据分析与处理、投影计算等复杂的操作过程。另外,由于海图是以图幅为单位、按照航海通告每周进行一次改正,与地图更新存在着较大差异,所以二者在更新技术与方法上很难相互借鉴。因此,为实现利用计算机技术提高矢量海图的通告改正效率,本文对矢量海图通告改正自动处理方法进行了深入的研究。
二、国内外矢量海图通告改正现状
⒈ 国内现状
国内海图用户所使用的矢量海图,除了官方提供的VCF格式海图以外,还包括由衍生的各种其他格式矢量海图。但是针对这些矢量海图,至今尚未提供有效的数字式海图通告改正服务。目前国内只有为数不多的数字海图用户,做到在其所开发的电子海图应用系统中,利用纸质航海通告提供的改正信息,以手工输入和人机交互方式十分低效地完成矢量海图的通告改正作业,对于大部分的普通数字海图用户,则由于技术或其他方面的原因,而无法进行矢量海图通告改正作业。
⒉ 国外现状
目前,许多国家、组织和公司,如美国、英国、国际海道测量组织(IHO)、C-MAP、船商(TRANSA)等,已经基于服务器/客户端建立了矢量海图通告自动更新模式,为用户提供方便快捷的海图通告改正服务。其基本思想是:海图生产部门称为服务器端,依据航海通告以人机交互方式改正矢量海图,并自动生成含有改正信息的更新包;用户称为客户端,通过下载更新包,实现矢量海图的自动更新。例如,在S-57生产体系下,数据生产者根据每期航海通告或其他信息源,利用软件系统(如dKait office)对S-57 ENC的记录、字段和子字段进行修订,而后提取所有被修改的记录制作ER文件,通过ER文件更新用户端的ENC,而无需重新发布整个数据集。即便如此,国外自动通告改正模式仍然需要在服务器端交互改正矢量海图,为提高效率仍需研究通告改正的自动处理方法。
三、矢量海图通告改正自动处理技术
⒈ 通告符号与海图要素的自动转换
显然,纸质航海通告无法为矢量海图(如VCF格式海图和S-57 ENC)的通告改正提供结构化通告数据。但由于航海通告已实现了数字化生产,作为重要基础的航海通告数据库是由元数据表、变化要素表和改正海图表构成,可提供点、线、面三种类型的结构化通告数据。
在航海通告数据库中,点状通告数据包含一个主体符号和多个属性符号,数据库存储的是CDC体系下的六位编码。例如,通告符号“
由于航海通告和S-57模型对地理实体的描述方式差异较大,难以直接实现通告符号与特征物标的自动转换。而本文首先将通告符号自动转换成VCF海图要素,然后通过VCF与S-57编码转换对照表,将VCF海图要素转换成S-57特征物标,间接实现了S-57标准下通告符号向特征物标的自动转换。
⒉ 改正位置的自动计算
航海通告以地理坐标描述改正要素的位置,而矢量海图存储的是要素的本图坐标。无论插人还是删除改正要素,均需根据地理坐标计算改正要素在海图中的位置,即解决地球椭球面到海图平面的投影换算问题。目前,绝大多数的海图采用墨卡托投影,所以改正位置的自动计算方法是:根据墨卡托投影正解公式,将改正要素的地理坐标(B,L)换算成实地坐标(X,Y);原点(Bo,Do),即图廓左下角点,换算成(Xo,Yo);最后改正要素的本图坐标为(Dx,Dy),Dx=(X-Xo)/Blc ,Dy=( Y-Yo ) /Blc,Blc为比例尺分母。
⒊ 改正要素的自动匹配
航海通告所描述的要素或物标修改方式,包括插入、删除、移位和变更四种类型。除了插入以外,其余方式均需在矢量海图中查找待改正的要素。本文通过自动匹配法实现了改正要素的自动查找,具体分为几何要素的自动匹配、属性数据的自动匹配和拓扑关系数据的自动匹配等。
⑴几何要素的自动匹配
根据通告的年份、期号、项号,从通告数据库中读取改正要素的地理坐标及符号、注记等属性信息,通过先比对点位、再比对属性的方法实现自动匹配。具体步骤是:①根据符号解析出改正要素的类别,如助航设备、碍航物、近海设施等,以及点、线、面几何特征;②将改正要素的地理坐标转换成本图坐标;③对匹配要素进行预处理,即依据点、线、面要素的最小外接矩形,并再向外扩展一定的距离,作为初步筛选匹配对象的矩形范围。如果要素落在该矩形范围内且几何类型一致,则对该要素进行标记,并认为是第④步判断的对象,这样可排除大量非匹配目标的要素;④逐个遍历第③步中所有标记要素。如果改正要素为点要素,且标记要素也为点要素时,计算两点要素之间的距离。如果该距离小于预设容限值,则保留其标记,否则去除标记。如果改正要素为线要素或面要素边界(记为L1),且标记要素也为线要素(记为L0),则从L0的第1点开始,逐点汁算与L1的所有折点之间的距离,在计算过程中一旦距离小于容限值,则保留L0的标记。如果计算结束后仍然无距离小于预设的容限值,则去除L1的标记;⑤逐个遍历第④步中所有标记要素的编码,同时与改正要素的编码进行比对,如果一致,则保留其标记,否则去除标记,最后剩下的所有标记要素即为最终满足条件的匹配目标。
⑵属性数据的自动匹配
通常,矢量海图的要素或物标具有明确的属性项。例如,VCF格式海图以DBF表存储属性项,S-57 ENC的物标属性项为一系列子字段。通过几何要素的自动匹配法查找到目标要素或物标后,即可根据此要素确定属性项列表。属性数据的改正是对属性项的插入、删除和修改,针对VCF格式海图的DBF属性数据表,可通过结构化查询语言SQL,以记录号、符号编码等作为查询条件,来匹配并修改DBF属性数据表内的目标记录。针对5-57 ENC,可在查找到物标的基础上,通过遍历属性项实现属性项的匹配和修改。
⑶拓扑关系数据的自动匹配
拓扑关系数据用于建立要素之间的空间联系,是矢量海图中一类重要的数据。而航海通告对于这类数据的改正是不描述的,如多边形与多边形之间的嵌套关系等。但是在矢量海图通告改正过程中又必须修改这些数据。显然上述几种方法无法匹配到这类数据。本文将通过几何要素的自动匹配法,首先查找拓扑结构中某一要素,并以拓扑关系为桥梁利用该要素的正向指针或反向指针,进而找到与其具有拓扑关系的其他要素,在综合分析这组要素的基础上,最终确定所要匹配的目标要素。
⒋ 矢量海图通告自动改正的实现
以插入电缆航海通告为例,说明应用上述方法通过计算机编程技术实现VCF矢量海图通告自动改正的过程。航海通告数据库中存储的电缆通告数据见表1~3。
通过“改正海图表”获取将要改正的海图图号“11381”,而后读取“内容表”获取地理坐标以及要素编码等有关信息,自动将地理坐标转换成本图坐标,并在.SHP文件中增加一条线要素数据记录及其对应的属性记录等,从而完成VCF矢量海图自动通告改正改正前后的效果见图1~2。
四、结束语
矢量海图通告改正是现代航海中以电子海图为基础平台的各类应用系统所必须解决的关键技术之一。本文围绕这一技术问题,给出了一种基于航海通告数据库的通告符号向海图要素自动转换方法,解决了改正位置自动计算问题,实现了几何要素、属性数据、拓扑关系数据的自动匹配,并结合实例说明了利用航海通告数据库和上述自动处理技术实现VCF矢量海图通告改正的过程,供开发矢量海图通告改正软件参考。