读取地理数据文件记录的方法及装置.pdf

上传人:Y94****206 文档编号:1036259 上传时间:2018-03-27 格式:PDF 页数:14 大小:447.33KB
返回 下载 相关 举报
摘要
申请专利号:

CN201010237817.2

申请日:

2010.07.27

公开号:

CN102339293A

公开日:

2012.02.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20100727|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

高德软件有限公司

发明人:

王志勇; 冯伟; 张少辉

地址:

102200 北京市昌平科技园区昌盛路18号B1座

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明提供了一种读取地理数据文件记录的方法及装置。所述方法包括:接收地理数据文件记录的类型码及标识;通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;从所述地理数据文件中所述起始存储位置开始,读取所述长度范围内的记录。本发明还提供了一种读取地理数据文件记录的装置。采用本发明提供的技术方案能够实现快速、高效地读取地理数据文件记录。

权利要求书

1: 一种读取地理数据文件记录的方法, 其特征在于, 所述方法包括 : 接收地理数据文件记录的类型码及标识 ; 通过所述类型码及标识, 在预置的位置索引文件中查找所述记录在所述地理数据文件 中的起始存储位置及长度 ; 从所述地理数据文件中所述起始存储位置开始, 读取所述长度范围内的记录。
2: 如权利要求 1 所述的方法, 其特征在于, 所述方法进一步包括 : 遍历所述地理数据文 件生成所述位置索引文件的步骤。
3: 如权利要求 2 所述的方法, 其特征在于, 若一个地理数据文件生成多个位置索引 文件, 且一个类型码对应唯一一个位置索引文件, 则所述生成位置索引文件的步骤具体包 括: 读取地理数据文件记录的类型码及标识 ; 获取所述记录在地理数据文件中的起始存储位置及长度 ; 将所述标识、 起始存储位置及长度作为一条索引存入所述类型码对应的位置索引文件 中。
4: 如权利要求 3 所述的方法, 其特征在于, 查找所述记录在所述地理数据文件中的起 始存储位置及长度具体包括 : 在所述类型码对应的预置位置索引文件中, 查找所述标识对应的记录在地理数据文件 中的起始存储位置及长度。
5: 如权利要求 2 所述的方法, 其特征在于, 若一个地理数据文件生成一个位置索引文 件, 则所述生成位置索引文件的步骤具体包括 : 读取地理数据文件记录的类型码及标识 ; 获取所述记录在地理数据文件中的起始存储位置及长度 ; 将所述类型码、 标识、 起始存储位置及长度作为一条索引存入所述位置索引文件中。
6: 如权利要求 5 所述的方法, 其特征在于, 查找所述记录在所述地理数据文件中的起 始存储位置及长度具体包括 : 在预置位置索引文件中, 查找所述类型代码及标识对应的所述记录在所述地理数据文 件中的起始存储位置及长度。
7: 如权利要求 2 所述的方法, 其特征在于, 若一个地理数据文件生成两级位置索引文 件, 则所述生成位置索引文件的步骤具体包括 : 读取地理数据文件记录的类型码及标识 ; 获取所述记录在地理数据文件中的起始存储位置及长度 ; 将所述标识、 起始存储位置及长度作为一条索引存入一级位置索引文件中所述类型码 对应的索引簇中 ; 获取每个类型码对应的索引簇在一级位置索引文件中的起始存储位置 ; 将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文件中。
8: 如权利要求 7 所述的方法, 其特征在于, 若所述位置索引文件包括 : 查找所述记录在 所述地理数据文件中的起始存储位置及长度具体包括 : 从预置的二级位置索引文件中, 查找所述类型码对应的索引簇在一级索引中的起始存 储位置 ; 2 从所述起始存储位置开始, 在预置的一级位置索引文件中查找所述标识对应的记录在 地理数据文件中的起始存储位置及长度。
9: 一种读取地理数据文件记录的装置, 其特征在于, 所述装置包括 : 记录读取信息接收单元, 用于接收地理数据文件记录的类型码及标识 ; 记录存储信息查找单元, 用于通过所述类型码及标识, 在预置的位置索引文件中查找 所述记录在所述地理数据文件中的起始存储位置及长度 ; 记录读取单元, 用于从所述地理数据文件中所述起始存储位置开始读取所述长度范围 内的记录。
10: 如权利要求 1 所述的装置, 其特征在于, 所述装置进一步包括 位置索引文件生成单元, 用于遍历所述地理数据文件生成所述位置索引文件。
11: 如权利要求 10 所述的装置, 其特征在于, 若一个地理数据文件生成多个位置索引 文件, 且一个类型码对应唯一一个位置索引文件, 则位置索引文件生成单元具体包括 : 记录信息读取单元, 用于读取地理数据文件记录的类型码及标识 ; 存储信息获取单元, 用于获取记录在地理数据文件中的起始存储位置及长度 ; 标识位置索引存储单元, 用于将所述标识、 起始存储位置及长度作为一条索引存入所 述类型码对应的位置索引文件中。
12: 如权利要求 11 所述的装置, 其特征在于, 所述记录存储信息查找单元具体包括 : 索 引查找单元和存储信息查找单元 ; 所述索引查找单元, 用于在预置的位置索引文件集中, 查找所述类型码对应的位置索 引文件 ; 所述存储信息查找单元, 用于在所述索引查找单元查找到的位置索引文件中, 查找所 述标识对应的所述记录在地理数据文件中的起始存储位置及长度。
13: 如权利要求 10 所述的装置, 其特征在于, 若一个地理数据文件生成一个位置索引 文件, 则位置索引文件生成单元具体包括 : 记录信息读取单元, 用于读取地理数据文件记录的类型码及标识 ; 存储信息获取单元, 用于获取记录在地理数据文件中的起始存储位置及长度 ; 类型标识位置索引存储单元, 用于将所述类型码、 标识、 起始存储位置及长度作为一条 索引存入所述位置索引文件中。
14: 如权利要求 13 所述的装置, 其特征在于, 所述记录存储信息查找单元具体用于在 预置位置索引文件中, 查找所述类型代码及标识对应的所述记录在所述地理数据文件中的 起始存储位置及长度。
15: 如权利要求 10 所述的装置, 其特征在于, 若一个地理数据文件生成两级位置索引 文件, , 则位置索引文件生成单元具体包括 : 记录信息读取单元, 用于读取地理数据文件记录的类型码及标识 ; 存储信息获取单元, 用于获取记录在地理数据文件中的起始存储位置及长度 ; 一级索引存储单元, 用于将所述标识、 起始存储位置及长度作为一条索引存入一级位 置索引文件中所述类型码对应索引簇中 ; 一级索引存储信息获取单元, 用于获取每个类型码对应索引簇在一级位置索引文件中 的起始存储位置 ; 3 二级索引存储单元, 用于将所述类型码及所述起始存储位置作为一条索引存入二级位 置索引文件中。
16: 如权利要求 15 所述的装置, 其特征在于, 所述记录存储信息查找单元具体包括 : 一级索引存储信息查找单元, 用于从预置的二级位置索引文件中, 查找所述类型码对 应的索引簇在所述一级索引中的起始存储位置 ; 记录存储信息查找子单元, 用于从所述起始存储位置开始, 在预置的一级位置索引文 件中查找所述标识对应的记录在地理数据文件中的起始存储位置及长度。

