一种空间数据的编码方法及系统的制作方法

文档序号:7542256阅读:279来源:国知局
一种空间数据的编码方法及系统的制作方法
【专利摘要】本发明提供了一种空间数据的编码方法,包括:依据浮点型的第一空间数据,生成整数型的第二空间数据;依据所述第二空间数据,获得至少一个差分值;依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数;利用所述整型变量,存储所述至少一个差分值;本发明还提供一种空间数据的编码系统。本发明提供的技术方案,用以实现降低空间数据的存储成本和传输成本。
【专利说明】一种空间数据的编码方法及系统
【【技术领域】】
[0001]本发明涉及互联网应用领域,尤其涉及一种空间数据的编码方法及系统。
【【背景技术】】
[0002]生成电子地图的过程中需要使用大量的空间数据,原始的空间数据中常包括带有小数点的坐标值,计算机中带有小数点的数据需要占用8字节的存储空间,因此,为了降低生成电子地图的过程中原始的空间数据的数据量,需要对原始的空间数据进行编码,以实现原始的空间数据的压缩。目前,主要利用差分编码方式对空间数据进行编码,其编码方法为:将采样点的坐标值转化为整数,然后选出一个基准点,计算其他采样点与基准点的坐标的差值,得到差分值,然后采用固定长度的4字节的整型变量来存储得到的差分值,该存储了差分值的整型变量将用于传输。
[0003]然而,由于采用固定长度的整型变量来表示差分值,如果该整型变量中可存储的数字的个数大于差分值转化为二进制数后数字的个数,将用O来填满固定长度的整型变量,因此,这种差分编码方式会导致整型变量中存在大量的冗余位,浪费空间数据的存储空间,且传输数据量较大,导致空间数据的存储成本和传输成本较高。

【发明内容】

