Map Info数字海图向MVCF数字海图的转换方法研究∗
2019-02-27王玉玺肖冲冲
王玉玺 丁 琰 肖冲冲
(中船航海科技有限责任公司 北京 100070)
1 引言
与纸海图相比,基于数字海图的应用系统具有航行自动监控及报警、航迹自动存储、历史轨迹回放、海图信息快速查询以及船舶状态自动显示等优点。尽管我国海道测量机构已经发布了符合国际标准(S-57标准)的电子海图,但是在特定领域仍然以MVCF数字海图数据为主且存在少数使用MapInfo数字海图数据的情况,本文在深入研究了MapInfo数字海图和MVCF数字海图数据结构和要素编码的基础上,提出了从MapInfo海图数据向MVCF海图数据的转换方法,以满足特定领域支持MVCF格式电子海图数据的电子海图应用软件使用MapInfo数字海图的需求。
2 Map Info海图数据分析
MapInfo数据采用层次结构组织空间数据,根据不同的专题将海图分层,每个图层存储为若干个数据文件[1~4]。
1)空间数据文件(.MAP):该文件存储海图要素的几何类型、坐标信息和颜色信息等空间数据以及与该要素对应的属性数据记录在属性数据文件(.DAT)中的记录号。
2)属性数据文件(.DAT):该文件存储海图要素属性数据,以表结构描述。
3)属性数据的表结构文件(.TAB):该文件定义了要素属性数据的表结构,包括字段数、字段名称、字段类型和字段宽度、索引字段等信息。
4)交叉索引文件(.ID):该文件存储要素在空间数据文件(.MAP)中的位置指针。
5)索引文件(.IND):该文件是可选的,对于部分字段建立索引。
本文提及的MapInfo海图数据根据要素内容(水系、居民地、独立地物等)和要素类型(图形、地名)进行分层,图层名称定义分别采用“图号+要素内容+图形”和“图号+要素内容+地名”的方式表示。
3 MVCF海图数据分析
3.1 数据结构分析
MVCF海图共有19个专题层,包括海洋/陆地(OCLD)、测量控制点(CTRL)、陆地方位物(LDMK)、地貌(RELF)等17个要素专题层和资料档案、图幅索引等2个特殊专题层。由于海图要素几何特征不同,在专题层基础上,将专题层分为一个或多个要素层做为数字化层,每个专题层分为一个或多个数字化层,共分为29个数字化层[5~6]。
3.2 要素编码分析
MVCF海图要素编码在数字海图数据字典中规定,包括类码和识别码,由6位数字组成[7]。
1)类码
类码表示海图要素的类别,根据航海使用需求和便于计算机数据管理,将海图要素分为14类,用3位数字表示。其中,第1位数字和第2位数字唯一地定义海图要素的主类,第3位数字定义主类下的亚类,亚类的具体定义是按照不同性质或不同用途进行划分的。如类码51X表示测量控制点类,类码52X表示自然地理要素类,类码53X表示人工地物类等。
2)识别码
识别码唯一地定义某一类下具体地海图要素,用3位数字表示。由于海图要素几何特征不同,可能表现为点、线、面类型。根据要素几何特征,将识别码划分为3段,分别表示点、线、面要素识别码。如001~099为点要素编码;100~199为线要素编码;200~299为面要素编码。
4 数据格式转换方法
4.1 元数据信息存储
MVCF海图数据每幅图包含一个元数据文件,文件名为map.rec,用于记录每幅图的控制信息,由23个数据项组成,每项数据为一行,以文本文件方式存储。读取MapInfo数据文件时,将图号、图名、投影方式、基准纬度等图幅元数据信息写入map.rec元数据文件[8]。
4.2 建立数据间对应关系
分别建立MapInfo数据与MVCF数据间的图层对应关系表、要素编码对应关系表以及要素属性表等文件,均采用计算机软件可识别的结构化语言组织,便于实现转换程序的自动化处理。
1)图层对应关系表
根据MapInfo数据图层命名规则和MVCF数据分层命名规则,建立MapInfo数据图层与MVCF数据图层的对应关系表。由于MapInfo数据一个图层可包含不同类型的图形对象,而MVCF数据一个图层只能包括同种类型的图像对象,因此一个MapInfo数据图层可能对应多个MVCF数据图层。部分图层对应关系如表1所示。
表1 图层对应关系表
2)要素编码对应表
参考MVCF数字海图数据字典,将MapInfo数据中的海图要素与MVCF数据海图要素编码进行一一对应。部分要素编码对应关系如表2所示。
表2 要素编码对应关系表
3)MVCF海图数据属性表
根据MVCF数字海图数据交换格式标准规定,将每个图层的附加属性项信息结构化存储,用于在从MapInfo数据向MVCF数据转换过程中,建立数据图层的属性字段信息。
4.3 空间坐标数据转换
MVCF数据空间坐标采用图上坐标表示,以厘米为单位。因此,首先将MapInfo数据经纬度坐标转化为墨卡托投影坐标,然后再将投影坐标转化为图上坐标[9~12]。
1)经纬度坐标转换为投影坐标
以零子午线或自定义原点经线(L0)与赤道交点的投影为原点,零子午线或自定义原点经线的投影为纵坐标X轴,赤道的投影为横坐标Y轴,构成墨卡托平面直角坐标系。
墨卡托投影正解公式:(B,L)→(XE,YN),标准纬度B0,原点纬度NB0,原点经度L0。计算公式如式(1)所示,e表示自然常数,π表示圆周率。
其中,投影坐标(XE,YN)的单位是米。
2)投影坐标转化为图上坐标
假设纸海图图幅的左下角的经纬度是(BLB,LLB),纸海图比例尺分母是scale,则根据式(1)中的墨卡托投影正解公式,该点的投影平面坐标是(XLB,YLB)。由此,海图要素图上坐标的计算公式如式(2)所示:
其中,图上坐标(Xm,Ym)的单位是厘米。
4.4 注记数据转换
MVCF数据将所有注记类要素集中存储于注记层(ANNCOV)中,而在MapInfo数据中注记信息是分为多个图层管理的,因此需将MapInfo数据的所有注记信息图层全部转换到MVCF注记层中。
5 结语
本文通过对MapInfo数字海图和MVCF数字海图数据结构和要素编码的深入分析,建立了二者之间的图层、要素类型及要素编码的对应关系,实现了从MapInfo海图数据向MVCF海图数据的转换,满足MVCF电子海图应用软件对MapInfo数字海图的使用需求。