说明书


读取地理数据文件记录的方法及装置

    【技术领域】
     本发明涉及地理信息系统技术领域, 尤其涉及一种读取地理数据文件记录的方法及装置。 背景技术 地理数据文件 (Geographic Data Files, GDF) 是国际标准化组织颁布的一种保存 地理数据的文件格式, 用于描述道路及道路相关信息。一个 GDF 包括全局记录、 数据记录和 更新记录, 其中数据记录又包括坐标记录、 结点记录、 线记录等 13 种类型的记录。
     在地理数据的开发过程中, 对 GDF 记录的读取操作必不可少, 现有技术采用遍历 整个 GDF 的方式, 实现对 GDF 中某类型记录的读取, 比如, 遍历整个 GDF, 实现坐标记录的读 取。
     在对现有读取 GDF 记录方法的研究和实践过程中, 发明人发现 GDF 通常都是几百 MB 甚至 GB 大小的文件, 遍历整个 GDF 需要花费很长时间, 因此, 现有读取 GDF 记录的方法存 在读取速度和效率较低的问题。
     发明内容 本发明实施例要解决的技术问题是提供一种读取地理数据文件记录的方法及装 置, 能够实现快速、 高效地读取 GDF 记录。
     为解决上述技术问题, 本发明的目的是通过以下技术方案实现的 :
     本发明提供了一种读取地理数据文件记录的方法, 所述方法包括 :
     接收地理数据文件记录的类型码及标识 ;
     通过所述类型码及标识, 在预置的位置索引文件中查找所述记录在所述地理数据 文件中的起始存储位置及长度 ;
     从所述地理数据文件中所述起始存储位置开始, 读取所述长度范围内的记录。
     本发明还提供了一种读取地理数据文件记录的装置, 所述装置包括 :
     记录读取信息接收单元, 用于接收地理数据文件记录的类型码及标识 ;
     记录存储信息查找单元, 用于通过所述类型码及标识, 在预置的位置索引文件中 查找所述记录在所述地理数据文件中的起始存储位置及长度 ;
     记录读取单元, 用于从所述地理数据文件中所述起始存储位置开始读取所述长度 范围内的记录。
     上述技术方案具有如下有益效果 :
     本发明提供的读取地理数据文件记录的技术方案, 预先构建了地理数据文件记录 的位置索引文件, 在读取 GDF 记录时, 通过该位置索引文件存储的记录位置信息, 能够快速 定位相应记录, 从而实现了快速、 高效地读取 GDF 记录。
     附图说明图 1 为本发明提供的读取 GDF 记录的方法流程图 ; 图 2 为本发明实施例一提供的生成位置索引文件的方法流程图 ; 图 3 为本发明实施例提供的 GDF 数据文件记录实例 ; 图 4 为本发明实施例二提供的生成位置索引文件的方法流程图 ; 图 5 为本发明实施例三提供的生成位置索引文件的方法流程图 ; 图 6 为本发明提供的读取 GDF 记录的装置组成示意图。具体实施方式
     为使本发明实施例的目的、 技术方案、 及优点更加清楚明白, 以下参照附图对本发 明实施例提供的技术方案进行详细说明。
     请参加图 1, 为本发明提供的读取地理数据文件 (GDF) 记录的方法流程图, 该方法 包括 :
     步骤 101 : 接收 GDF 记录的类型码及标识 ;
     步骤 102 : 通过所述类型码及标识, 在预置的位置索引文件中查找所述记录在所 述 GDF 中的起始存储位置及长度 ; 其中, 位置索引文件是预先通过遍历所述 GDF 生成的。
     步骤 103 : 从 GDF 中所述起始存储位置开始读取所述长度范围内的记录。
     以上为本发明提供的读取 GDF 记录的方法, GDF 记录包括 : 全局记录、 数据记录及 更新记录, 本发明提供方法适用于读取上述三种记录。
     以下结合附图对生成位置索引文件的方法进行详细介绍。
     请参见图 2, 为本发明实施例一提供的生成位置索引文件的方法, 该方法用于为一 个 GDF 生成多个位置索引文件, 并且, 生成的每个位置索引文件唯一对应一个类型码, 该方 法包括 :
     步骤 201 : 读取一条 GDF 记录的类型码和标识 ;
     步骤 202 : 获取所述记录在 GDF 中的起始存储位置及长度 ( 记录字节数 ) ;
     其中, 起始存储位置用该记录头相对于文件头的偏移量表示。
     步骤 203 : 将所述标识、 起始存储位置及长度作为一条索引存入所述类型码对应 的位置索引文件中 ;
     如图 3 所示是一条 GDF 坐标记录, 记录的开始两位数字 “23” 是这条记录的类型 码, 第三位数字 “3” 是这条记录的标识, 假设该记录头到 GDF 头的偏移量为 “8100” , 记录长 度为 “161 字节” , 则将 “3, 8100, 161” 作为一条索引存入类型码 “23” 对应的位置索引文件。
     步骤 204 : 判断步骤 201 读取的 GDF 记录是否为最后一条记录, 如果是, 则结束该 流程, 如果否, 则返回步骤 201。
     以上是本发明实施例一提供的生成位置索引文件的方法。
     请参见表 1, GDF 数据记录包括坐标记录、 结点记录、 线记录等 13 种记录, 每一种记 录都对应一个类型码。假设一个 GDF 包含上述 13 种记录, 若采用图 2 所示方法为该 GDF 的 记录生成位置索引文件, 则至少能够生成 13 个位置索引文件, 并且这 13 个位置索引文件分 别唯一对应一个表 1 所示类型码。
     6102339293 A CN 102339306说数据记录名称 坐标记录 结点记录 线记录 面记录 文本记录 属性记录 时间域记录 转换记录 关系记录 点要素记录 线要素记录 面要素记录 复杂要素记录明书类型码 23 25 24 29 41 44 45 46 50 51 52 53 543/6 页
     表 1GDF 数据记录及类型码
     需要说明的是, 若实际应用需要图 2 所示方法仅为一种类型的记录生成位置索引 文件, 比如, 仅为 GDF 数据记录生成位置索引文件, 则需要在图 2 所示步骤 201 及步骤 202 之间加入如下步骤 :
     根据步骤 201 读取的类型码判断记录是否为数据记录 ( 即, 判断步骤 201 读取的 类型码是否属于表 1 所示 13 种类型码的一种 ), 如果是, 则进入步骤 202, 如果否, 则忽略该 记录, 转入读取下一条记录的类型码和标识。
     同理, 可以将图 2 所示方法调整成仅为 GDF 全局记录生成位置索引文件, 或, 仅为 GDF 更新记录生成位置索引。
     请参见图 4, 是本发明实施例二提供的一种生成位置索引文件的方法, 该方法用于 为一个 GDF 生成一个位置索引文件, 该方法包括 :
     步骤 401 : 读取一条 GDF 记录的类型码和标识 ;
     步骤 402 : 获取所述记录在 GDF 中的起始存储位置及长度 ;
     步骤 403 : 将所述类型码、 标识、 起始存储位置及长度作为一条索引存入所述位置 索引文件中 ;
     仍以前文所述图 3 为例, 步骤 403 是将 “23, 3, 8100, 161” 作为一条索引存入位置 索引文件。
     步骤 404 : 判断步骤 401 读取的 GDF 记录是否为最后一条记录, 如果是, 则结束该 流程, 如果否, 则返回步骤 401。
     在实际应用中, 也可以将图 4 所示方法调整成仅能为一种 GDF 记录生成位置索引 文件的方法, 相关内容请参加前文, 此处不再赘述。
     对比图 2 和图 4 所示方法, 可知图 4 与图 2 生成的位置索引文件的区别在于, 图4 生成的一个位置索引文件中保存了一个 GDF 所有记录的位置信息, 而图 2 生成的一个位置 索引文件只保存一种 GDF 记录的位置信息。
     请参见图 5, 是本发明实施例三提供的一种生成位置索引文件的方法, 该方法用于 为一个 GDF 生成两个位置索引文件, 该方法包括 :
     步骤 501 : 读取一条 GDF 记录的类型码和标识 ;
     步骤 502 : 获取所述记录在 GDF 中的起始存储位置及长度 ;
     步骤 503 : 将所述标识、 起始存储位置及长度作为一条索引存入一级位置索引文 件中所述类型码对应的索引簇中 ; 仍以前文所述图 3 为例, 步骤 503 是将 “3, 8100, 161” 作为一条索引存入 “23” 在 一级位置索引文件中对应的索引簇中。
     步骤 504 : 判断步骤 501 读取的 GDF 记录是否为最后一条记录, 如果是, 则进入步 骤 505, 如果否, 则返回步骤 501。
     步骤 505 : 获取每个类型码对应索引簇在一级位置索引文件中的起始存储位置 ;
     步骤 506 : 将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文 件中。
     在实际应用中, 也可以将图 5 所示方法调整成仅能为一种 GDF 记录生成位置索引 文件的方法, 相关内容请参加前文, 此处不再赘述。
     以上是本发明实施例提供的三种生成位置索引文件的方法, 以下分三种情况对图 1 所示方法的具体实施方法进行详细介绍。
     第一、 预先采用图 2 所示方法生成位置索引文件, 则在实际应用中, 图 1 所示 “步骤 102 查找所述记录在所述 GDF 中的起始存储位置及长度” 具体包括 :
     在所述类型码对应的预置位置索引文件中, 查找所述标识对应的所述记录在 GDF 中的起始存储位置及长度。
     第二、 预先采用图 4 所示方法生成位置索引文件, 则在实际应用中, 图 1 所示 “步骤 102 查找所述记录在所述 GDF 中的起始存储位置及长度” 具体包括 :
     在预置位置索引文件中, 查找所述类型代码及标识对应的记录在所述 GDF 中的起 始存储位置及长度。
     第三、 预先采用图 5 所示方法生成位置索引文件, 则在实际应用中, 图 1 所示 “步骤 102 查找所述记录在所述 GDF 中的起始存储位置及长度” 具体包括 :
     从预置的二级位置索引文件中, 查找所述类型码对应的索引簇在所述一级索引中 的起始存储位置 ;
     从预置的一级位置索引文件中所述起始存储位置开始, 查找所述标识对应的所述
     记录在 GDF 中的起始存储位置及长度。
     以上对本发明实施例提供的读取 GDF 记录的方法以及生成位置索引文件的方法 进行了详细介绍。 由于一个 GDF 中 99%的记录是数据记录, 因此, 仅对 GDF 数据记录采用本 发明提供方法进行读取也可达到提高读取速度及效率的目的。需要注意的是, 如果仅采用 本发明提供方法读取 GDF 数据记录, 则在预先生成位置索引文件时, 只需针对 GDF 数据记录 生成位置索引文件。
     以上是本发明实施例提供的读取 GDF 记录的方法, 以下结合附图对本发明提供的 实现上述方法装置进行介绍。
     请参见图 6, 是本发明提供的一种读取 GDF 记录的装置组成示意图, 所述装置包 括:
     记录读取信息接收单元 601, 用于接收 GDF 记录的类型码及标识 ;
     记录存储信息查找单元 602, 用于通过所述类型码及标识, 在预置的位置索引文件 中查找所述记录在所述 GDF 中的起始存储位置及长度 ;
     在实际应用中, 可以预先由位置索引文件生成单元遍历所述 GDF 生成所述位置索 引文件。位置索引文件生成单元亦可以独立于图 6 所示装置, 也可以作为图 6 所示装置包 含的一个功能模块, 并不影响本发明的实现。
     记录读取单元 603, 用于从所述 GDF 中所述起始存储位置开始读取所述长度范围 内的记录。
     以上是本发明提供的读取 GDF 记录的装置。
     本发明还提供了三种实现上述位置索引文件生成单元的方式, 对这三种方式进行 详细介绍。
     第一种方式, 若一个 GDF 生成多个位置索引文件且一个位置索引文件唯一对应一 个类型码, 则位置索引文件生成单元具体包括 :
     记录信息读取单元, 用于读取 GDF 记录的类型码及标识 ;
     存储信息获取单元, 用于获取记录在 GDF 中的起始存储位置及长度 ;
     标识位置索引存储单元, 用于将所述标识、 起始存储位置及长度作为一条索引存 入所述类型码对应的位置索引文件中。
     第二种方式, 若一个 GDF 生成一个位置索引文件, 则位置索引文件生成单元具体 包括 :
     记录信息读取单元, 用于读取 GDF 记录的类型码及标识 ;
     存储信息获取单元, 用于获取记录在 GDF 中的起始存储位置及长度 ;
     类型标识位置索引存储单元, 用于将所述类型码、 标识、 起始存储位置及长度作为 一条索引存入所述位置索引文件中。
     第三种方式, 若一个 GDF 生成两级位置索引文件, 则位置索引文件生成单元具体 包括 :
     记录信息读取单元, 用于读取 GDF 记录的类型码及标识 ;
     存储信息获取单元, 用于获取记录在 GDF 中的起始存储位置及长度 ;
     一级索引存储单元, 用于将所述标识、 起始存储位置及长度作为一条索引存入一 级位置索引文件中所述类型码对应索引簇中 ;一级索引存储信息获取单元, 用于获取每个类型码对应索引簇在一级位置索引文 件中的起始存储位置 ;
     二级索引存储单元, 用于将所述类型码及所述起始存储位置作为一条索引存入二 级位置索引文件中。
     以结合前文生成的三种位置索引文件对图 6 所示装置的实现方式进行详细介绍。
     1、 若位置索引文件生成单元预先采用前文所述第一种方式生成位置索引文件, 则 在实际应用中, 所述记录存储信息查找单元 602 具体包括 : 索引查找单元和存储信息查找 单元 ;
     所述索引查找单元, 用于在预置的位置索引文件集中, 查找所述类型码对应的位 置索引文件 ;
     所述存储信息查找单元, 用于在所述索引查找单元查找到的位置索引文件中, 查 找所述标识对应的所述记录在 GDF 中的起始存储位置及长度。
     2、 若位置索引文件生成单元预先采用前文所述第二种方式生成位置索引文件, 则 在实际应用中, 所述记录存储信息查找单元具体用于在预置位置索引文件中, 查找所述类 型代码及标识对应的所述记录在所述 GDF 中的起始存储位置及长度。 3、 若位置索引文件生成单元预先采用前文所述第三种方式生成位置索引文件, 则 在实际应用中, 所述记录存储信息查找单元 602 具体包括 : 索引查找单元和存储信息查找 单元 ;
     一级索引存储信息查找单元, 用于从预置的二级位置索引文件中, 查找所述类型 码对应的索引簇在所述一级索引中的起始存储位置 ;
     记录存储信息查找子单元, 用于从预置的一级位置索引文件中所述起始存储位置 开始, 查找所述标识对应的所述记录在 GDF 中的起始存储位置及长度。
     以上对本发明所提供的一种读取地理数据文件记录的方法及装置进行了详细介 绍, 对于本领域的一般技术人员, 依据本发明实施例的思想, 在具体实施方式及应用范围上 均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。
    

