CN111522899B - 一种三维矢量数据高压缩比的并行压缩方法及装置 - Google Patents
一种三维矢量数据高压缩比的并行压缩方法及装置 Download PDFInfo
- Publication number
- CN111522899B CN111522899B CN202010630853.9A CN202010630853A CN111522899B CN 111522899 B CN111522899 B CN 111522899B CN 202010630853 A CN202010630853 A CN 202010630853A CN 111522899 B CN111522899 B CN 111522899B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- height
- vector
- compressed
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Processing Or Creating Images (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明适用于地理信息技术领域,提供一种三维矢量数据高压缩比的并行压缩方法及装置,所述方法包括:将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;对每个高度块的数据进行高度压缩,得到高度包;将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包。本发明将三维矢量数据分为平面坐标和高度数据分别分块压缩,即划分为原始矢量块和高度块,然后针对这两种数据的特性,采用合理的方案进行压缩,能够节省存储空间,使具有较高的工程应用价值。而且本发明数据压缩方法只需要遍历一次GIS矢量数据,效率相对较高。
Description
技术领域
本发明属于地理信息技术领域,尤其涉及一种三维矢量数据高压缩比的并行压缩方法及装置。
背景技术
在当今GIS(Geographic Information System,地理信息系统)行业中三维矢量数据应用越来越广泛,常见的GIS二维矢量数据,如点、线、面数据加上高度信息是一种常见三维数据,它们常用描述城市省会、房屋、河流、道路等现实中的实体。在GIS中他们的组成由双精度浮点数(64位)值记录和一个高度(32位),比如一个点坐标为(116.20,39.56,6789)。
目前,在各种互联网应用中,矢量数据大多经过编码或者压缩传输。GIS行业中矢量数据的服务一般遵循矢量要素服务标准,它的传输压缩格式有多种,其中常见的有XML(eXtensible Markup Language,可扩展标记语言)、JSON(JavaScript Object Notation,JS对象标记)、二进制格式,也有技术厂家将XML、JSON使用计算机常用压缩算法GZIP(一个GNU自由软件的文件压缩程序)进一步压缩以得到更高的压缩率,从而获取更高的传输效率。
现有矢量压缩方法并未减少实际几何数据的大小,仅仅通过计算机对数据流做压缩,如从XML格式变成JSON格式是减少了XML内的数据标签描述信息,平面数据并未减少,内部的平面坐标数值还是double(双精度浮点型)这种类型,此类型通常在计算机中占8个字节,并且不利于压缩与网络传输;从JSON数据使用GZIP压缩仅仅是对物理层面的计算机数据做常规压缩,任何数据都能做gzip压缩,此手段对常规的文本数据压缩率较高,但是对于GIS二维数据的压缩率并没有那么理想,比通常的文本压缩要低一倍左右。
经过测试,以JSON+GZIP的压缩方式将一个290M的矢量文件,转换为JSON文件为50M,再用GZIP压缩后为10.7M,如下表1是几个数据的测试记录:
数据名称 | 未压缩大小 | JSON+GZIP压缩 |
某区面数据 | 290.71M | 10.82M |
某省线数据 | 3341.22M | 201.56M |
表1
但是三维数据中高度与坐标数据一起压缩会浪费一定的数据存储空间,并且压缩效率不高。
发明内容
鉴于上述问题,本发明的目的在于提供一种三维矢量数据高压缩比的并行压缩方法及装置,旨在解决现有压缩方法浪费空间、压缩效率不高的技术问题。
一方面,所述三维矢量数据高压缩比的并行压缩方法包括下述步骤:
步骤S1、将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;
步骤S2、对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;
步骤S3、对每个高度块的数据进行高度压缩,得到高度包;
步骤S4、将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包。
进一步的,所述步骤S1具体包括:
初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
取分块精度Res为(x2-x1)/K与(y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
按照分块精度Res对待压缩地理范围的矢量数据进行分块;
每个分块均存储为原始矢量块和高度块。
进一步的,所述步骤S2具体包括:
将当前原始矢量块的数据进行相对坐标变换,实现将原始矢量块的double型数据转换成int型数据,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K,(Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标;
将相对坐标变换后的int型数据坐标数据依次左移一位、右移31位、求补码,得到结果前16位为0,保留后16位数字,实现将int型数据转换为short型数据;
所有原始矢量块转换完毕后,最终得到的压缩矢量块的数据为short型。
进一步的,所述步骤S3具体包括:
计算高度块的所有高度数据的平均值;
将所有高度数据与所述平均值求差,得到差分高度;
按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
进一步的,所述步骤S4具体包括:
将每个压缩矢量块和高度包使用GZIP压缩,得到GZIP数据块;
将所有GZIP数据块合并为合并压缩数据包。
另一方面,所述三维矢量数据高压缩比的并行压缩装置,包括:
分块单元,用于将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;
平面压缩单元,用于对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;
高度压缩单元、对每个高度块的数据进行高度压缩,得到高度包;
合并单元,用于将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包。
进一步的,所述分块单元具体包括:
初始化模块,用于初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
精度计算模块,用于取分块精度Res为(x2-x1)/K与(y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
调整模块,用于若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
分块模块,用于按照分块精度Res对待压缩地理范围的矢量数据进行分块;
存储模块,用于将每个分块均存储为原始矢量块和高度块。
进一步的,所述平面压缩单元具体包括:
坐标变换单元,用于将当前原始矢量块的数据进行相对坐标变换,实现将原始矢量块的double型数据转换成int型数据,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K,(Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标;
补码变换单元,用于将相对坐标变换后的int型坐标数据依次左移一位、右移31位、求补码,得到结果前16位为0,保留后16位数字,实现将int型数据转换为short型数据;所有原始矢量块转换完毕后,最终得到的压缩矢量块的数据为short型。
进一步的,所述高度压缩单元具体包括:
均值计算模块,用于计算高度块的所有高度数据的平均值;
差分模块,用于将所有高度数据与所述平均值求差,得到差分高度;
编码模块,用于按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
进一步的,所述合并单元具体包括:
GZIP压缩模块,用于将每个压缩矢量块和高度包使用GZIP压缩,得到GZIP数据块;
数据合并模块,用于将所有GZIP数据块合并为合并压缩数据包。
本发明的有益效果是:本发明在三维矢量数据的压缩过程中,将三维矢量数据分为平面坐标和高度数据分别分块压缩,即划分为原始矢量块和高度块,然后针对这两种数据的特性,采用合理的方案进行压缩,能够节省存储空间,使具有较高的工程应用价值。而且本发明数据压缩方法只需要遍历一次GIS矢量数据,效率相对较高。
附图说明
图1是本发明实施例提供的三维矢量数据高压缩比的并行压缩方法的流程;
图2是步骤S1的具体的流程图;
图3是省会点数据的分块示意图;
图4是差分高度网格分布示意图;
图5是本发明实施例提供的三维矢量数据高压缩比的并行压缩装置的结构方框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例提供的三维矢量数据高压缩比的并行压缩方法的流程,为了便于说明仅示出了与本发明实施例相关的部分。
如图1所示,本实施例提供的三维矢量数据高压缩比的并行压缩方法包括下述步骤:
步骤S1、将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块。
数据分块的目的是将较大范围的矢量数据分为较小的数据包,为后续压缩做准备。数据分块主要是根据地理范围,合理的计算出一个能够将矢量数据坐标能转为相对坐标的范围。
具体的,本实施例中包括如下步骤:
S11、初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
S12、取分块精度Res为(x2-x1)/K与(y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
S13、若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
S14、按照分块精度Res对待压缩地理范围的矢量数据进行分块;
S15、每个分块均存储为原始矢量块和高度块。
本步骤中,分块参数K初始化值为65536。假设当前待压缩地理范围的矢量数据精度为MRes。待压缩地理范围的左上坐标为p1(x1,y1),右下坐标为p2(x2,y2),将p1点相对坐标转换为p1A(0,0),将p2点相对坐标转换为分别对应为p2A((x2-x1)/K,(y2-y1)/K),当前数据的分块精度Res取(x2-x1)/K与(y2-y1)/K中的较大值,有且仅当Res与MRes接近的时候,认为这个是较合理的分块精度,此时Res=Max((x2-x1)/K,(y2-y1)/K)。
这里“接近”的定义为:0.5MRes<Res<2MRes,否则认定分块精度Res与MRes相差较大,此时需要递增或者递减调整K值大小,每次调整K值时,需要计算一次分块精度Res,然后判断,直至Res接近MRes。
最后再按照分块精度Res对待压缩地理范围的矢量数据进行分块,如图3所示的需要压缩中国所有的省会点数据的分块示意图,获取了分块的分辨率,即分块分辨率,这里做最简单假设,分辨率为2,即将中国地图分成四块,分别存储为4块原始矢量块和4块高度块,这里高度数据需要和平面坐标数据分开存储,后续需要利用平面坐标和高度的不同数据特性分别并行进行压缩。
步骤S2、对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块。
原始矢量块的数据为二维平面坐标,如坐标(116.20,39.56),坐标数据为double型,坐标长度为8字节。本步骤首先进行相对坐标变换,然后进行补码压缩。
对于相对坐标变换,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K,(Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标,实现将原始矢量块的double型数据转换成int型数据,即将原始矢量块数据8字节长度转为4字节长度,数据缩小了一半。
对于补码压缩,是将相对坐标变换后的int型数据(4字节长度,1字节为8位)进一步压缩为short型数据(短整型,2字节)。
int型数据在计算机中占位如下:例如数字1和-1分别表示如下:
1:00000000_00000000_00000000_00000001
-1:11111111_11111111_11111111_11111111
现在需要将数据压缩为一半大小,即去掉前16位,通过补码压缩实现,首先过将int型坐标数据左移一位,然后右移动31位,接着求补码得到一个前16位均为0的数字,这里去除前16位,保留后后16位数字即可。实现了将将int型数据转换为short型数据,数据压缩了一半。
循环处理原始矢量块即完成了所有二维坐标数据的压缩。.
步骤S3、对每个高度块的数据进行高度压缩,得到高度包。
三维矢量数据的高度数据在一定区域内起伏不会太大,即使全世界的高程也在10000以内,正是由于这种特性,本发明将高度和平面数据坐标分开,这样高度和平面数据都可以获得较高的压缩比。
本步骤具体包括如下过程:
S31、计算高度块的所有高度数据的平均值。
将所有高度数据求平均数,本实施例采用现代多核多线程技术,充分利用机器硬件性能,一般可以千万级别的高程在一秒内计算出来,本质上是一种多线程技术,以提高计算效率。
S32、将所有高度数据与所述平均值求差,得到差分高度。
将所有高度数据与平均高度求差,得到一组更加小的高度数据,即得到差分数据。例如有一组高度(1004,1007,1005,1004),求差后(-1,-2,0,1),根据高程数据实际情况,在相对高度比较平均的情况下,这一组数据可能非常接近,这将非常利于压缩。
S33、按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
首先预设一定高度范围对应一种颜色,比如差分高度为3-5米的为黑色,1-3米为黄色,-1--3米为红色,-1-1米为白色,白色不需要编码,还需要设置颜色所对应的高度值,如黑色对应的高度值为4米,黄色对应的高度值为2米,红色对应的高度值为-2米。由于高度数据在平面上是网格分布,因此差分高度也是网格分布,具体压缩实例参照图4所示,以行为单位记录压缩编码结果。图示中第4行有两组黑色块(首行为第0行),第一组黑色块的起始列号为5(首列为第0列),终止列号为9,第二组黑色块的起始列号为12,终止列号为14。因此第4行的行编码为4R4[5,9][12,14]。同理第5行的阴影(假设为黄色)的行编码为2R5[4,9][12,14]。如果第5行的第二组阴影的位置是黑色块,那么行编码为2R5[4,9]2[12,14]。由于实际上,一组色块的网格数量远远多于图4所示,因此这种染色压缩方式能降低数据存储空间,提交压箱效率。
步骤S4、将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包。
每个压缩矢量块和高程包使用GZIP压缩为GZIP数据块,然后将所有的GZIP压缩矢量块合并为合并压缩数据包。通过以上方法压缩的数据理论上至少减少了2倍大小。如下表2为对照测试记录,测试记录可供参考:
数据名称 | 未压缩大小 | gson+gzip压缩 | 本实施例压缩 |
某区面数据 | 290.71M | 10.82M | 4.12M |
某省线数据 | 3341.22M | 201.56M | 56.34M |
表2
本实施例方法采用更高效压缩率的处理方案,降低压缩后的数据大小,通过合理的使用多种步骤压缩方式流程,从GIS三维几何数据层面大大减少数据的大小。本发明GIS三维矢量数据压缩的处理方案将平面数据和高度数据分开压缩处理,实现将将double型平面数据(双精度浮点型,8字节)转为short型(短整型,2字节)数据,可有效减少几何数据大小,理论上在还未进行GZIP压缩前,几何数据已经减少了4倍,所以大大减小了压缩后的数据大小,另外将高度与平面坐标分开压缩传输,加大了压缩率。
实施例二:
本实施例还提供了一种三维矢量数据高压缩比的并行压缩装置,如图5所示,包括:
分块单元51,用于将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;
平面压缩单元52,用于对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;
高度压缩单元53、对每个高度块的数据进行高度压缩,得到高度包;
合并单元54,用于将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包。
本实施例功能单元51-54对应实现了实施例一中的步骤S1-S4,分块单元将矢量数据分为原始矢量块和高度块,然后通过平面压缩单元对原始矢量块进行压缩,高度压缩单元对高度块的数据进行压缩,最后通过合并单元合并两种压缩的数据,最后得到合并压缩数据包。
具体的,所述分块单元具体包括:
初始化模块,用于初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
精度计算模块,用于取分块精度Res为(x2-x1)/K与(y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
调整模块,用于若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
分块模块,用于按照分块精度Res对待压缩地理范围的矢量数据进行分块;
存储模块,用于将每个分块均存储为原始矢量块和高度块。
具体的,所述平面压缩单元具体包括:
坐标变换单元,用于将当前原始矢量块的数据进行相对坐标变换,实现将原始矢量块的double型数据转换成int型数据,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K,(Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标;
补码变换单元,用于将相对坐标变换后的int型坐标数据依次左移一位、右移31位、求补码,得到结果前16位为0,保留后16位数字,实现将int型数据转换为short型数据;所有原始矢量块转换完毕后,最终得到的压缩矢量块的数据为short型。
具体的,所述高度压缩单元具体包括:
均值计算模块,用于计算高度块的所有高度数据的平均值;
差分模块,用于将所有高度数据与所述平均值求差,得到差分高度;
编码模块,用于按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
具体的,所述合并单元具体包括:
GZIP压缩模块,用于将每个压缩矢量块和高度包使用GZIP压缩,得到GZIP数据块;
数据合并模块,用于将所有GZIP数据块合并为合并压缩数据包。
本发明针平面数据和高度数据这两种数据的特性,采用合理的方案进行压缩,能够节省存储空间,使具有较高的工程应用价值。而且本发明数据压缩装置只需要遍历一次GIS矢量数据,效率相对较高。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种三维矢量数据高压缩比的并行压缩方法,其特征在于,所述方法包括下述步骤:
步骤S1、将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;
步骤S2、对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;
步骤S3、对每个高度块的数据进行高度压缩,得到高度包;
步骤S4、将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包;
其中所述步骤S2具体包括:
将当前原始矢量块的数据进行相对坐标变换,实现将原始矢量块的double型数据转换成int型数据,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K, (Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标,K为分块参数;
将相对坐标变换后的int型坐标数据依次左移一位、右移31位、求补码,得到结果前16位为0,保留后16位数字,实现将int型数据转换为short型数据;
所有原始矢量块转换完毕后,最终得到的压缩矢量块的数据为short型;
其中所述步骤S3具体包括:
计算高度块的所有高度数据的平均值;
将所有高度数据与所述平均值求差,得到差分高度;
按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
2.如权利要求1所述三维矢量数据高压缩比的并行压缩方法,其特征在于,所述步骤S1具体包括:
初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
取分块精度Res为(x2-x1)/K与 (y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
按照分块精度Res对待压缩地理范围的矢量数据进行分块;
每个分块均存储为原始矢量块和高度块。
3.如权利要求2所述三维矢量数据高压缩比的并行压缩方法,其特征在于,所述步骤S4具体包括:
将每个压缩矢量块和高度包使用GZIP压缩,得到GZIP数据块;
将所有GZIP数据块合并为合并压缩数据包。
4.一种三维矢量数据高压缩比的并行压缩装置,其特征在于,所述装置包括:
分块单元,用于将待压缩地理范围的矢量数据进行分块,针对每个分块分别存储为原始矢量块和高度块;
平面压缩单元,用于对每个原始矢量块的数据进行屏幕压缩和补码压缩,得到压缩矢量块;
高度压缩单元、对每个高度块的数据进行高度压缩,得到高度包;
合并单元,用于将得到的压缩矢量块和高度包进行合并,得到合并压缩数据包;
其中所述平面压缩单元具体包括:
坐标变换单元,用于将当前原始矢量块的数据进行相对坐标变换,实现将原始矢量块的double型数据转换成int型数据,即针对当前原始矢量块的任一点数据(X,Y),其相对坐标为((X-x0)/K, (Y-y0)/K),其中(x0,y0)为当前原始矢量块的左上角坐标,K为分块参数;
补码变换单元,用于将相对坐标变换后的int型坐标数据依次左移一位、右移31位、求补码,得到结果前16位为0,保留后16位数字,实现将int型数据转换为short型数据;所有原始矢量块转换完毕后,最终得到的压缩矢量块的数据为short型;
其中所述高度压缩单元具体包括:
均值计算模块,用于计算高度块的所有高度数据的平均值;
差分模块,用于将所有高度数据与所述平均值求差,得到差分高度;
编码模块,用于按照差分高度所属的高度范围进行染色,同一高度范围内的差分高度染色相同,以行为单位,相邻相同染色组成一个色块,记录每个色块的行号、色块对应的高度值以及色块的起始列号和终止列号,形成一个行编码,保存所有行编码得到高度包。
5.如权利要求4所述三维矢量数据高压缩比的并行压缩装置,其特征在于,所述分块单元具体包括:
初始化模块,用于初始化分块参数K,当前待压缩地理范围的矢量数据精度为MRes;
精度计算模块,用于取分块精度Res为(x2-x1)/K与 (y2-y1)/K中的较大值,其中(x1,y1)为待压缩地理范围的左上坐标,(x2,y2)为待压缩地理范围的右下坐标;
调整模块,用于若分块精度Res与MRes相差较大,则逐次调整分块参数K,直至分块精度Res接近MRes;
分块模块,用于按照分块精度Res对待压缩地理范围的矢量数据进行分块;
存储模块,用于将每个分块均存储为原始矢量块和高度块。
6.如权利要求5所述三维矢量数据高压缩比的并行压缩装置,其特征在于,所述合并单元具体包括:
GZIP压缩模块,用于将每个压缩矢量块和高度包使用GZIP压缩,得到GZIP数据块;
数据合并模块,用于将所有GZIP数据块合并为合并压缩数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630853.9A CN111522899B (zh) | 2020-07-03 | 2020-07-03 | 一种三维矢量数据高压缩比的并行压缩方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010630853.9A CN111522899B (zh) | 2020-07-03 | 2020-07-03 | 一种三维矢量数据高压缩比的并行压缩方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522899A CN111522899A (zh) | 2020-08-11 |
CN111522899B true CN111522899B (zh) | 2020-10-02 |
Family
ID=71911952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010630853.9A Active CN111522899B (zh) | 2020-07-03 | 2020-07-03 | 一种三维矢量数据高压缩比的并行压缩方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522899B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116366069B (zh) * | 2023-06-02 | 2023-08-08 | 菏泽鹏远混凝土有限公司 | 一种高性能混凝土配比数据处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483779A (zh) * | 2009-01-22 | 2009-07-15 | 浙江工商大学 | 一种二维矢量地图的压缩方法 |
CN106408620A (zh) * | 2016-09-08 | 2017-02-15 | 成都希盟泰克科技发展有限公司 | 基于压缩感知的三维网格模型数据处理方法 |
CN107277114B (zh) * | 2017-05-26 | 2019-12-10 | 中国地质大学(武汉) | 一种矢量等高线要素分形压缩与解压缩方法及系统 |
WO2019000417A1 (en) * | 2017-06-30 | 2019-01-03 | SZ DJI Technology Co., Ltd. | SYSTEMS AND METHODS OF GENERATING CARDS |
-
2020
- 2020-07-03 CN CN202010630853.9A patent/CN111522899B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111522899A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111699696A (zh) | 用于对字节流进行编码和解码的方法和设备 | |
US20220405533A1 (en) | Trimming Search Space For Nearest Neighbor Determinations in Point Cloud Compression | |
CN110599490B (zh) | 一种遥感影像数据存储方法和系统 | |
CN114283231A (zh) | 基于lod的bim模型轻量化构建与显示方法 | |
CN101154291B (zh) | 图像数据压缩方法、图像显示方法及其相应装置 | |
US9819964B2 (en) | Limited error raster compression | |
JP5068849B2 (ja) | レイトレーシング方法、システム、およびプログラム | |
CN105139449B (zh) | 一种基于三维网格细分和编码的三维模型压缩方法 | |
Gurung et al. | SQuad: Compact representation for triangle meshes | |
WO2021196392A1 (zh) | 一种点云几何编码方法、解码方法、编码设备及解码设备 | |
CN110321443B (zh) | 三维实景模型数据库构建方法、装置及数据服务系统 | |
CN111260784B (zh) | 一种城市三维空间网格压缩编码方法、装置及终端设备 | |
CN106383828B (zh) | 一种绘图方法及电子设备 | |
CN104378117A (zh) | 数据压缩方法及装置、数据传输方法及系统 | |
CN110825831A (zh) | 数字孪生城市多尺度空间网格编码方法及装置 | |
CN111522899B (zh) | 一种三维矢量数据高压缩比的并行压缩方法及装置 | |
CN114048271A (zh) | 北斗网格数据模型在数据库中的存储方法和装置 | |
CN1932884A (zh) | 一种基于分形层次树的过程式地形快速绘制方法 | |
CN111353008A (zh) | 一种北斗位置流数据实时空间聚合方法 | |
Wang et al. | A storage method for remote sensing images based on google s2 | |
CN116720480A (zh) | 一种城市管理要素统一标识建立方法及装置 | |
CN102841926B (zh) | 尺度适应的矢量数据集要素位图嵌入式编码方法 | |
CN116126957A (zh) | 数据格式转换方法、装置、设备及存储介质 | |
CN103975593A (zh) | 基于三维模型压缩而生成重复性结构发现的比特流的方法和设备 | |
CN103533327B (zh) | 一种基于硬件实现的dibr系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee after: Geospace Information Technology Co., Ltd. Address before: 430223 Wuda science and Technology Park, Jiangxia Avenue, Miaoshan community, Donghu Development Zone, Wuhan City, Hubei Province Patentee before: WUDA GEOINFORMATICS Co.,Ltd. |