[0004]有鉴于此,本发明提供了一种空间数据的编码方法及系统,以实现降低空间数据的存储成本和传输成本。
[0005]本发明的具体技术方案如下:
[0006]本发明实施例提供一种空间数据的编码方法,包括:
[0007]依据浮点型的第一空间数据,生成整数型的第二空间数据;
[0008]依据所述第二空间数据,获得至少一个差分值;
[0009]依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数;
[0010]利用所述整型变量,存储所述至少一个差分值。
[0011]上述方法中,所述依据所述第二空间数据,获得至少一个差分值,包括:
[0012]从所述第二空间数据中选出基准点坐标,所述第二空间数据包括至少两个采样点坐标;
[0013]从所述基准点坐标开始,计算所述至少两个采样点坐标中相邻两个采样点坐标的差分值,得到至少一个差分值,每个所述差分值包括横坐标的差分值和纵坐标的差分值。
[0014]上述方法中,所述依据所述至少一个差分值,获得位数值,包括:
[0015]依据至少两个差分值,获得最大差分值和最小差分值;
[0016]依据所述最大差分值和所述最小差分值,获得所述位数值。
[0017]上述方法中,所述依据至少两个差分值,获得最大差分值和最小差分值,包括:
[0018]对所述横坐标的差分值进行遍历,获得最大的横坐标差分值和最小的横坐标差分值;
[0019]对所述纵坐标的差分值进行遍历,获得最大的纵坐标差分值和最小的纵坐标差分值;
[0020]选择所述最小的横坐标差分值和所述最小的纵坐标差分值中的最小值作为最小差分值;
[0021]选择所述最大的横坐标差分值和所述最大的纵坐标差分值中的最大值作为最大差分值。
[0022]上述方法中,所述依据所述最大差分值和所述最小差分值,获得所述位数值,包括:
[0023]若所述最小差分值大于或等于-2n-l且小于或等于所述最大差分值,且所述最大差分值小于2n-l,则所述位数值等于η ;
[0024]其中,η等于8、16或32。
[0025]本发明实施例还提供一种空间数据的编码系统,包括:
[0026]生成单元,用于依据浮点型的第一空间数据,生成整数型的第二空间数据;
[0027]第一获得单元,用于依据所述第二空间数据,获得至少一个差分值;
[0028]第二获得单元,用于依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数;
[0029]存储单元,用于利用所述整型变量,存储所述至少一个差分值。
[0030]上述系统中,所述第一获得单元进一步包括:
[0031]选择模块,用于从所述第二空间数据中选出基准点坐标,所述第二空间数据包括至少两个采样点坐标;
[0032]计算模块,用于从所述基准点坐标开始,计算所述至少两个采样点坐标中相邻两个采样点坐标的差分值,得到至少一个差分值,每个所述差分值包括横坐标的差分值和纵坐标的差分值。
[0033]上述系统中,所述第二获得单元进一步包括:
[0034]查找模块,用于依据至少两个差分值,获得最大差分值和最小差分值;
[0035]判别模块,用于依据所述最大差分值和所述最小差分值,获得所述位数值。
[0036]上述系统中,所述查找模块依据至少两个差分值,获得最大差分值和最小差分值,包括:
[0037]对所述横坐标的差分值进行遍历,获得最大的横坐标差分值和最小的横坐标差分值;
[0038]对所述纵坐标的差分值进行遍历,获得最大的纵坐标差分值和最小的纵坐标差分值;
[0039]选择所述最小的横坐标差分值和所述最小的纵坐标差分值中的最小值作为最小差分值;
[0040]选择所述最大的横坐标差分值和所述最大的纵坐标差分值中的最大值作为最大差分值。
[0041]上述系统中,所述判别模块依据所述最大差分值和所述最小差分值,获得所述位数值,包括:[0042]若所述最小差分值大于或等于-2n-l且小于或等于所述最大差分值,且所述最大差分值小于2n-l,则所述位数值等于η ;
[0043]其中,η等于8、16或32。
[0044]由以上技术方案可以看出,本发明具有以下有益效果:
[0045]本发明依据差分值的值域范围,确定存储该差分值的整型变量的位数,与现有技术中固定采用32位整型变量存储差分值相比,能够合理的利用存储空间,降低空间数据的存储成本;同时能够减少存储的空间数据的冗余位,降低传输数据量,提高传输效率,降低空间数据的传输成本。
【【专利附图】