读取地理数据文件记录的方法及装置.pdf_第1页
第1页 / 共14页
读取地理数据文件记录的方法及装置.pdf_第2页
第2页 / 共14页
读取地理数据文件记录的方法及装置.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《读取地理数据文件记录的方法及装置.pdf》由会员分享,可在线阅读,更多相关《读取地理数据文件记录的方法及装置.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102339293A43申请公布日20120201CN102339293ACN102339293A21申请号201010237817222申请日20100727G06F17/3020060171申请人高德软件有限公司地址102200北京市昌平科技园区昌盛路18号B1座72发明人王志勇冯伟张少辉54发明名称读取地理数据文件记录的方法及装置57摘要本发明提供了一种读取地理数据文件记录的方法及装置。所述方法包括接收地理数据文件记录的类型码及标识;通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;从所述地理数据文件中所述起始存储位置开始。

2、,读取所述长度范围内的记录。本发明还提供了一种读取地理数据文件记录的装置。采用本发明提供的技术方案能够实现快速、高效地读取地理数据文件记录。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书6页附图4页CN102339306A1/3页21一种读取地理数据文件记录的方法,其特征在于,所述方法包括接收地理数据文件记录的类型码及标识;通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;从所述地理数据文件中所述起始存储位置开始,读取所述长度范围内的记录。2如权利要求1所述的方法,其特征在于,所述方法进一步包括遍历所述地理数据。

