一种基于MPPQT的空间对象标识编码方法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A Method for Spatial Object Identification Based on MPPQT
FAN Jianyong, WANG Jiayao, XIONG Wei
( Information Engineering University, Zhengzhou 450001, China) Abstract: Spatial object identification is the key of geospatial data storage and the base of geoinformation inquiry. Referring to the shortcomings of traditional identification techniques and MPPQT subdivision s capabilities of multiscale, multiresolution expression and application of geographic objects, a new spatial object identification based on MPPQT subdivision was put forward. Spatial object identification coding comprised of subdivision cell s address identification, Hilbert Base16 coding and sequence coding, and the length of coding was no more than 36 bytes. The coding had the properties of multiscale, the location of spatial, unique in the world and the aggregation, and the storage space was saved. At the last part, an example of encoding objects in a vector data was presented,the results showed that the coding on global geospatial information could accelerate the speed of data query and research in the massive data storage. Key words: MPPQT; global spatial data organization; spatial object; coding of geospatial object identification; spatial retrieval
86
测绘科学技术学报
2014 年
合 4 的整数倍; 二是符合计算机内存 4 字节或 8 字节的要求, 编码长度适中, 并且符合字典排序的 需求, 同时具有一定的聚类特性。 2. 2. 1 Hilbert 的 Base16 编码方法 Base16 编码方法如下所述。 步骤 1: 将 Hilbert 十进制编码转换为二进制 编码, 保证同一阶、 同一格网单元的 Hilbert 二进 “0” 。 制编码的位数相同, 不足补 步骤 2: 将 Hilbert 的 二 进 制 编 码 按 4 位 划 “0” 。 分, 不足 4 位补 步骤 3: 用 0 ~ 9 和 a ~ f 这 16 个 字 母 进 行 Base16 编码, 并按照划分顺序排列, 形成 Hilbert 的 Base16 编 码。 例 如: Hilbert 的 二 进 制 编 码 为 “11010010110001000100 ” , 、 将 其 划 分 为“1101 ” “0010 ” 、 “1100 ” 、 “0100” 、 “0100 ” , 转换为 Base16 “e2c44” 。 编码为 Hilbert 经典的 码生成算法是基于空间目标 点所在的格网的行列数二进制位进行操作 , 其算
第 31 卷第 1 期
范建永, 等: 一种基于 MPPQT 的空间对象标识编码方法 表1 等级 9 10 11 12 13 14 16 各比例尺与 MPPQT 层次对应关系表 比例尺 1 ∶ 1 000 000 1 ∶ 500 000 1 ∶ 250 000 1 ∶ 100 000 1 ∶ 50 000 1 ∶ 25 000 1 ∶ 10 000
MPPQT 层次 剖 分 , 是 利 用 Mercator 投 影 在 - 85.051 128 779 806 59°]到 地理坐标[- 180° , [ 180° , 85.051 128 779 806 59°] 范围内 , 将地球 投影成一 个 规 则 的 正 方 形 平 面 , 并在该正方形
空间对象标识编码 ( GeoID ) 是地理空间数据 组织的关键, 是存储和检索的基础, 直接影响空间 数据分布式存取乃至整个 GIS 系统的效率。传统 的标识编码技术有命名法和分配法 。命名法虽然 可以在静态和小区域内保证空间对象标识码的唯 GeoID 一性, 但在大区域、 海量、 动态数据条件下, 的唯一性很难得到保证; 分配法是由计算机随机 UUID 等 ) 。 这种编码能 分配 GeoID( 例如 GUID, 够保证唯一性, 但不能表达空间对象的空间位置, 也不具备表达空间对象的空间相关性与聚集性的 能力, 这就使得多源空间数据的检索、 共享与整合 出现了困难
hilbert曲线阶数格网的宽度和高度与空间信息格网经纬度的关系为mppqt剖分影像块组织参照googlemapsbingmapshilbert格网树的自定义瓦片层次结构的设计球面按照分辨率不同可分为21层每一层代表一个缩放等级第级只有一幅世界地图第21级分辨率最高并利用区位码对格网单元进行编码
2014 年 第 31 卷第 1 期
[1 ]
既具有全球唯一性, 又可以表达空间位置和空间 相关性, 以适应空间数据的海量性、 多尺度性和满 足分布式存储与并行处理的需要。 基于此, 本文 设计了一种基于 Mercator 投影金字塔四叉树 MPPQT ( Mercator Projection Pyramid QuadTree ) 层次 剖分的空间对象标识编码方法, 并进行了验证。 1 MPPQT 层次剖分方法
[7 ] 填充曲线可以获得最佳的聚类效果 。 也就是 说, 如果空间目标的 Hilbert 空间排列码相邻, 则
率不同可分为 0 ~ 20 共 21 层, 每一层代表一个缩 放等级, 第 0 级只有一幅世界地图, 第 21 级分辨 率最高, 并利用区位码对格网单元进行编码。 本 “0123” 4 个数字对 MPPQT 剖分瓦片进行 文采用 索引编码。 2 基于 MPPQT 的 GeoID 编码方法 基于 MPPQT 的 GeoID 编码 ( MHGeoID ) 的实 质是利用 MPPQT 剖分面片编码 ( 反映空间实体 所在宏观位置) 、 空间实体在剖分面片划分的 Hil[45 ] bert 曲线编码 ( 反映空间实体具体位置 ) 和顺 序码( 反映局部区域内空间实体的唯一标识 ) 来 区分空间实体。 2.1 编码规则 利用 MPPQT 层 次 剖 分 的 格 网 单 元 编 码 和 Hilbert 空间填充曲线[6] 来设计空间对象的编码 标识。为了建立统一的编码方式, 约定以下规则。 1 : 规则 空间对象标识是由格网单元编码、 Hilbert 阶数、 Hilbert 编码和顺序码组成。 规则 2: 格网编码指示空间对象的宏观位置 , Hilbert 阶数和 Hilbert 编码指示空间对象的微观 位置, 同一个格网编码和 Hilbert 编码组合中如包 含多个空间要素, 则利用顺序码进行区别。 规则 3: 对于多点、 线、 多线、 面、 多面矢量要 素, 均按照其质心来计算。 规则 4: 由于空间数据是依比例尺来划分的 , 所以比例尺与格网层次之间存在一定的对应关 系, 如表 1 所示。
。 因此, 急需建立一种编码方法,
0618; 修回日期: 20131020。 收稿日期: 2013基金项目: 国家自然科学基金项目 ( 41271392) 。 mail: chxyfjy@ gmail.com 作者简介: 范建永( 1977- ) , 讲师, 博士生, 主要从事地理信息系统研究与开发。E男, 河南封丘人,
图1 MPPQT 剖分影像块组织
{
H GH = G H / 2Байду номын сангаасm .
( 1)
[3 ] 参照 Google Maps 和 Bing Maps 的基于四叉 树的自定义瓦片层次结构的设计, 球面按照分辨
m 为 Hilbert 阶数; H GW 和 H GH 为 Hilbert 格网 式中, 在 m 阶的宽度和高度; G W 和 G H 分别是某一层级 的格网宽度和高度。 MPPQT 层次剖分格网的经纬 以第 9 级为例, 0.703 125° , 0.332 230 971 796 12° ] , 差为[ 当一个 格网在划分 16 阶 Hilbert 时, 利用式( 1) 可以得出 Hilbert 网格的经纬差为[ 0.038 623 809 814 453″, 0.018 249 992 347 199″] 。 而 1 ∶ 100 万的矢量数 “秒” 据是以 为单位的, 当划分为 16 阶时, 精度可 达到 0.01″ 数量级, 完全可以将矢量要素区分开 来。这也是 Hilbert 曲线划分到 16 阶的原因。 2.2 Hilbert 的 Base16 编码生成算法 空间填充曲线是一种基于空间目标排序的索 Hilbert 空间 引方法。在众多的空间填充曲线中,
85
平面上采 用 递 归 四 叉 树 进 行 剖 分 , 对每一个剖 [2 ] 分面片建立四叉树索引 。 划分方式如图 1 所 示。
规则 5: 每一个独立格网单元的 Hilbert 曲线 阶数最小为 2 阶, 最大为 16 阶, 同一层级 Hilbert 阶数相同。 Hilbert 曲线阶数、 格网的宽度和高度与空间 信息格网经纬度的关系为 H GW = G W / 2 m ;
摘要: 空间对象标识是地理空间数据组织的关键, 是空间数据存储和检索的基础 。 鉴于传统标识的局限性 和 Mercator 投影金字塔四叉树 MPPQT( Mercator Projection Pyramid QuadTree) 层次剖分模型的全球连续性 、 多层次性以及剖分面片编码的全球唯一性, 本文设计了一种基于 MPPQT 层次剖分标识的空间对象字符串 Hilbert 的 Base16 编码和顺序码构成, 编码方法。该编码由剖分面片编码 、 编码长度最长 36 个字节, 并具有 一定的聚集特性。最后, 以矢量数据组织为例进行了试验验证 。结果表明, 该模型能大大加快空间数据的 查询与检索速度, 为全球的空间对象分布式存储和并行处理提供支持 。 关 键 词: Mercator 投影金字塔四叉树; 全球空间数据组织; 空间对象; 空间对象标识编码; 空间查询 文献标识码: A DOI 编码: 10.3969 / j.issn.16736338.2014.01.018 中图分类号: P208
测绘科学技术学报 Journal of Geomatics Science and Technology
2014 Vol.31 No.1
6338( 2014) 01008405 文章编号: 1673-
一种基于 MPPQT 的空间对象标识编码方法
范建永,王家耀,熊 伟
( 信息工程大学, 河南 郑州 450001)
空间目标 相 邻; 相 反, 如 果 空 间 目 标 相 邻, 则其 [58 ] Hilbert 空间排列码一般也相邻或相近 。 Hilbert 编码的设计需要考虑两点: 1) 编码的 排序; 2) Hilbert 空间排序码的长度。 为了保证 编码的排序, 一般将 Hilbert 编码设计为二进制的 方式, 但是, 这种编码太长。 例如, 每一个二进制 Hilbert 编码将占 位占 1 个字节, 当达到 16 阶时, 32 个字节。编码长度太长, 一方面影响数据的存 储效率; 另一方面, 不能缓存更多的数据到内存, 降低了数据的检索效率。 为了在确保排序结果的前提下缩短编码长 达, 本文使用 Base16 编码对 Hilbert 空间曲线进 行编码, 编码设计的前提条件包括两点: 一是设定 的 Hilbert 阶数为 16 阶, 二进制位数最长为 32, 符