主权项 |
1.一种DNC与ENC数据模型的转换方法,其特征在于:包括以下步骤:⑴建立DNC与ENC数据模型之间的要素映射关系和属性映射关系,进行DNC和ENC数据模型之间要素和属性的映射转换;⑵建立DNC和ENC之间拓扑和空间数据的映射关系,进行DNC和ENC之间拓扑和空间数据的映射转换;所述DNC和ENC之间拓扑映射转换包括以下步骤:①读取一个面要素,获取要素关系的瓦片以及面号FaceID以及面表中面号为FaceID的所有环指针;②读取一个环指针,从环表中获得起始边StartEdge,令CurEdge=StartEdge;③如果CurEdge.RightFace=Face且CurEdge.LeftFace≠Face,则CurEdge∈Ring,且CurEdge为顺时针方向,令NextEdge=CurEdge.RightEdge,跳转至步骤⑦;④如果CurEdge.RightFace=Face且CurEdge.LeftFace≠Face,则CurEdge∈Ring,且CurEdge为顺时针方向,令NextEdge=CurEdge.RightEdge,跳转至步骤⑦;⑤如果CurEdge.LeftFace=Face且CurEdge.RightFace=Face,则CurEdge为悬挂边,且<img file="FDA00002747066900011.GIF" wi="434" he="54" />其方向通过与上条边的连接位置判断,NextEdge∈{CurEdge.RightEdge,CurEdge.LeftEdge},且NextEdge≠CurEdge,跳转至步骤⑦;⑥如果CurEdge.RightEdge=CurEdge.LeftEdge=CurEdge,则CurEdge为孤立边,<img file="FDA00002747066900012.GIF" wi="411" he="55" />执行步骤⑧;⑦如果NextEdge=StartEdge,执行步骤⑧;否则,令CurEdge=NextEdge,跳转至步骤③;⑧判断环指针是否均已遍历,是则处理结束,否则跳转至步骤②;在本步骤中,FaceID为面号,StartEdge为起始边,CurEdge为当前边,Face为面号,CurEdge.RightFace为当前边的右面,CurEdge.LefttFace为当前边的左面,Ring为环,NextEdge为下一条边,CurEdge.RightEdge为当前边的右边,CurEdge.LeftEdge为当前边的左边;所述的DNC和ENC之间空间数据的映射转换包括以下步骤:ⅰ、加载DNC的一个数据子库;ⅱ、从数据子库中读取一个图层,判断是否为数据质量层,是则将其写入ENC元数据中,否则执行步骤ⅲ;ⅲ、从图层中读取下一个地理要素;ⅳ、读取下一个要素实例,按照要素类型分别进行转换;ⅴ、判断所有要素实例是否均已遍历,是则执行步骤ⅵ,否则跳至步骤ⅳ;ⅵ、判断要素类型均是否已遍历,是则执行步骤ⅶ,否则跳至步骤ⅲ;ⅶ、判断所有图层是否均已遍历,处理结束,否则跳至步骤ⅱ。 |