3、文件生成所述位置索引文件的步骤。3如权利要求2所述的方法,其特征在于,若一个地理数据文件生成多个位置索引文件,且一个类型码对应唯一一个位置索引文件,则所述生成位置索引文件的步骤具体包括读取地理数据文件记录的类型码及标识;获取所述记录在地理数据文件中的起始存储位置及长度;将所述标识、起始存储位置及长度作为一条索引存入所述类型码对应的位置索引文件中。4如权利要求3所述的方法,其特征在于,查找所述记录在所述地理数据文件中的起始存储位置及长度具体包括在所述类型码对应的预置位置索引文件中,查找所述标识对应的记录在地理数据文件中的起始存储位置及长度。5如权利要求2所述的方法,其特征在于,若一个地理数据文件。

4、生成一个位置索引文件,则所述生成位置索引文件的步骤具体包括读取地理数据文件记录的类型码及标识;获取所述记录在地理数据文件中的起始存储位置及长度;将所述类型码、标识、起始存储位置及长度作为一条索引存入所述位置索引文件中。6如权利要求5所述的方法,其特征在于,查找所述记录在所述地理数据文件中的起始存储位置及长度具体包括在预置位置索引文件中,查找所述类型代码及标识对应的所述记录在所述地理数据文件中的起始存储位置及长度。7如权利要求2所述的方法,其特征在于,若一个地理数据文件生成两级位置索引文件,则所述生成位置索引文件的步骤具体包括读取地理数据文件记录的类型码及标识;获取所述记录在地理数据文件中的起始。

