书签 分享 收藏 举报 版权申诉 / 16

一种空间矢量数据的快速转换方法.pdf

  • 上传人:1***
  • 文档编号:1025953
  • 上传时间:2018-03-26
  • 格式:PDF
  • 页数:16
  • 大小:932KB
  • 摘要
    申请专利号:

    CN200910100671.4

    申请日:

    2009.07.16

    公开号:

    CN101609465A

    公开日:

    2009.12.23

    当前法律状态:

    终止

    有效性:

    无权

    法律详情:

    未缴年费专利权终止IPC(主分类):G06F 17/30申请日:20090716授权公告日:20110413终止日期:20120716|||著录事项变更IPC(主分类):G06F 17/30变更事项:发明人变更前:张丰 刘仁义 刘南 卫哲 杜震洪 唐远彬变更后:刘仁义 杜震洪 张丰 刘南 卫哲 唐远彬|||授权|||实质审查的生效|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    浙江大学

    发明人:

    张 丰; 刘仁义; 刘 南; 卫 哲; 杜震洪; 唐远彬

    地址:

    310027浙江省杭州市浙大路38号

    优先权:

    专利代理机构:

    杭州求是专利事务所有限公司

    代理人:

    张法高

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种空间矢量数据的快速转换方法。它包括以下步骤:1)在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系;2)在本地建立多个用于实现快速转换的中间过程的多个临时文件;3)从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中;4)将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件。本发明采用数据缓冲模型机制进行数据的空间关系分析,提出零碎多边形的线序排列算法解决多边形组成线的线序排列问题,故而数据转换效率和质量都得到提高。本发明在城镇地籍数据管理工作及相关工作中具有较大的应用前景。

    权利要求书

    1.  一种空间矢量数据的快速转换方法,其特征在于包括以下步骤:
    1)在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系;
    2)在本地建立多个用于实现快速转换的中间过程的多个临时文件;
    3)从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中;
    4)将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件。

    2.
      根据权利要求1所述的一种空间矢量数据的快速转换方法,其特征在于,所述的在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系步骤:依据2007年颁布《城镇地籍数据库标准》,按用户的要求建立数据转换模板,将数据转换模板植入空间数据库中,该数据转换模板定义各层矢量数据的关系,通过该数据转换模板实现空间矢量数据的转换。

    3.
      根据权利要求1所述的一种空间矢量数据的快速转换方法,其特征在于,所述的在本地建立多个用于实现快速转换的中间过程的多个临时文件步骤:依照VCT文件内容结构分别创建用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件,用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;

    4.
      根据权利要求1所述的一种空间矢量数据的快速转换方法,其特征在于,所述的从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中步骤:
    (1)通过空间数据库引擎读取数据转换模板信息,按照VCT格式要求将文件头、层类型参数、属性数据结构三部分信息依次写入用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;
    (2)通过空间数据库引擎从空间数据库中读取点层图形数据和线层图形数据,并分别写入用于存储点空间信息的点临时文件和用于存储线空间信息的线临时文件中;
    (3)通过空间数据库引擎从空间数据库中读取面层的图形数据,判断该层有无对应线层,若无,需先生成临时线层,然后利用缓冲区求得构成面要素的线集合;利用零碎多边形的线序排列算法对得到的线集合进行排序,将未写入用于存储线空间信息的线临时文件的线层的图形数据写入用于存储线空间信息的线临时文件,将未写入用于存储面空间信息的面临时文件的面层的图形数据写入用于存储面空间信息的面临时文件;
    (4)通过空间数据库引擎从空间数据库中读取注记信息写入用于存储注记信息的注记临时文件,通过空间数据库引擎从空间数据库中读取点层的属性数据、线层的属性数据、面层的属性数据,依次写入用于存储属性信息的属性临时文件。

    5.
      根据权利要求4所述的一种空间矢量数据的快速转换方法,其特征在于,所述的利用缓冲区求得构成面要素的线集合步骤:
    (a)基于数据转换模板定义的各层矢量数据的拓扑关系,确定欲转换面层在空间数据库中是否已有对应线层,若没有,生成欲转换面层的对应线层;
    (b)获得欲转换面层内的面要素,对此面要素建立双边缓冲区,将双边缓冲区与面层的对应线层进行空间关系运算,获得线层上包含于该双边缓冲区内的线集合,该线集合即为构成面要素的线集合;

    6.
      根据权利要求4所述的一种空间矢量数据的快速转换方法,其特征在于,所述的利用零碎多边形的线序排列算法对得到的线集合进行排序步骤:
    (c)选择多边形的起始线,“最左边的线”定义为:该线过组成多边形的点集合中的最小点,“点集合中的最小点”定义为该点依次满足以下规则:X坐标值最小;Y坐标值最小,若满足规则“X坐标值最小”的点存在多个,则用规则“Y坐标值最小”选择出其中的惟一的点作为“点集合中的最小点”,如果过“点集合中的最小点”的“最左边的线”存在多条,则分别计算线与Y轴的夹角,则取与Y轴夹角最小的线作为多边形的起始线,否则直接选择唯一的“最左边的线”作为多边形的起始线;
    (d)寻找构成多边形的第二条线,设定容差值,计算线集合中所有线的端点与多边形的起始线的终点的距离,取距离小于容差值的端点所在的线作为构成多边形的第二条线的候选线,计算起始线与除自身以外的所有候选线沿逆时针方向上的夹角,取与起始线所构成夹角最小的那条线作为构成多边形的第二条线,并将该线标识为“已排序”;
    (e)选择构成多边形的第二条线的另一个端点作为下一条线的起点,按照步骤(d)寻找构成多边形的第三条线...,直至所有线都被标志为“已排序”或后续线只有一条且被标示为“已排序”,则组成此面要素的所有线排列完毕。

    7.
      根据权利要求1所述的一种空间矢量数据的快速转换方法,其特征在于,所述的将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件步骤:依照VCT文件的组成部分的格式要求,将中间过程的产生的临时文件:用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件依次附加到用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件中,至此实现空间矢量数据的快速转换。

    说明书

    一种空间矢量数据的快速转换方法
    技术领域
    本发明涉及城镇地籍数据管理领域,尤其涉及一种空间矢量数据的快速转换方法。对其他相关地籍行业也具有一定的参考价值,该方法对国土和测绘部门的地籍数据管理具有现实意义。
    背景技术
    目前,人们常使用的大型地籍数据管理软件大约有数10种,这些软件大都具有自己的数据结构和格式,其格式有公开、半公开或不公开的,用户在不同图形平台上使用同一数据时就受到了极大的限制,同时由于数据标准、使用的数据平台和对数据模型理解的不同,空间信息共享的进程也比较缓慢,我国存在着大量的重复生产和开发等浪费现象。正是为了解决这些问题,在2007颁布的《城镇地籍数据库标准》中,国家将数据转换文件格式定为VCT,图形数据采用拓扑1方式记录。这将极大地提高城镇地籍的数据共享程度、提高数据的利用率。然而,目前的城镇地籍建库标准在实际应用中尚存在一定的局限和不足,具体工作中可能需要对其进行扩展。
    根据表示结点与线段的拓扑关系方式不同,VCT文件中分为拓扑0、拓扑1、拓扑2这三种格式。拓扑0表示没有拓扑,多边形直接带坐标。拓扑1则表示没有这些信息但有多边形关联的线目标标识码。拓扑2表示有结点关联线目标的标识以及线目标有起结点、终结点左多边形、右多边形的拓扑信息。本发明根据2007年颁布的《城镇地籍数据库标准》转换结果采用包含拓扑1信息的VCT文件。
    发明内容
    本发明的目的是克服现有技术的不足,提供一种空间矢量数据的快速转换方法。
    空间矢量数据的快速转换方法包括以下步骤:
    1)在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系;
    2)在本地建立多个用于实现快速转换的中间过程的多个临时文件;
    3)从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中;
    4)将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件。
    所述的在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系步骤:依据2007年颁布《城镇地籍数据库标准》,按用户的要求建立数据转换模板,将数据转换模板植入空间数据库中,该数据转换模板定义各层矢量数据的关系,通过该数据转换模板实现空间矢量数据的转换。
    所述的在本地建立多个用于实现快速转换的中间过程的多个临时文件步骤:依照VCT文件内容结构分别创建用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件,用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;
    所述的从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中步骤:
    (1)通过空间数据库引擎读取数据转换模板信息,按照VCT格式要求将文件头、层类型参数、属性数据结构三部分信息依次写入用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;
    (2)通过空间数据库引擎从空间数据库中读取点层图形数据和线层图形数据,并分别写入用于存储点空间信息的点临时文件和用于存储线空间信息的线临时文件中;
    (3)通过空间数据库引擎从空间数据库中读取面层的图形数据,判断该层有无对应线层,若无,需先生成临时线层,然后利用缓冲区求得构成面要素的线集合;利用零碎多边形的线序排列算法对得到的线集合进行排序,将未写入用于存储线空间信息的线临时文件的线层的图形数据写入用于存储线空间信息的线临时文件,将未写入用于存储面空间信息的面临时文件的面层的图形数据写入用于存储面空间信息的面临时文件;
    (4)通过空间数据库引擎从空间数据库中读取注记信息写入用于存储注记信息的注记临时文件,通过空间数据库引擎从空间数据库中读取点层的属性数据、线层的属性数据、面层的属性数据,依次写入用于存储属性信息的属性临时文件。
    所述的利用缓冲区求得构成面要素的线集合步骤:
    (a)基于数据转换模板定义的各层矢量数据的拓扑关系,确定欲转换面层在空间数据库中是否已有对应线层,若没有,生成欲转换面层的对应线层;
    (b)获得欲转换面层内的面要素,对此面要素建立双边缓冲区,将双边缓冲区与面层的对应线层进行空间关系运算,获得线层上包含于该双边缓冲区内的线集合,该线集合即为构成面要素的线集合;
    所述的利用零碎多边形的线序排列算法对得到的线集合进行排序步骤:
    (c)选择多边形的起始线,“最左边的线”定义为:该线过组成多边形的点集合中的最小点,“点集合中的最小点”定义为该点依次满足以下规则:X坐标值最小;Y坐标值最小,若满足规则“X坐标值最小”的点存在多个,则用规则“Y坐标值最小”选择出其中的惟一的点作为“点集合中的最小点”,如果过“点集合中的最小点”的“最左边的线”存在多条,则分别计算线与Y轴的夹角,则取与Y轴夹角最小的线作为多边形的起始线,否则直接选择唯一的“最左边的线”作为多边形的起始线;
    (d)寻找构成多边形的第二条线,设定容差值,计算线集合中所有线的端点与多边形的起始线的终点的距离,取距离小于容差值的端点所在的线作为构成多边形的第二条线的候选线,计算起始线与除自身以外的所有候选线沿逆时针方向上的夹角,取与起始线所构成夹角最小的那条线作为构成多边形的第二条线,并将该线标识为“已排序”;
    (e)选择构成多边形的第二条线的另一个端点作为下一条线的起点,按照步骤(d)寻找构成多边形的第三条线...,直至所有线都被标志为“已排序”或后续线只有一条且被标示为“已排序”,则组成此面要素的所有线排列完毕。
    所述的将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件步骤:依照VCT文件的组成部分的格式要求,将中间过程的产生的临时文件:用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件依次附加到用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件中,至此实现空间矢量数据的快速转换。
    本发明与现有技术相比具有的有益成果是:
    1)实现传统地籍空间数据库向《城镇地籍数据库》等国家地籍建库标准要求的矢量数据文件的转换,提高了地籍数据的利用率和共享程度,一定程度上减少了地籍资料重复调查所造成人力、物力、财力的浪费;
    2)根据城镇地籍要素的特点,处理面要素和线要素的拓扑关系采用缓冲模型进行处理,处理零碎多边形的构成线问题时采用零碎多边形的线序排列算法,很好地解决地籍数据转换中存在的一些问题。
    附图说明
    图1是基本图形定义说明示意图;
    图2是本发明的空间数据转换方法示意图;
    图3是本发明的面要素数据导出模型示意图;
    图4是本发明的起始线的确定原则示意图;
    图5是本发明的候选线的确定原则示意图;
    图6是本发明的零碎多边形的线序排列过程示意图,图中,字母代表端点,数字代表线要素索引号,宽度小的黑线表示构成多边形的线,宽度较大的线代表缓冲区;
    图7是本发明的数据转换模板示意图。
    具体实施方式
    空间矢量数据的快速转换方法包括以下步骤:
    1)在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系;
    2)在本地建立多个用于实现快速转换的中间过程的多个临时文件;
    3)从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中;
    4)将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件。
    所述的在空间数据库中建立数据转换模板,用于定义各矢量数据层的关系步骤:依据2007年颁布《城镇地籍数据库标准》,按用户的要求建立数据转换模板,将数据转换模板植入空间数据库中,该数据转换模板定义各层矢量数据的关系,通过该数据转换模板实现空间矢量数据的转换。
    所述的在本地建立多个用于实现快速转换的中间过程的多个临时文件步骤:依照VCT文件内容结构分别创建用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件,用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;
    所述的从空间数据库中依次读取点、线、面、属性、注记信息,写入步骤2)建立的临时文件中步骤:
    (1)通过空间数据库引擎读取数据转换模板信息,按照VCT格式要求将文件头、层类型参数、属性数据结构三部分信息依次写入用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件;
    (2)通过空间数据库引擎从空间数据库中读取点层图形数据和线层图形数据,并分别写入用于存储点空间信息的点临时文件和用于存储线空间信息的线临时文件中;
    (3)通过空间数据库引擎从空间数据库中读取面层的图形数据,判断该层有无对应线层,若无,需先生成临时线层,然后利用缓冲区求得构成面要素的线集合;利用零碎多边形的线序排列算法对得到的线集合进行排序,将未写入用于存储线空间信息的线临时文件的线层的图形数据写入用于存储线空间信息的线临时文件,将未写入用于存储面空间信息的面临时文件的面层的图形数据写入用于存储面空间信息的面临时文件;
    (4)通过空间数据库引擎从空间数据库中读取注记信息写入用于存储注记信息的注记临时文件,通过空间数据库引擎从空间数据库中读取点层的属性数据、线层的属性数据、面层的属性数据,依次写入用于存储属性信息的属性临时文件。
    所述的利用缓冲区求得构成面要素的线集合步骤:
    (a)基于数据转换模板定义的各层矢量数据的拓扑关系,确定欲转换面层在空间数据库中是否已有对应线层,若没有,生成欲转换面层的对应线层;
    (b)获得欲转换面层内的面要素,对此面要素建立双边缓冲区,将双边缓冲区与面层的对应线层进行空间关系运算,获得线层上包含于该双边缓冲区内的线集合,该线集合即为构成面要素的线集合;
    所述的利用零碎多边形的线序排列算法对得到的线集合进行排序步骤:
    (c)选择多边形的起始线,“最左边的线”定义为:该线过组成多边形的点集合中的最小点,“点集合中的最小点”定义为该点依次满足以下规则:X坐标值最小;Y坐标值最小,若满足规则“X坐标值最小”的点存在多个,则用规则“Y坐标值最小”选择出其中的惟一的点作为“点集合中的最小点”,如果过“点集合中的最小点”的“最左边的线”存在多条,则分别计算线与Y轴的夹角,则取与Y轴夹角最小的线作为多边形的起始线,否则直接选择唯一的“最左边的线”作为多边形的起始线;
    (d)寻找构成多边形的第二条线,设定容差值,计算线集合中所有线的端点与多边形的起始线的终点的距离,取距离小于容差值的端点所在的线作为构成多边形的第二条线的候选线,计算起始线与除自身以外的所有候选线沿逆时针方向上的夹角,取与起始线所构成夹角最小的那条线作为构成多边形的第二条线,并将该线标识为“已排序”;
    (e)选择构成多边形的第二条线的另一个端点作为下一条线的起点,按照步骤(d)寻找构成多边形的第三条线...,直至所有线都被标志为“已排序”或后续线只有一条且被标示为“已排序”,则组成此面要素的所有线排列完毕。
    所述的将服务于中间过程的临时文件进行整合,附加,产生最终的包含拓扑1信息的VCT文件步骤:依照VCT文件的组成部分的格式要求,将中间过程的产生的临时文件:用于存储点空间信息的点临时文件、用于存储线空间信息的线临时文件、用于存储面空间信息的面临时文件、用于存储注记信息的注记临时文件、用于存储属性信息的属性临时文件依次附加到用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息的主VCT文件中,至此实现空间矢量数据的快速转换。
    实施例
    第一步,在空间数据库中建立数据转换模版的表结构,依据2007年颁布《城镇地籍数据库标准》,按用户的要求修改数据转换模板内容,数据转换模板表结构见表1;
    表1数据转换模板结构表

    字段名字段含义OBJECTID对象IDReID数据表内IDReName字段名称ReAliasName字段别名ReType字段类型ReAllowNull非空性ReDefault默认值ReLength长度RePrecision精度ReGeoDef几何类型TabName属性结构表名ExtTabName扩展表名FldStd是否标准字段(只转换标准字段)

    第二步,依照VCT文件内容结构分别创建用于存储点空间信息的点临时文件point_temp、用于存储线空间信息的线临时文件line_temp、用于存储面空间信息的面临时文件polygon_temp,分别用于存储点、线、面空间信息;创建用于存储属性信息的属性临时文件attri_temp、用于存储注记信息的注记临时文件anno_temp,创建主VCT文件MainVCT,用于存储文件头、层类型参数、属性数据结构信息及所有空间信息、注记信息、属性信息;
    第三步,(1)通过空间数据库引擎读取数据转换模板信息,按照VCT格式要求依次将文件头、层类型参数、属性数据结构三部分信息写入主VCT文件。
    (2)通过空间数据库引擎从空间数据库获得点层后,遍历其中的点要素将点坐标和标识码信息按照拓扑1的要求记录到用于存储点空间信息的点临时文件point_temp中;通过空间数据库引擎从空间数据库获得线层后,遍历其中的线要素将线要素包含的点坐标和面要素标识码信息按照拓扑1的要求记录到用于存储线空间信息的线临时文件line_temp中;
    (3)通过空间数据库引擎从空间数据库中读取面层后,判断该层有无对应线层,若无,需先使用空间数据库的相关工具生成面层的临时线层,然后利用缓冲区求得构成面要素的线集合,利用零碎多边形的线序排列算法对得到的线集合进行排序,将线层的图形数据写入用于存储线空间信息的线临时文件,将面层的图形数据写入用于存储面空间信息的面临时文件;以图6为例:对多边形建立双边缓冲区后,获得构成多边形的线集合{1,2,6,7,3,4,5},该线集合可能为乱序的,需要运用线序排列算法重新进行排序,该多边形有外环和内环构成。外环包括1、2、6、7四条线段。内环包括3、4、5三条线段。依线序排列算法选择线2为起始线,A为起点,B为终点。设定容差值r=0.00001m,在以点B为下一条线的起点寻找第二条线时,发现3、5、6三条线段在容差允许情况下均过B过点,此时需要确定唯一的一条第二条线,计算方法为:分别计算线段3、5、6与线段2的夹角,取与线段2构成夹角最小的线段3为构成多边形的第二条线,依次寻找多边形的第三条线...,最后获得的经过排序后的线段线号的集合为{2、3、4、5、6、7、1}.将此关系记录到面要素的临时面数据文件polygon_temp中,将线1、2、3、4、5、6、7的信息按照拓扑1的要求记录到用于存储线空间信息的线临时文件line_temp中。(4)通过空间数据库引擎从空间数据库中读取注记层后,遍历注记层要素,将注记要素数据写入用于存储注记信息的注记临时文件anno_temp;通过空间数据库引擎从空间数据库中读取各矢量数据层的属性数据,遍历属性记录信息,将属性信息写入临时文件attri_temp;
    第四步,按照2007年颁布的《城镇地籍数据库标准》要求的VCT格式,依次将将服务于中间过程的用于存储点空间信息的点临时文件point_temp、用于存储线空间信息的线临时文件line_temp、用于存储面空间信息的面临时文件polygon_temp、用于存储注记信息的注记临时文件attri_temp、用于存储属性信息的属性临时文件attri_temp附加到主VCT文件MainVCT中,至此完成由空间数据库向矢量数据格式VCT的快速转换。

    关 键  词:
    一种 空间 矢量 数据 快速 转换 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种空间矢量数据的快速转换方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-1025953.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1