【附图说明】】
[0046]图1是本发明实现空间数据的编码方法的优选实施例的流程示意图;
[0047]图2是本发明步骤S103的具体实现方法的流程示意图;
[0048]图3是本发明步骤 S202的具体实现方法的流程示意图;
[0049]图4是本发明实现空间数据的编码系统的优选实施例的结构示意图。
【【具体实施方式】】
[0050]本发明的基本思想是:依据浮点型的第一空间数据,生成整数型的第二空间数据;依据所述第二空间数据,获得至少一个差分值;依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数;利用所述整型变量,存储所述至少一个差分值。
[0051]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0052]本发明提供一种空间数据的编码方法,图1是本发明实现空间数据的编码方法的优选实施例的流程示意图,如图1所示,该优选实施例包括以下步骤:
[0053]步骤S101,依据浮点型的第一空间数据,生成整数型的第二空间数据。
[0054]具体的,原始的空间数据包括点、线、面三种空间数据,其中线数据和面数据为采样点序列,每个采样点序列中包括两个以上采样点坐标,每个采样点坐标中包括横坐标和纵坐标两个坐标值;一般情况下,空间数据中每个坐标值由9位数字组成,其中有7位数字是整数,2位数字是小数,因此原始的空间数据是浮点型,是有小数点的数据。
[0055]本发明中,将原始的空间数据中的线数据或面数据称为第一空间数据,对浮点型的第一空间数据进行处理,处理后获得的空间数据为整数型的第二空间数据;所述处理的方法为:由于第一空间数据具有两位小数,因此将第一空间数据中的采样点坐标中的坐标值乘以100,这样就可以消除第一空间数据中的小数,获得整数型的空间数据,该整数型的空间数据称为第二空间数据;同理,如果第一空间数据中有三位小数,为了获得整数型的第二空间数据,需要将第一空间数据中的采样点坐标中的坐标值乘以1000,以此类推。
[0056]例如,第一空间数据为原始的线数据,该线数据为以下采样点序列:
[0057]pO (x0, y0): (12940445.74,4818304.33);
[0058]pi (xl, yl): (12940441.16,4818283.87);
[0059]p2 (x2, y2): (12940415.38,4818162.66);[0060]p3 (x3, y3): (12940397.06,4818070.76);
[0061]p4(x4, y4): (12940392.48,4818049.98);
[0062]p5 (x5, y5): (12940364.53,4817922.47);
[0063]p6 (x6, y6): (12940347.89,4817836.87)。
[0064]上述第一空间数据的采样点坐标中,每个坐标值的小数点后有2位小数,依据第一空间数据得到第二空间数据时,将第一空间数据中每个坐标值分别乘以100,获得如下整数型的第二空间数据:
[0065]pO(x0, y0):(1294044574,481830433);
[0066]pi (xl,yl): (1294044116, 481828387);
[0067]p2(x2, y2):(1294041538,481816266);
[0068]p3 (x3,y3): (1294039706,481807076);
[0069]p4 (x4,y4): (1294039248,481804998);
[0070]p5 (x5,y5):(1294036453,481792247);
[0071]p6(x6, y6):(1294034789,481783687)。
[0072]步骤S102,依据所述第二空间数据,获得至少一个差分值。
[0073]具体的,所述第二空间数据中包括至少两个采样点坐标,因此依据所述第二空间数据中两个以上采样点坐标,从第二空间数据中选出一个采样点坐标作为基准点坐标,从该基准点坐标开始,遍历所述第二空间数据中的采样点坐标,依次计算至少两个采样点坐标中相邻两个采样点坐标的差分值,得到至少一个差分值(DeltaX,DeltaY),每个差分值包括相邻两个采样点横坐标X的差分值和相邻两个采样点纵坐标I的差分值。
[0074]例如,依据步骤SlOl中的pO?p6,得到如下基准点坐标和差分值:
[0075]基准点pO= (1294044574,481830433)
[0076]DeltaPl=pl-pO=(xl-xO, yl-yO) = (1294044116-1294044574, 481828387-48183043
3)= (-458, -2046);
[0077]DeltaP2=p2_pl= (-2578,-12121);
[0078]DeltaP3=p3_p2=(-1832,-9190);
[0079]DeltaP4=p4_p3=(-458,-2078);
[0080]DeltaP5=p5_p4=(-2795,-12751);
[0081]DeltaP6=p6_p5= (-1664,-8560)。
[0082]步骤S103,依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数;利用所述整型变量,存储所述至少一个差分值。
[0083]图2是本发明步骤S103的具体实现方法的流程示意图,如图2所示,该方法包括以下步骤:
[0084]步骤S201,依据至少两个差分值,获得最大差分值和最小差分值。
[0085]具体的,依据获得的至少两个差分值,对横坐标X的差分值进行遍历,得到其中最大的横坐标差分值maxDeltaX和最小的横坐标差分值minDeltaX,然后对纵坐标y的差分值进行遍历,得到其中最大的纵坐标差分值maxDeltaY和最小的纵坐标差分值minDeltaY。
[0086]将最小的横坐标差分值minDeltaX和最小的纵坐标差分值minDeltaY进行比较,确定其中的最小值为最小差分值minDelta,即minDelta=min (minDeltaX, minDeltaY);将最大的横坐标差分值maxDeltaX和最大的纵坐标差分值maxDeltaY进行比较,确定其中的最大值为最大差分值 maxDelta,即 maxDelta=max (maxDeltaX, maxDeltaY)。
[0087]例如,对于步骤S102的差分值DeltaPl~DeltaP6,获得如下最大差分值和最小差分值:
【权利要求】
1.一种空间数据的编码方法,其特征在于,该方法包括: 依据浮点型的第一空间数据,生成整数型的第二空间数据; 依据所述第二空间数据,获得至少一个差分值; 依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数; 利用所述整型变量,存储所述至少一个差分值。
2.根据权利要求1所述的方法,其特征在于,所述依据所述第二空间数据,获得至少一个差分值,包括: 从所述第二空间数据中选出基准点坐标,所述第二空间数据包括至少两个采样点坐标; 从所述基准点坐标开始,计算所述至少两个采样点坐标中相邻两个采样点坐标的差分值,得到至少一个差分值,每个所述差分值包括横坐标的差分值和纵坐标的差分值。
3.根据权利要求1所述的方法,其特征在于,所述依据所述至少一个差分值,获得位数值,包括: 依据至少两个差分值,获得最大差分值和最小差分值; 依据所述最大差分值和所述最小差分值,获得所述位数值。
4.根据权利要求3所述的方法,其特征在于,所述依据至少两个差分值,获得最大差分值和最小差分值,包括: 对所述横坐标的差分值进行遍历,获得最大的横坐标差分值和最小的横坐标差分值; 对所述纵坐标的差分值进行遍历,获得最大的纵坐标差分值和最小的纵坐标差分值; 选择所述最小的横坐标差分值和所述最小的纵坐标差分值中的最小值作为最小差分值; 选择所述最大的横坐标差分值和所述最大的纵坐标差分值中的最大值作为最大差分值。
5.根据权利要求3所述的方法,其特征在于,所述依据所述最大差分值和所述最小差分值,获得所述位数值,包括: 若所述最小差分值大于或等于-2114且小于或等于所述最大差分值,且所述最大差分值小于211-1,则所述位数值等于η ; 其中,η等于8、16或32。
6.一种空间数据的编码系统,其特征在于,该系统包括: 生成单元,用于依据浮点型的第一空间数据,生成整数型的第二空间数据; 第一获得单元,用于依据所述第二空间数据,获得至少一个差分值; 第二获得单元,用于依据所述至少一个差分值,获得位数值,所述位数值用于指示存储所述至少一个差分值的整型变量的位数; 存储单元,用于利用所述整型变量,存储所述至少一个差分值。
7.根据权利要求6所述的系统,其特征在于,所述第一获得单元进一步包括: 选择模块,用于从所述第二空间数据中选出基准点坐标,所述第二空间数据包括至少两个采样点坐标; 计算模块,用于从所述基准点坐标开始,计算所述至少两个采样点坐标中相邻两个采样点坐标的差分值,得到至少一个差分值,每个所述差分值包括横坐标的差分值和纵坐标的差分值。
8.根据权利要求6所述的系统,其特征在于,所述第二获得单元进一步包括: 查找模块,用于依据至少两个差分值,获得最大差分值和最小差分值; 判别模块,用于依据所述最大差分值和所述最小差分值,获得所述位数值。
9.根据权利要求8所述的系统,其特征在于,所述查找模块依据至少两个差分值,获得最大差分值和最小差分值,包括: 对所述横坐标的差分值进行遍历,获得最大的横坐标差分值和最小的横坐标差分值; 对所述纵坐标的差分值进行遍历,获得最大的纵坐标差分值和最小的纵坐标差分值; 选择所述最小的横坐标差分值和所述最小的纵坐标差分值中的最小值作为最小差分值; 选择所述最大的横坐标差分值和所述最大的纵坐标差分值中的最大值作为最大差分值。
10.根据权利要求8所述的系统,其特征在于,所述判别模块依据所述最大差分值和所述最小差分值,获得所述位数值,包括: 若所述最小差分值大于或等于-2114且小于或等于所述最大差分值,且所述最大差分值小于211-1,则所述位数值等于η ; 其中,η等于8、16或32。
【文档编号】H03M7/30GK103457610SQ201310390563
【公开日】2013年12月18日 申请日期:2013年8月30日 优先权日:2013年8月30日
【发明者】王果, 赵红超 申请人:百度在线网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1