5、存储位置及长度;将所述标识、起始存储位置及长度作为一条索引存入一级位置索引文件中所述类型码对应的索引簇中;获取每个类型码对应的索引簇在一级位置索引文件中的起始存储位置;将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文件中。8如权利要求7所述的方法,其特征在于,若所述位置索引文件包括查找所述记录在所述地理数据文件中的起始存储位置及长度具体包括从预置的二级位置索引文件中,查找所述类型码对应的索引簇在一级索引中的起始存储位置;权利要求书CN102339293ACN102339306A2/3页3从所述起始存储位置开始,在预置的一级位置索引文件中查找所述标识对应的记录在地理数据文件中的起始存。

6、储位置及长度。9一种读取地理数据文件记录的装置,其特征在于,所述装置包括记录读取信息接收单元,用于接收地理数据文件记录的类型码及标识;记录存储信息查找单元,用于通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;记录读取单元,用于从所述地理数据文件中所述起始存储位置开始读取所述长度范围内的记录。10如权利要求1所述的装置,其特征在于,所述装置进一步包括位置索引文件生成单元,用于遍历所述地理数据文件生成所述位置索引文件。11如权利要求10所述的装置,其特征在于,若一个地理数据文件生成多个位置索引文件,且一个类型码对应唯一一个位置索引文件,则位置索引文。

