CN102841926A - 尺度适应的矢量数据集要素位图嵌入式编码方法 - Google Patents
尺度适应的矢量数据集要素位图嵌入式编码方法 Download PDFInfo
- Publication number
- CN102841926A CN102841926A CN2012102420855A CN201210242085A CN102841926A CN 102841926 A CN102841926 A CN 102841926A CN 2012102420855 A CN2012102420855 A CN 2012102420855A CN 201210242085 A CN201210242085 A CN 201210242085A CN 102841926 A CN102841926 A CN 102841926A
- Authority
- CN
- China
- Prior art keywords
- bitmap
- key element
- parameter
- encoded
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
Abstract
本发明涉及GIS领域中空间数据的索引编码技术,给出了一种尺度适应的矢量数据集要素位图嵌入式编码方法,实现了基于该方法的矢量数据集中各要素的位图嵌入式自适应编码。该方法包括以下步骤:初始化矢量数据集参数,确定矢量要素的位图嵌入式编码参数,获取矢量要素的自适应位图嵌入式编码,对已确定的位图嵌入式编码进行反向解析。根据待编码要素自身的尺度,将整个要素集进行了8n×8n的网格划分,待编码要素确定只占其中一块连续的8×8区域。稳定的生成128byte的编码序列,实现根据要素自身尺度,自适应的将其几何轮廓作为空间数据索引的一部分进行编码,达到高效的矢量数据管理。
Description
技术领域
本发明涉及GIS领域中空间数据的索引编码技术,给出了一种尺度适应的矢量数据集要素位图嵌入式编码方法,实现了基于该方法的矢量数据集中各要素的位图嵌入式自适应编码,并在保证要素编码唯一的基础上,压缩该编码的数据存储量。
背景技术
矢量数据是GIS空间数据的一种重要的表达、组织方式,在绝大多数GIS系统中都需要应用到矢量数据。矢量数据按照特征要素模型来对空间实体进行表达,将空间实体抽象为点、线、面几种基本的要素或者这几种基本要素(间)的组合。
空间数据可视化与空间数据的管理,两者同为GIS的基础,并且也是所有GIS系统的核心功能。从实现技术考察,计算机图形学是空间数据可视化的基础,顶点坐标带图形设备坐标之间的转换是矢量数据可视化输出的关键,光栅图像是可视化的最终形式,像素是可视化结果可分辨的最下单元。另一方面,无论是出于应用分析的需要,还是为了更好的输出效率,空间数据都需要经过系统的管理。空间数据的管理方法主要经过了“文件系统管理”→“文件-数据库混合管理”→“空间数据库管理”几个主要的阶段,但无论是何种管理方式,其管理的基础都是数据的空间索引。
利用空间索引的方式来对空间进行管理,可以有效的提高空间数据的可视化效率和空间分析的速度。当前主流的GIS软件主要采取唯一标识编码的方式来对矢量数据进行索引编码,这种方式通过在矢量数据的属性数据表中添加独立的一个字段,并按照顺序的数值序列来对矢量数据集中的各个要素进行编码。但这种方法将矢量数据要素在数据集中的位置信息与其自身的几何信息分离开来,也就是说,在获取某一要素索引的同时,并不能得知该要素的几何轮廓特征,只能从数据库中通过再次的查询来获取该矢量要素数据。事实上,矢量数据在最终的屏幕输出过程中,仍然需要进行光栅化的输出,光栅化输出本身就可以视作对矢量要素的一种网格化的编码;同时,空间实体的位置和其几何特征两者在矢量要素集中基本上就可以近似唯一的表示该实体。基于此,本发明提出了一种尺度适应的矢量数据集要素位图嵌入式编码的方法,实现空间矢量数据的可视化与管理的融合,能够在对矢量数据集中各要素进行空间索引编码的同时,表达出其几何轮廓特征,从而实现高效的空间矢量数据管理。
发明内容
本发明的目的是在固定的数据量的基础上,对矢量数据集中的要素进行尺度自适应的位图嵌入式编码,改进现有的空间索引编码方式,实现对空间要素索引编码的同时,表达其几何轮廓特征。
本发明的技术方案是:
尺度适应的矢量数据集位图嵌入式编码方法,包含以下的步骤:
步骤1初始化矢量数据集参数:通过对矢量数据集外接矩形参数的计算,动态修正外接矩形获得能够将此数据集完全包含的最小正方形;
步骤2确定矢量要素的位图嵌入式编码参数:遍历矢量数据集中的每个矢量要素,获取其自适应的位图嵌入式编码参数;
步骤3获取矢量要素的自适应位图嵌入式编码:遍历获取当前矢量要素的顶点坐标数据,结合步骤2中获取的编码参数,生成能够近似表示该要素轮廓的、类似光栅化位图的比特位置编码,并最终生成唯一表示该要素的位图嵌入式编码;
步骤4对步骤3已确定的位图嵌入式编码进行反向解析。
所述步骤1中初始化矢量要素集参数主要包含:获取当前矢量数据集外接矩形的最长边的长度D,按照长度D对数据集的外接矩形进行修正,生成二维向量BBoxDimension作为该数据集的正外接边界。
所述步骤2获取位图嵌入式编码参数的具体参数和方法为:
A.位图嵌入式编码的层级参数:根据矢量数据集的最小外包正方形的边长与当前待编码要素的最小包正方形的边长的比值,得到该要素在一维度量空间上占数据集的大小,并按照unsigned int32数值类型进行取整;按照公式,其中,level表示计算得到的层级参数,percent为当前待编码要素的外接最小正方形占整个要素集的百分比的倒数,通过log(2)为标准来实现以8个行列进行位图光栅化划分,最终获取位图编码的层次参数;
B.位图嵌入式编码的行列数参数:对矢量数据集中的所有要素都采用8×8的位图光栅化编码,在得到当前待编码要素的层级参数后,通过不断的按照8的倍数来进行空间的离散网格化划分,最终得到该层级的位图行列数参数;
C.位图嵌入式编码的位图分辨率尺寸参数:与上述B的行列数参数对应的位图分辨率尺寸参数,在将整个数据集位图光栅化划分后,根据此数据集的最小外包正方形的边长,即可获得划分网格的大小,也就是位图分辨率的尺寸;
D.位图嵌入式编码的起始行列号参数:将整个数据集以8n×8n的位图光栅化划分后,整个数据集中的任一位置就可以通过位图的网格行列号来确定,而待编码的要素始终只占其中的一块8×8的区域,因而需要确定此块区域的起始行列号,从而确定此要素的空间位置。
本发明的方法可以实现利用固定数据量的哈希化编码序列,按照数据集中各要素自身的尺度,自适应的表现矢量数据集中各要素的几何轮廓,同时作为其空间索引编码,有效降低GIS系统的数据存储、可视化和空间分析等代价。
附图说明
图1是本发明方法的流程示意图。
图2是位图嵌入式编码方法基本示意图。(a)表示原始矢量数据,(b)表示位图光栅化划分后的数据样式,(c)表示位图光栅化划分之后的编码规则,(d)表示最终存储的编码结构。
图3是位图嵌入式编码内存块的组织。
图4是尺度适应的矢量要素位图嵌入式编码示意图。(a)表示矢量数据集中面积适中的一个要素的自适应编码,(b) 表示矢量数据集中面积较大的一个要素的自适应编码,(c) 表示矢量数据集中面积较大小的一个要素的自适应编码。
具体实施方式
下面结合附图和实施例做进一步说明。
图1为本发明方法的流程图。所谓位图嵌入式编码,即将连续的矢量数据按照位图离散的网格光栅化的组织方式,实现通过有限的网格来逼近原有矢量数据的几何形态,在编码过程中,表现出一种将矢量数据嵌入到位图中的效果。如图2所示。
本发明技术方案的具体说明如下:
A.首先根据待编码要素最小外包正方形占整个数据集最小外包正方形的比值,确定该要素所属的整数级别,具体计算公式为,其中,level表示计算得到的层级参数,percent为当前待编码要素的外接最小正方形占整个要素集的百分比的倒数;
B.整个数据集范围首先可以划分为8行8列的位图式网格,按照算法步骤A中计算得到的层级结果,将8行8列的网格再次精细划分为8n×8n的网格,其中n就是待编码要素的层级;由此可以获得此层级网格划分的行列数和网格分辨率尺寸;
C.通过待编码要素和整个数据集的最小外包正方形边长、当前划分网格的分辨率尺寸,即可得到待编码要素的起始行列号参数。
D. 在内存中划出64个byte的空间,用来存储待编码要素的位图嵌入式网格编码(IMAGE);划出8个byte的空间,用来存储待编码要素的层级参数(Level);划出12个byte的空间,用来存储待编码要素所在的8×8区域起始位置X方向的编号(XCode);划出12个byte的空间,用来存储待编码要素所在的8×8区域起始位置Y方向的编号(YCode);划出32个byte的空间,用来存储待编码要素的原有要素ID(FID)。由此,编码的序列确定为:IMAGE + Level + XCode + YCode+ FID,数据量为64 + 8 + 12 + 12 + 32 = 128 byte= 两个double数值大小 = 1个GUID大小。如图3所示。
E.当待编码要素为单类型数据时,即待编码要素为单线、单面时:
E1.当待编码要素为单线时。
直接分配128byte的内存,在静态内存中分配,可以有效的降低程序设计语言中的内存分配负担;通过遍历线串的各个顶点,判断各个顶点所在当前网格划分中的行列号,将待编码要素所在的8×8区域按照“通过该网格设为1,反之设为0”的方法,实现对64个网格位二值化;在此8×8区域从下到上,从左至右,将0、1数值连成一串形成一个64位的数值,也就是最终位图嵌入式编码。
E2. 当待编码要素为单面时。
首先判断面状要素是否含岛,如果不包含岛,也就是简单的多边形,则与单线要素的编码实现方法类似,也是通过在静态内存中分配128byte的空间,遍历顶点的位置,确定面域边界所在的网格位置,将确定已经确定的网格内部填充满即可;如果多边形包含岛,则首先获取该面要素的外环,将外环的边界在网格上确定,将内部填充满,再获取内环,将内环内部网格的值取反即可。
F.当待编码要素为组合类型数据时,即待编码要素为多线、多面时:
无论是多线还是多面,最终都是遍历其组合内部每个子要素,再按照E1或E2的方式进行位图嵌入式编码。
G.将根据本发明所提出的编码方法,对矢量数据集中的各空间要素编码进行反向解析,按照二进制数据流的读取方式,首先读取64位,按照8位为一段,每个位的值为1的即为要素经过位置,反之则为空白位置,即通常意义上所说的二值化图像;再读取8位,转换为unsignedint32数据类型,作为该要素在整个数据集中的层级;再读取12位,转换为unsigned int32数据类型,作为该要素在整个数据集中的X方向起始号;再读取12位,转换为unsigned int32数据类型,作为该要素在整个数据集中的Y方向起始号;再读取32位,转换为unsigned int64数据类型,作为该要素的要素ID。根据层级、X起始号和Y起始号三者即可确定该要素在数据集中的位置,根据64位的二值化编码,即可确定该要素的近似几何轮廓,根据32位的要素ID即可唯一确定该要素。
位图嵌入式编码主要是针对线串、面域这种连续的空间实体的要素表达,而对于点状要素而言,由于其本身几何形状的单一性(在不考虑符号化方法的前提下仅为圆形一种),因而利用位图嵌入式编码方法对点状要素进行编码就显得没有必要,所以在本发明的编码体系下,对点状要素的编码采用原有FID的方式来实现。
实施例:
对一个要素类型为多边形面的数据集实施本发明的编码方法,首先确定该数据集的正方形外包围盒,再依次遍历整个数据集中的所有矢量要素,根据该要素自身的尺度,确定位图光栅化网格的大小,再确定当前待编码要素所占的8×8区域,从而生成64位的位图编码;将生成的位图编码加上当前位图光栅化层级、待编码要素的X方向和Y方向的起始数、待编码要素的要素ID,即为该要素的最终尺度适应的位图嵌入式编码。如图4。
下面是用软件方法,在C++语言环境下,实现尺度适应的矢量数据集位图嵌入式编码:
(1)定义结构体:
表示位图嵌入式编码结构。
(2)定义结构体:
表示空间二维向量。
(3)定义结构体:
表示二维的包围盒。
定义类型:typedef GRectangle2d<f32> GRectangle2dd;表示32位整型的二维包围盒。
(4)定义类:
在此类中实现将适量数据集中的某一要素进行位图嵌入式编码,并可以将编码后的类二值图输出。调用的方法和流程为:(A)实例化GQIndexRasterizer类;(B)调用Initialize函数进行初始化操作;(C)调用RasterizeGeometry函数获取编码结果。
Claims (3)
1.尺度适应的矢量数据集要素位图嵌入式编码方法,其特征是,该方法包括下列步骤:
步骤1初始化矢量数据集参数:通过对矢量数据集外接矩形参数的计算,动态修正外接矩形获得能够将此数据集完全包含的最小正方形;
步骤2确定矢量要素的位图嵌入式编码参数:遍历矢量数据集中的每个矢量要素,获取其自适应的位图嵌入式编码参数;
步骤3获取矢量要素的自适应位图嵌入式编码:遍历获取当前矢量要素的顶点坐标数据,结合步骤2中获取的编码参数,生成能够近似表示该要素轮廓的、类似光栅化位图的比特位置编码,并最终生成唯一表示该要素的位图嵌入式编码;
步骤4对步骤3已确定的位图嵌入式编码进行反向解析。
2.根据权利要求1所述的尺度适应的编码方法,其特征是,所述步骤1中初始化矢量要素集参数主要包含:获取当前矢量数据集外接矩形的最长边的长度D,按照长度D对数据集的外接矩形进行修正,生成二维向量BBoxDimension作为该数据集的正外接边界。
3.根据权利要求1所述的尺度适应的编码方法,其特征是,所述步骤2获取位图嵌入式编码参数的具体参数和方法为:
A.位图嵌入式编码的层级参数:根据矢量数据集的最小外包正方形的边长与当前待编码要素的最小包正方形的边长的比值,得到该要素在一维度量空间上占数据集的大小,并按照unsigned int32数值类型进行取整;按照公式,其中,level表示计算得到的层级参数,percent为当前待编码要素的外接最小正方形占整个要素集的百分比的倒数,通过log(2)为标准来实现以8个行列进行位图光栅化划分,最终获取位图编码的层次参数;
B.位图嵌入式编码的行列数参数:对矢量数据集中的所有要素都采用8×8的位图光栅化编码,在得到当前待编码要素的层级参数后,通过不断的按照8的倍数来进行空间的离散网格化划分,最终得到该层级的位图行列数参数;
C.位图嵌入式编码的位图分辨率尺寸参数:与上述B的行列数参数对应的位图分辨率尺寸参数,在将整个数据集位图光栅化划分后,根据此数据集的最小外包正方形的边长,即可获得划分网格的大小,也就是位图分辨率的尺寸;
D.位图嵌入式编码的起始行列号参数:将整个数据集以8n×8n的位图光栅化划分后,整个数据集中的任一位置就可以通过位图的网格行列号来确定,而待编码的要素始终只占其中的一块8×8的区域,因而需要确定此块区域的起始行列号,从而确定此要素的空间位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242085.5A CN102841926B (zh) | 2012-07-12 | 2012-07-12 | 尺度适应的矢量数据集要素位图嵌入式编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210242085.5A CN102841926B (zh) | 2012-07-12 | 2012-07-12 | 尺度适应的矢量数据集要素位图嵌入式编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102841926A true CN102841926A (zh) | 2012-12-26 |
CN102841926B CN102841926B (zh) | 2014-12-17 |
Family
ID=47369290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210242085.5A Expired - Fee Related CN102841926B (zh) | 2012-07-12 | 2012-07-12 | 尺度适应的矢量数据集要素位图嵌入式编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102841926B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239380A (zh) * | 2014-03-10 | 2014-12-24 | 清华大学 | 压缩比特位图索引的方法 |
CN111353007A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视系统技术有限公司 | 基于矢量切片的地理要素拾取方法、编码方法、装置及电子设备 |
CN114089604A (zh) * | 2021-11-02 | 2022-02-25 | 杭州新诺微电子有限公司 | 一种阵列图形绘制方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1136951A2 (en) * | 2000-03-23 | 2001-09-26 | Optimod Software Systems, Ltd. | Method for accelerating mesh generation |
-
2012
- 2012-07-12 CN CN201210242085.5A patent/CN102841926B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1136951A2 (en) * | 2000-03-23 | 2001-09-26 | Optimod Software Systems, Ltd. | Method for accelerating mesh generation |
Non-Patent Citations (3)
Title |
---|
朱良峰、吴信才、刘修国: "GIS中矢量多边形网络化问题研究", 《地理与地理信息科学》 * |
王建山: "GIS系统在土木工程中的应用研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
边馥苓,傅仲良,胡自锋: "面向目标的栅格矢量一体化三位数据模型", 《武汉测绘科技大学学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239380A (zh) * | 2014-03-10 | 2014-12-24 | 清华大学 | 压缩比特位图索引的方法 |
CN104239380B (zh) * | 2014-03-10 | 2017-05-31 | 清华大学 | 压缩比特位图索引的方法 |
CN111353007A (zh) * | 2018-12-24 | 2020-06-30 | 杭州海康威视系统技术有限公司 | 基于矢量切片的地理要素拾取方法、编码方法、装置及电子设备 |
CN111353007B (zh) * | 2018-12-24 | 2024-03-01 | 杭州海康威视系统技术有限公司 | 基于矢量切片的地理要素拾取方法、编码方法、装置及电子设备 |
CN114089604A (zh) * | 2021-11-02 | 2022-02-25 | 杭州新诺微电子有限公司 | 一种阵列图形绘制方法及系统 |
CN114089604B (zh) * | 2021-11-02 | 2024-06-21 | 杭州新诺微电子有限公司 | 一种阵列图形绘制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102841926B (zh) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106898047B (zh) | 倾斜模型和多元模型动态融合的自适应网络可视化方法 | |
FI3514968T3 (fi) | Menetelmiä ja laitteita pistepilvien entropiakoodausta varten | |
CN103679807B (zh) | 一种带边界约束的散乱点云重构方法 | |
CN102255873B (zh) | 基于有序点集像素无损压缩的矢量数据传输方法 | |
CN103927424B (zh) | 利用体网格简化建筑三维模型结构的方法 | |
CN103309944B (zh) | 一种实现图库一体化的地物符号化方法 | |
CN103714577B (zh) | 一种适用于带纹理模型的三维模型简化方法 | |
CN102306180A (zh) | 一种基于海量激光雷达栅格点云数据的建模方法 | |
CN101751682B (zh) | 一种通用地图的制备方法 | |
CN102184522A (zh) | 顶点数据储存方法、图形处理单元及细化器 | |
CN102625126A (zh) | 一种基于预测的三维网格编码方法 | |
CN109118588B (zh) | 一种基于块分解的彩色lod模型自动生成方法 | |
CN104658027A (zh) | 一种面向不规则海洋流场数据的三维流线动态可视化算法 | |
CN104715507B (zh) | 一种基于曲面片的三维地理实体自动构建方法 | |
CN102147936A (zh) | 一种基于级联的在三维地形表面无缝叠加二维矢量的方法 | |
CN104851118A (zh) | ArcGIS共享CorelDraw点状符号方法 | |
CN102841926A (zh) | 尺度适应的矢量数据集要素位图嵌入式编码方法 | |
CN104200425A (zh) | 一种gpu图形处理过程中图元裁剪装置及裁剪方法 | |
CN106204719A (zh) | 基于二维邻域检索的三维场景中海量模型实时调度方法 | |
CN105913475A (zh) | 一种时空变化过程动态可视化方法 | |
CN104700413A (zh) | 一种三维虚拟场景的植被实时动态绘制方法 | |
CN100468464C (zh) | 一种基于逆Loop细分的渐进网格生成方法 | |
CN101169871A (zh) | 面向大规模静态场景实时渲染的hlod预处理方法 | |
CN104166715A (zh) | VxWorks平台电子海图引擎 | |
Remacle et al. | Fast and robust mesh generation on the sphere—Application to coastal domains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141217 Termination date: 20180712 |