[发明专利]DNC与ENC数据模型的转换方法有效
申请号: | 201210040212.3 | 申请日: | 2012-02-22 |
公开(公告)号: | CN102622419A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 翟京生;陆毅;陈长林;孙芳;朱颖 | 申请(专利权)人: | 中国人民解放军92859部队 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王来佳 |
地址: | 300061*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dnc enc 数据模型 转换 方法 | ||
技术领域
本发明属于数字图形处理领域,尤其是一种DNC与ENC数据模型的转换方法。
背景技术
DNC(Digital Nautical Chart)和ENC(Electronic Nautical Chart)是描述矢量数字海图的两大数据模型,数据中都包含了为海上安全航行所必需的各类要素。这两种数据模型主要存在以下差异:(1)数据用途:DNC是美军制定的内部标准,主要面向北约;ENC则是国际海道测量组织(IHO)制定的国际标准,面向各国船只的海上导航,倾向但不局限于商业用途;(2)数据标准:DNC数据存储遵照VPF标准,而ENC则遵照S-57标准;(3)编码体系:DNC和ENC各自具有一套要素和属性的分类编码体系;(4)要素类型:DNC包含了点、线、面、文本、复杂要素五种要素,而ENC中只有点、线、面三种;(5)拓扑结构:DNC采用全拓扑结构,而ENC采用“点-链”拓扑;(6)数据组织:DNC将单个海图数据及其索引分别存储在38类文件中,每个海图数据共分为12层,而ENC数据则对应于一个单独的文件,并且没有分层。在海上船只导航过程中,经常会同时使用两种数据模型,给应用带来不便,因此有必要进行数据模型的转换。目前,通常使用Caris HPD方法进行DNC到ENC的转换,其存在的问题是:转换率低、转换效果差。
发明内容
本发明的目的在于克服现有技术的不足,提供一种设计合理、转换率高且转换效果佳的DNC与ENC数据模型的转换方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种DNC与ENC数据模型的转换方法,包括以下步骤:
(1)建立DNC与ENC数据模型之间的要素映射关系和属性映射关系,进行DNC和ENC数据模型之间要素和属性的映射转换;
(2)建立DNC和ENC之间拓扑和空间数据的映射关系,进行DNC和ENC之间拓扑和空间数据的映射转换。
而且,所述步骤(1)要素和属性的映射转换包括以下步骤:
(1)加载DNC数据;
(2)读取一个要素;
(3)根据要素类型获得相应的映射候选集;
(4)取一个映射方法;
(5)要素实例是否满足条件,是则执行转换操作,否则执行下一步;
(6)判断是否所有映射方法均已测试,是则执行步骤(7),否则跳至步骤(4);
(7)判断是否所有要素实例均已处理,是则处理结束,否则跳至步骤(2)。
而且,所述的DNC与ENC数据模型之间的要素映射关系包括:一对一的映射、一对多的映射、多对一的映射和多对多的映射映射关系。
而且,所述的DNC与ENC数据模型之间的属性映射关系包括:要素无关的映射和要素相关的映射关系。
而且,所述的步骤(2)DNC和ENC之间拓扑映射转换步骤包括:
(1)读取一个面要素,获取要素关系的瓦片以及面号FaceID以及面表中面号为FaceID的所有环指针;
(2)读取一个环指针,从环表中获得起始边StartEdge,令CurEdge=StartEdge;
(3)如果CurEdge.RightFace=Face且CurEdge.LeftFace≠Face,则CurEdge∈Ring,且CurEdge为顺时针方向,令NextEdge=CurEdge.RightEdge,跳转至步骤(7);
(4)如果CurEdge.RightFace=Face且CurEdge.LeftFace≠Face,则CurEdge∈Ring,且CurEdge为顺时针方向,令NextEdge=CurEdge.RightEdge,跳转至步骤(7);
(5)如果CurEdge.LeftFace=Face且CurEdge.RightFace=Face,则CurEdge为悬挂边,且其方向通过与上条边的连接位置判断,NextEdge∈{CurEdge.RightEdge,CurEdge.LeftEdge},且NextEdge≠CurEdge,跳转至步骤(7);
(6)如果CurEdge.RightEdge=CurEdge.LeftEdge=CurEdge,则CurEdge为孤立边,执行步骤(8);
(7)如果NextEdge=StartEdge,执行步骤(8);否则,令CurEdge=NextEdge,跳转至步骤(3);
(8)判断环指针是否均已遍历,是则处理结束,否则跳转至步骤(2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军92859部队,未经中国人民解放军92859部队许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210040212.3/2.html,转载请声明来源钻瓜专利网。