7、件生成单元具体包括记录信息读取单元,用于读取地理数据文件记录的类型码及标识;存储信息获取单元,用于获取记录在地理数据文件中的起始存储位置及长度;标识位置索引存储单元,用于将所述标识、起始存储位置及长度作为一条索引存入所述类型码对应的位置索引文件中。12如权利要求11所述的装置,其特征在于,所述记录存储信息查找单元具体包括索引查找单元和存储信息查找单元;所述索引查找单元,用于在预置的位置索引文件集中,查找所述类型码对应的位置索引文件;所述存储信息查找单元,用于在所述索引查找单元查找到的位置索引文件中,查找所述标识对应的所述记录在地理数据文件中的起始存储位置及长度。13如权利要求10所述的装置,其。

8、特征在于,若一个地理数据文件生成一个位置索引文件,则位置索引文件生成单元具体包括记录信息读取单元,用于读取地理数据文件记录的类型码及标识;存储信息获取单元,用于获取记录在地理数据文件中的起始存储位置及长度;类型标识位置索引存储单元,用于将所述类型码、标识、起始存储位置及长度作为一条索引存入所述位置索引文件中。14如权利要求13所述的装置,其特征在于,所述记录存储信息查找单元具体用于在预置位置索引文件中,查找所述类型代码及标识对应的所述记录在所述地理数据文件中的起始存储位置及长度。15如权利要求10所述的装置,其特征在于,若一个地理数据文件生成两级位置索引文件,则位置索引文件生成单元具体包括记录。

9、信息读取单元,用于读取地理数据文件记录的类型码及标识;存储信息获取单元,用于获取记录在地理数据文件中的起始存储位置及长度;一级索引存储单元,用于将所述标识、起始存储位置及长度作为一条索引存入一级位置索引文件中所述类型码对应索引簇中;一级索引存储信息获取单元,用于获取每个类型码对应索引簇在一级位置索引文件中的起始存储位置;权利要求书CN102339293ACN102339306A3/3页4二级索引存储单元,用于将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文件中。16如权利要求15所述的装置,其特征在于,所述记录存储信息查找单元具体包括一级索引存储信息查找单元,用于从预置的二级位置索。

10、引文件中,查找所述类型码对应的索引簇在所述一级索引中的起始存储位置;记录存储信息查找子单元,用于从所述起始存储位置开始,在预置的一级位置索引文件中查找所述标识对应的记录在地理数据文件中的起始存储位置及长度。权利要求书CN102339293ACN102339306A1/6页5读取地理数据文件记录的方法及装置技术领域0001本发明涉及地理信息系统技术领域,尤其涉及一种读取地理数据文件记录的方法及装置。背景技术0002地理数据文件GEOGRAPHICDATAFILES,GDF是国际标准化组织颁布的一种保存地理数据的文件格式,用于描述道路及道路相关信息。一个GDF包括全局记录、数据记录和更新记录,其中。

11、数据记录又包括坐标记录、结点记录、线记录等13种类型的记录。0003在地理数据的开发过程中,对GDF记录的读取操作必不可少,现有技术采用遍历整个GDF的方式,实现对GDF中某类型记录的读取,比如,遍历整个GDF,实现坐标记录的读取。0004在对现有读取GDF记录方法的研究和实践过程中,发明人发现GDF通常都是几百MB甚至GB大小的文件,遍历整个GDF需要花费很长时间,因此,现有读取GDF记录的方法存在读取速度和效率较低的问题。发明内容0005本发明实施例要解决的技术问题是提供一种读取地理数据文件记录的方法及装置,能够实现快速、高效地读取GDF记录。0006为解决上述技术问题,本发明的目的是通过。

12、以下技术方案实现的0007本发明提供了一种读取地理数据文件记录的方法,所述方法包括0008接收地理数据文件记录的类型码及标识;0009通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;0010从所述地理数据文件中所述起始存储位置开始,读取所述长度范围内的记录。0011本发明还提供了一种读取地理数据文件记录的装置,所述装置包括0012记录读取信息接收单元,用于接收地理数据文件记录的类型码及标识;0013记录存储信息查找单元,用于通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述地理数据文件中的起始存储位置及长度;0014记录读取单元,用。

13、于从所述地理数据文件中所述起始存储位置开始读取所述长度范围内的记录。0015上述技术方案具有如下有益效果0016本发明提供的读取地理数据文件记录的技术方案,预先构建了地理数据文件记录的位置索引文件,在读取GDF记录时,通过该位置索引文件存储的记录位置信息,能够快速定位相应记录,从而实现了快速、高效地读取GDF记录。附图说明说明书CN102339293ACN102339306A2/6页60017图1为本发明提供的读取GDF记录的方法流程图;0018图2为本发明实施例一提供的生成位置索引文件的方法流程图;0019图3为本发明实施例提供的GDF数据文件记录实例;0020图4为本发明实施例二提供的生成。

14、位置索引文件的方法流程图;0021图5为本发明实施例三提供的生成位置索引文件的方法流程图;0022图6为本发明提供的读取GDF记录的装置组成示意图。具体实施方式0023为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下参照附图对本发明实施例提供的技术方案进行详细说明。0024请参加图1,为本发明提供的读取地理数据文件GDF记录的方法流程图,该方法包括0025步骤101接收GDF记录的类型码及标识;0026步骤102通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述GDF中的起始存储位置及长度;0027其中,位置索引文件是预先通过遍历所述GDF生成的。0028步骤103从GD。

15、F中所述起始存储位置开始读取所述长度范围内的记录。0029以上为本发明提供的读取GDF记录的方法,GDF记录包括全局记录、数据记录及更新记录,本发明提供方法适用于读取上述三种记录。0030以下结合附图对生成位置索引文件的方法进行详细介绍。0031请参见图2,为本发明实施例一提供的生成位置索引文件的方法,该方法用于为一个GDF生成多个位置索引文件,并且,生成的每个位置索引文件唯一对应一个类型码,该方法包括0032步骤201读取一条GDF记录的类型码和标识;0033步骤202获取所述记录在GDF中的起始存储位置及长度记录字节数;0034其中,起始存储位置用该记录头相对于文件头的偏移量表示。0035。

16、步骤203将所述标识、起始存储位置及长度作为一条索引存入所述类型码对应的位置索引文件中;0036如图3所示是一条GDF坐标记录,记录的开始两位数字“23”是这条记录的类型码,第三位数字“3”是这条记录的标识,假设该记录头到GDF头的偏移量为“8100”,记录长度为“161字节”,则将“3,8100,161”作为一条索引存入类型码“23”对应的位置索引文件。0037步骤204判断步骤201读取的GDF记录是否为最后一条记录,如果是,则结束该流程,如果否,则返回步骤201。0038以上是本发明实施例一提供的生成位置索引文件的方法。0039请参见表1,GDF数据记录包括坐标记录、结点记录、线记录等1。

17、3种记录,每一种记录都对应一个类型码。假设一个GDF包含上述13种记录,若采用图2所示方法为该GDF的记录生成位置索引文件,则至少能够生成13个位置索引文件,并且这13个位置索引文件分别唯一对应一个表1所示类型码。0040说明书CN102339293ACN102339306A3/6页7数据记录名称类型码坐标记录23结点记录25线记录24面记录29文本记录41属性记录44时间域记录45转换记录46关系记录50点要素记录51线要素记录52面要素记录53复杂要素记录5400410042表1GDF数据记录及类型码0043需要说明的是,若实际应用需要图2所示方法仅为一种类型的记录生成位置索引文件,比如,。

18、仅为GDF数据记录生成位置索引文件,则需要在图2所示步骤201及步骤202之间加入如下步骤0044根据步骤201读取的类型码判断记录是否为数据记录即,判断步骤201读取的类型码是否属于表1所示13种类型码的一种,如果是,则进入步骤202,如果否,则忽略该记录,转入读取下一条记录的类型码和标识。0045同理,可以将图2所示方法调整成仅为GDF全局记录生成位置索引文件,或,仅为GDF更新记录生成位置索引。0046请参见图4,是本发明实施例二提供的一种生成位置索引文件的方法,该方法用于为一个GDF生成一个位置索引文件,该方法包括0047步骤401读取一条GDF记录的类型码和标识;0048步骤402获。

19、取所述记录在GDF中的起始存储位置及长度;0049步骤403将所述类型码、标识、起始存储位置及长度作为一条索引存入所述位置索引文件中;说明书CN102339293ACN102339306A4/6页80050仍以前文所述图3为例,步骤403是将“23,3,8100,161”作为一条索引存入位置索引文件。0051步骤404判断步骤401读取的GDF记录是否为最后一条记录,如果是,则结束该流程,如果否,则返回步骤401。0052在实际应用中,也可以将图4所示方法调整成仅能为一种GDF记录生成位置索引文件的方法,相关内容请参加前文,此处不再赘述。0053对比图2和图4所示方法,可知图4与图2生成的位置。

20、索引文件的区别在于,图4生成的一个位置索引文件中保存了一个GDF所有记录的位置信息,而图2生成的一个位置索引文件只保存一种GDF记录的位置信息。0054请参见图5,是本发明实施例三提供的一种生成位置索引文件的方法,该方法用于为一个GDF生成两个位置索引文件,该方法包括0055步骤501读取一条GDF记录的类型码和标识;0056步骤502获取所述记录在GDF中的起始存储位置及长度;0057步骤503将所述标识、起始存储位置及长度作为一条索引存入一级位置索引文件中所述类型码对应的索引簇中;0058仍以前文所述图3为例,步骤503是将“3,8100,161”作为一条索引存入“23”在一级位置索引文件。

21、中对应的索引簇中。0059步骤504判断步骤501读取的GDF记录是否为最后一条记录,如果是,则进入步骤505,如果否,则返回步骤501。0060步骤505获取每个类型码对应索引簇在一级位置索引文件中的起始存储位置;0061步骤506将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文件中。0062在实际应用中,也可以将图5所示方法调整成仅能为一种GDF记录生成位置索引文件的方法,相关内容请参加前文,此处不再赘述。0063以上是本发明实施例提供的三种生成位置索引文件的方法,以下分三种情况对图1所示方法的具体实施方法进行详细介绍。0064第一、预先采用图2所示方法生成位置索引文件,则在实。

22、际应用中,图1所示“步骤102查找所述记录在所述GDF中的起始存储位置及长度”具体包括0065在所述类型码对应的预置位置索引文件中,查找所述标识对应的所述记录在GDF中的起始存储位置及长度。0066第二、预先采用图4所示方法生成位置索引文件,则在实际应用中,图1所示“步骤102查找所述记录在所述GDF中的起始存储位置及长度”具体包括0067在预置位置索引文件中,查找所述类型代码及标识对应的记录在所述GDF中的起始存储位置及长度。0068第三、预先采用图5所示方法生成位置索引文件,则在实际应用中,图1所示“步骤102查找所述记录在所述GDF中的起始存储位置及长度”具体包括0069从预置的二级位置。

23、索引文件中,查找所述类型码对应的索引簇在所述一级索引中的起始存储位置;0070从预置的一级位置索引文件中所述起始存储位置开始,查找所述标识对应的所述说明书CN102339293ACN102339306A5/6页9记录在GDF中的起始存储位置及长度。0071以上对本发明实施例提供的读取GDF记录的方法以及生成位置索引文件的方法进行了详细介绍。由于一个GDF中99的记录是数据记录,因此,仅对GDF数据记录采用本发明提供方法进行读取也可达到提高读取速度及效率的目的。需要注意的是,如果仅采用本发明提供方法读取GDF数据记录,则在预先生成位置索引文件时,只需针对GDF数据记录生成位置索引文件。0072以。

24、上是本发明实施例提供的读取GDF记录的方法,以下结合附图对本发明提供的实现上述方法装置进行介绍。0073请参见图6,是本发明提供的一种读取GDF记录的装置组成示意图,所述装置包括0074记录读取信息接收单元601,用于接收GDF记录的类型码及标识;0075记录存储信息查找单元602,用于通过所述类型码及标识,在预置的位置索引文件中查找所述记录在所述GDF中的起始存储位置及长度;0076在实际应用中,可以预先由位置索引文件生成单元遍历所述GDF生成所述位置索引文件。位置索引文件生成单元亦可以独立于图6所示装置,也可以作为图6所示装置包含的一个功能模块,并不影响本发明的实现。0077记录读取单元6。

25、03,用于从所述GDF中所述起始存储位置开始读取所述长度范围内的记录。0078以上是本发明提供的读取GDF记录的装置。0079本发明还提供了三种实现上述位置索引文件生成单元的方式,对这三种方式进行详细介绍。0080第一种方式,若一个GDF生成多个位置索引文件且一个位置索引文件唯一对应一个类型码,则位置索引文件生成单元具体包括0081记录信息读取单元,用于读取GDF记录的类型码及标识;0082存储信息获取单元,用于获取记录在GDF中的起始存储位置及长度;0083标识位置索引存储单元,用于将所述标识、起始存储位置及长度作为一条索引存入所述类型码对应的位置索引文件中。0084第二种方式,若一个GDF。

26、生成一个位置索引文件,则位置索引文件生成单元具体包括0085记录信息读取单元,用于读取GDF记录的类型码及标识;0086存储信息获取单元,用于获取记录在GDF中的起始存储位置及长度;0087类型标识位置索引存储单元,用于将所述类型码、标识、起始存储位置及长度作为一条索引存入所述位置索引文件中。0088第三种方式,若一个GDF生成两级位置索引文件,则位置索引文件生成单元具体包括0089记录信息读取单元,用于读取GDF记录的类型码及标识;0090存储信息获取单元,用于获取记录在GDF中的起始存储位置及长度;0091一级索引存储单元,用于将所述标识、起始存储位置及长度作为一条索引存入一级位置索引文件。

27、中所述类型码对应索引簇中;说明书CN102339293ACN102339306A6/6页100092一级索引存储信息获取单元,用于获取每个类型码对应索引簇在一级位置索引文件中的起始存储位置;0093二级索引存储单元,用于将所述类型码及所述起始存储位置作为一条索引存入二级位置索引文件中。0094以结合前文生成的三种位置索引文件对图6所示装置的实现方式进行详细介绍。00951、若位置索引文件生成单元预先采用前文所述第一种方式生成位置索引文件,则在实际应用中,所述记录存储信息查找单元602具体包括索引查找单元和存储信息查找单元;0096所述索引查找单元,用于在预置的位置索引文件集中,查找所述类型码对。

28、应的位置索引文件;0097所述存储信息查找单元,用于在所述索引查找单元查找到的位置索引文件中,查找所述标识对应的所述记录在GDF中的起始存储位置及长度。00982、若位置索引文件生成单元预先采用前文所述第二种方式生成位置索引文件,则在实际应用中,所述记录存储信息查找单元具体用于在预置位置索引文件中,查找所述类型代码及标识对应的所述记录在所述GDF中的起始存储位置及长度。00993、若位置索引文件生成单元预先采用前文所述第三种方式生成位置索引文件,则在实际应用中,所述记录存储信息查找单元602具体包括索引查找单元和存储信息查找单元;0100一级索引存储信息查找单元,用于从预置的二级位置索引文件中。

29、,查找所述类型码对应的索引簇在所述一级索引中的起始存储位置;0101记录存储信息查找子单元,用于从预置的一级位置索引文件中所述起始存储位置开始,查找所述标识对应的所述记录在GDF中的起始存储位置及长度。0102以上对本发明所提供的一种读取地理数据文件记录的方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。说明书CN102339293ACN102339306A1/4页11图1说明书附图CN102339293ACN102339306A2/4页12图2图3说明书附图CN102339293ACN102339306A3/4页13图4说明书附图CN102339293ACN102339306A4/4页14图5图6说明书附图CN102339293A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


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