发明内容
有鉴于此,本发明提供一种空间数据渐进传输方法及装置,其具体方案如下:
一种空间数据渐进传输方法,包括:
当需要请求增量数据时,发送增量数据请求,所述请求中包含视图控制参数;
接收依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标并分析后获得的增量数据。
优选的,所述视图窗口利用数据结构依据视图控制参数进行表示,具体为:依据所述视图控制参数用所述栅格数据结构来表示所述视图窗口的像素,所述像素为所述视图窗口平面划分成的均匀网格单元,所述像素为所述栅格数据中的基本信息存储单元,所述像素的坐标位置依据所述像素在所述视图窗口中对应的行号和列号确定,设定表示所述像素的栅格数据的初始值全部为0。
优选的,当存储有在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。
优选的,当存储有在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的坐标点在原始空间数据中的位置信息。
优选的,还包括:将所述接收的增量数据插入到所述在先缓存的空间数据中。
优选的,所述将所述接收的增量数据插入到所述在先缓存的空间数据中的过程包括:
获取所述增量数据中的原始坐标点的位置信息;
依据所述位置信息,将所述增量数据中的原始坐标点插入到所述在先缓存的空间数据的对应位置。
优选的,所述将所述接收的增量数据插入到所述在先缓存的空间数据中的过程包括:
将所述在先缓存的空间数据的放大比例作为所述视图控制参数中的视图窗口放大比例,依据所述视图控制参数将所述增量数据和所述在先缓存的空间数据的原始坐标点分别变换得到所述视图窗口的视图坐标点;
查找与所述增量数据原始坐标点变换得到的视图坐标点相同的所述在先缓存的空间数据的原始坐标点变换得到的视图坐标点;
将所述增量数据的原始坐标点插入到所述变换后的视图坐标点与其相同的所述在先缓存的空间数据的原始坐标点的后面;
替换所述在先缓存的空间数据的放大比例为所述视图控制参数中的当前视图窗口放大比例。
优选的,所述将所述接收的增量数据插入到所述在先缓存的空间数据中的过程包括:
将所述在先缓存的空间数据的放大比例作为所述视图控制参数中的视图窗口放大比例,依据所述视图控制参数将所述增量数据和所述在先缓存的空间数据的原始坐标点分别变换得到所述视图窗口的视图坐标点;
查找与所述增量数据原始坐标点变换得到的视图坐标点对应的视图窗口上像素相同的所述在先缓存的空间数据的原始坐标点变换的视图坐标点;
将所述增量数据的原始坐标点插入到所述变换后的视图坐标点所对应的视图窗口像素与其相同的所述在先缓存的空间数据的原始坐标点的后面;
替换所述在先缓存的空间数据的放大比例为所述视图控制参数中的当前视图窗口放大比例。
优选的,所述将所述增量数据的原始坐标点插入到所述变换后的视图坐标点所对应的视图窗口像素与其相同的所述在先缓存的空间数据的原始坐标点的后面的过程包括:
从所述在先缓存的空间数据的原始坐标点中选取待处理空间数据坐标点,将其添加到坐标点集合,并将其变换后的视图坐标点对应的视图窗口的像素赋值为1;
依次添加所述增量数据中变换后的视图坐标点在所述视图窗口上所对应的像素值为1的原始坐标点到所述坐标点集合;
判断所述待处理空间数据坐标点是否为所述在先缓存的空间数据的原始坐标点中的最后一个原始坐标点,若否,则返回执行从所述在先缓存的空间数据的原始坐标点中选取待处理空间数据坐标点,将其添加到坐标点集合的步骤,若是,则结束。
优选的,所述依次添加所述增量数据中变换后的视图坐标点在所述视图窗口上所对应的像素值为1的原始坐标点到所述坐标点集合的过程包括:
从所述增量数据的原始坐标点中选取待处理增量数据原始坐标点;
依据所述在先缓存的空间数据的放大比例对所述待处理增量数据原始坐标点进行坐标变换,得到视图坐标点;
判断所述视图坐标点对应的视图窗口的像素的像素值是否为0,若不为0,则将所述待处理增量数据原始坐标点添加到所述坐标点集合,若为0,则结束;
判断所述待处理增量数据原始坐标点是否为所述增量数据中的最后一个原始坐标点,若否,则返回执行从所述增量数据的原始坐标点中选取待处理增量数据原始坐标点的步骤,若是,则结束。
优选的,按照以下步骤确定是否需要请求增量数据:
查询与所述查询空间实体的矩形范围对应的在先缓存的空间数据;
判断所述在先缓存的空间数据的放大比例是否小于所述当前视图窗口的放大比例,若小于,则需请求增量数据,若不小于,则不需请求增量数据。
优选的,当没有存储在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例和查询空间实体矩形范围。
优选的,还包括:缓存所述接收的增量数据。
一种空间数据渐进传输方法,包括:
接收请求发送端发送的增量数据请求,所述增量数据请求中包含视图控制参数;
依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标;
分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据;
发送所述增量数据到所述请求发送端。
优选的,当请求发送端存储有在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。
优选的,所述依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标的过程包括:
依据所述视图控制参数中的当前视图窗口放大比例对原始空间数据进行坐标变换,得到当前变换结果;
依据所述视图控制参数中的在先缓存的空间数据的放大比例对原始空间数据进行坐标变换,得到在先变换结果。
优选的,所述分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据的过程包括:
分别化简所述当前变换结果和所述在先变换结果,获得当前化简结果和在先化简结果;
确定所述当前化简结果中符合增量条件的原始坐标点为增量数据。
优选的,所述确定所述当前化简结果中符合增量条件的原始坐标点为增量数据的过程包括:
确定在所述当前化简结果中,且不在所述在先化简结果中的原始坐标点为增量数据。
优选的,当请求发送端存储有在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的坐标点在原始空间数据中的位置信息。
优选的,所述依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标,分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据的过程包括:
依据所述视图控制参数中的当前视图窗口放大比例将所述原始空间数据的原始坐标变换得到视图窗口的视图坐标;
通过分析所述视图坐标化简所述原始空间数据;
将化简后的原始空间数据中在原始空间数据中的位置与所述在先缓存的空间数据中坐标点在原始空间数据中的位置相同的原始坐标点去除;
确定保留的空间数据为增量数据。
优选的,当请求发送端未存储在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例和查询空间实体矩形范围。
优选的,所述分析所述视图坐标,确定符合增量条件的视图坐标对应的原始坐标点为增量数据的过程包括:
化简依据所述视图控制参数将所述原始空间数据的原始坐标变换得到的视图窗口的视图坐标;
确定化简后的视图坐标点对应的原始坐标点为增量数据。
一种空间数据渐进传输装置,包括:
请求发送单元,用于确定需要请求增量数据时,发送增量数据请求,所述请求中包含视图控制参数;
数据接收单元,用于接收依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标并分析后获得的增量数据。
一种空间数据渐进传输装置,包括:
请求接收单元,用于接收请求发送端发送的增量数据请求,所述增量数据请求中包含视图控制参数;
坐标变换单元,用于依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标;
分析单元,用于分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据;
数据发送单元,用于发送所述增量数据到所述请求发送端。
从上述的技术方案可以看出,本发明实施例公开的空间数据渐进传输方法,请求发送端在发送增量数据请求时,在请求中携带有当前需要进行显示的视图窗口的视图控制参数,使得请求接收端可以依据是视图控制参数,分析得到在当前视图窗口显示的增量数据,进行传输,保证了得到的增量数据能够无损显示,同时减小了数据传输量,提高了数据传输效率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开了一种空间数据渐进传输方法,在空间数据的显示过程中,其对应的实际场景为,由于视图窗口的分辨率是有限的,当高分辨率的空间数据在视图窗口上显示时,会有表现空间数据细节部分的数据(坐标点)绘制在相同的像素上,这时只要取绘制在此像素上的一个坐标点就可以保证空间数据的无损显示了,其它绘制在此像素上的坐标点可以去掉,因此,按照上述思想将空间数据化简处理后进行传输、显示,在显示效果上,化简前和化简后显示的效果是一样的。当地图放大时,空间数据显示到屏幕上填充的像素个数比较多(空间数据显示的图形比较大),需要更多的坐标点来表现空间数据的细节部分,只要将这些坐标点(增量数据)从原始空间数据中取过来并插入到所对应的已有空间数据中去,仍然可以保证空间数据的无损显示。为了方便描述,本申请文件中将需要处理的空间数据称之为原始空间数据,需要处理的空间数据的坐标称之为原始空间数据的原始坐标,需要处理的空间数据的坐标点称之为原始空间数据的原始坐标点,或直接称之为原始坐标点。
本发明公开的空间数据渐进传输方法,依据上述原理,利用增量数据请求发送端的视图控制参数获取增量数据,保证了数据的无损显示,缩小了数据传输量,降低了算法复杂度。其具体实施方案如下所述:
本发明公开的空间数据渐进传输方法的流程如图1所示,包括:
步骤S11、当需要请求增量数据时,发送增量数据请求,所述请求中包含视图控制参数;
本实施例中的空间数据渐进传输方法适用于请求发送端,当请求发送端判断出需要请求增量数据时,向请求接收端发送增量数据请求,在请求中包含请求发送端的当前视图控制参数。
本实施例中的视图控制参数包括:视图模式和视图窗口的外包矩形参数。视图模式即根据实际的视图窗口预先设定视图窗口为二维模式还是三维模式。视图窗口的外包矩形参数是显示空间实体的视图窗口范围(0,0,ViewWidth,ViewHeight),如计算机屏幕地图显示窗口的范围,包括:视图窗口的外包矩形的宽度ViewWidth和视图窗口的外包矩形的高度ViewHeight,通过这两个参数,可以确定实际视图窗口中用于显示图像的窗口的大小范围
除包括视图模式和视图窗口的外包矩形参数外,根据视图模式的不同,视图控制参数的具体内容也不尽相同。当视图模式为二维模式时,还包括查询空间实体的矩形范围和视图中空间实体的放大比例,还可以利用所述空间实体在所述视图窗口下的中心坐标点替换查询空间实体的矩形范围,只要能实现将原始空间数据的原始坐标变换得到视图窗口的视图坐标即可。查询空间实体的矩形范围是指将此范围内的空间实体显示在视图窗口中,也就是在视图窗口中能显示出来的空间实体的外包矩形,其具体的范围值根据实际的显示情况而设定。当视图模式为三维模式时,还包括视点参数和投影参数,所述视点参数包括视点在预先设定的世界坐标系中的位置O(xo,yo,zo),xo,yo,zo表示视点在世界坐标系中的三个分量,视点所观察的目标位置A(xa,ya,za)和虚拟照相机向上的向量up(xup,yup,zup);所述投影参数包括:正交投影和透视投影。根据不同的视图控制参数,将原始空间数据的原始坐标变换到对应的视图窗口的视图坐标。
本实施例中,视图窗口的外包矩形参数可以预先设定一个定值,然后根据实际显示的视图窗口的外包矩形来调整所述视图中空间实体的放大比例,使得空间数据在实际显示的视图窗口中显示的效果和在所述预先设定视图窗口外包矩形的视图窗口中显示的效果是一样,这种情况下,所述请求中的视图控制参数可以不包含视图窗口的外包矩形参数。
本步骤存在两种情况,如果请求发送端缓存有空间数据,则视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。使得请求接收端可以根据请求增量数据对应的空间数据标识号找到对应的原始空间数据,并根据请求发送端当前视图窗口放大比例、查询空间实体矩形范围和在先缓存的空间数据的放大比例获取增量数据。或者,当所述请求发送端缓存有空间数据时,视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的坐标点在原始空间数据中的位置信息。
如果请求发送端没有缓存空间数据,则此时的视图控制参数包括:当前视图窗口放大比例和查询空间实体矩形范围。请求接收端依据上述参数获取到增量数据。
本实施例中并不限定采用请求增量数据对应的空间数据标识号,还可以根据在先缓存的空间数据排列的顺序号等方式,只要所述请求接收端能够查找到在先缓存的空间数据所对应的原始空间数据即可。
步骤S12、接收依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标并分析后获得的增量数据。
接收请求接收端返回的增量数据。
本实施例公开的空间数据渐进传输方法中,请求发送端在发送增量数据请求时,在请求中携带有当前需要进行显示的视图窗口的视图控制参数,使得请求接收端可以依据视图控制参数,分析得到适合于当前视图窗口的增量数据,保证了得到的增量数据能够无损显示,同时减小了数据传输量,提高了数据传输效率。
本发明公开的又一空间数据渐进传输方法流程如图2所示,该方法适用于请求发送端,基于请求发送端缓存有在先缓存的空间数据的情况,包括:
步骤S21、获得在先缓存的空间数据的放大比例;
步骤S22、判断所述在先缓存的空间数据的放大比例是否小于所述当前视图窗口的放大比例,若是,则执行步骤S23,若否,则结束;
步骤S23、发送增量数据请求,所述请求中包含视图控制参数;
此时的视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。
步骤S24、接收依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标,并分析所述视图坐标获得的增量数据;
步骤S25、将所述接收的增量数据插入到所述在先缓存的空间数据中。
由于此时请求发送端缓存有在先缓存的空间数据,所以需要将接收的增量数据插入到在先缓存的空间数据中去,实现数据重建,重建后的数据作为当前视图窗口对应显示的数据。
将所述接收的增量数据插入到所述在先缓存的空间数据中的过程如图3所示,包括:
步骤S31、将所述在先缓存的空间数据的放大比例作为所述视图控制参数中的视图窗口放大比例,依据所述视图控制参数将所述增量数据和缓存的空间数据的原始坐标点分别变换得到视图窗口的视图坐标点;
按照在先缓存的空间数据的放大比例将增量数据和在先缓存的空间数据的原始坐标进行坐标变换,以便于在视图控制参数对应的视图窗口下对坐标进行分析。
步骤S32、查找与所述增量数据原始坐标点变换得到的视图坐标点对应的视图窗口上像素相同的所述在先缓存的空间数据原始坐标点变换的视图坐标点;
由于所述的在先缓存的空间数据是根据在先缓存的空间数据的放大比例作为视图控制参数中的视图窗口放大比例对原始空间数据的原始坐标点变换到视图坐标点,通过分析所述视图坐标点中对应视图窗口上相同像素的坐标点来化简对应的原始坐标点而得来的。所以此步骤中,按照坐标变换后坐标点对应的视图窗口上像素相同原则添加增量数据,能够保证增量数据的原始坐标点能正确地插入到在先缓存的空间数据中,实现数据重建。
步骤S33、将增量数据的原始坐标点插入到所述变换后的视图坐标点所对应的视图窗口像素与其相同的所述在先缓存的空间数据的原始坐标点的后面;
将增量数据的原始坐标点插入到与增量数据中原始坐标点变换后得到的视图坐标像素值相同的在先缓存的空间数据的后面。
步骤S34、替换所述在先缓存的空间数据的放大比例为所述视图控制参数中的当前视图窗口放大比例。
将在先缓存的空间数据的放大比例用当前视图窗口的放大比例进行替换,以保证下次进行增量请求时,以本步骤中的当前视图窗口放大比例作为下一次增量请求操作的在先缓存数据的放大比例。
本实施例中对视图坐标在所述视图窗口上进行显示时所需要绘制的像素进行相应的分析或处理,其具体操作包括:读取所述需要绘制的像素的像素值,判断像素值,和给所述需要绘制的像素赋值。上述操作可以以单个像素或者将多个像素进行组合后进行的处理,可以根据实际情况的需要,灵活的设定具体的处理方式。其针对像素的具体操作包括给像素赋值,即将空间数据进行栅格化、读取像素和对像素值进行判定,当像素以多个比特位数据来进行表示时,对像素的赋值可以表现为对一个像素整体赋值或者对表示像素的多个比特位数据中的任意一个或多个比特位进行赋值;读取像素的操作也可以表现为对一个像素的整体值进行读取和读取像素中某个或某几个比特位的值;同理,对像素值的判定也为对一个像素的整体值或某个或某几个比特位的值所代表的含义进行判定。
如用4个比特位数据表示视图窗口的一个像素,其中用第一个比特位表示是否有点空间实体在此像素上栅格化,第二个比特位表示是否有线空间实体在此像素上栅格化,第三个比特位是否有面空间实体在此像素上栅格化,第四个比特位用于空间矢量数据的化简。首先定义几个常量:
#define point 0x0001
#define line 0x0002
#define region 0x0004
#define simple 0x0008
例如,对线空间实体所对应的像素操作方法如下所示:
像素的赋值操作:用定义的常量line同像素值的或操作来对像素进行赋值,实现原始空间数据的栅格化。如给P(x,y)像素线栅格化操作,P(x,y)=P(x,y)|line;清除原始空间数据栅格化操作,用定义的常量line进行取反后同像素值的与操作来清除,如清除P(x,y)像素线栅格化操作,P(x,y)=P(x,y)&~line。
读取像素值:P(x,y)的栅格数据的值就是P(x,y)像素的值;
像素值判定操作:例如,判定像素是否被原始空间数据栅格化操作,用定义的常量line同像素值的与操作来判定。如判定P(x,y)像素是否被线栅格化操作,则判定P(x,y)&line的值是否大于0,如果大于0,则P(x,y)像素被线空间实体栅格化,如果等于0,则P(x,y)像素没有被线空间实体栅格化。
对于其它空间实体所对应的像素操作同样可以按照上述方法进行操作。
本实施例并不限定上述通过对视图坐标点对应的像素进行分析后,将增量数据插入到所述在先缓存的空间数据中的过程,还可以按照下述步骤进行:
将所述在先缓存的空间数据的放大比例作为所述视图控制参数中的视图窗口放大比例,依据所述视图控制参数将所述增量数据和缓存的空间数据的原始坐标点分别变换得到视图窗口的视图坐标点;查找与所述用增量数据原始坐标点变换得到的视图坐标点相同的所述用在先缓存的空间数据原始坐标点变换的视图坐标点;将增量数据的原始坐标点插入到所述变换后的视图坐标点与其相同的所述在先缓存的空间数据的原始坐标点的后面;替换所述在先缓存的空间数据的放大比例为所述视图控制参数中的当前视图窗口放大比例。
上述过程中,通过比较将原始坐标点变换后对应的视图坐标点是否相同,来作为增量数据的插入条件。
上述步骤S33中,所述将增量数据的原始坐标点插入到所述变换后的视图坐标点对应的视图窗口像素与其相同的所述在先缓存的空间数据的原始坐标点的后面的过程如图4所示,包括:
步骤S41、从所述在先缓存的空间数据的原始坐标点中选取待处理空间数据坐标点,将其添加到坐标点集合,并将其变换后的视图坐标点对应的视图窗口的像素赋值为1;
步骤S42、依次添加所述增量数据中变换后的视图坐标点在所述视图窗口上所对应的像素值为1的原始坐标点到所述坐标点集合;
该步骤的具体过程如图5所示,包括:
步骤S51、选取增量数据的原始坐标点中的当前待处理增量数据的原始坐标点进行处理;
步骤S52、将待处理增量数据的原始坐标点按照在先缓存的空间数据的放大比例进行坐标变换后得到视图坐标点;
步骤S53、判断该视图坐标点对应的视图窗口的像素的像素值是否为0,若否,则执行步骤S54,若是,则结束;
当视图坐标点对应的视图窗口的像素的像素值为0时,则过程结束。
步骤S54、将当前待处理增量数据的原始坐标点添加到坐标点集合;
步骤S55、判断当前待处理增量数据是否为所述增量数据中的最后一个原始坐标点,若是,则结束,若否,则返回执行步骤S51。
按照上述步骤S51-55将增量数据的原始坐标点进行依次判断,并将符合条件的数据的坐标点添加到坐标点集合。所述坐标点集合中包含的数据为重建后的空间数据。
步骤S43、判断所述待处理空间数据坐标点是否为所述在先缓存的空间数据的原始坐标点中最后一个坐标点,若否,则返回执行步骤S41,若是,则结束。
本实施例中详细描述了当请求发送端缓存有在先缓存的空间数据时,请求发送端在判断出需要请求增量数据时,发送增量数据请求,数据请求中以当前客户端需要进行显示的当前视图窗口放大比例作为视图控制参数,使得其请求的增量数据可以根据当前客户端的放大比例进行调整,将接收的增量数据插入到在先缓存的空间数据中,进行数据重建,将重建后的数据作为当前视图窗口对应的显示数据,以保证数据的无损显示的过程。该方法简单灵活,易于实现,而且计算量小,效率高。
本实施例并不限定按照上述过程进行增量数据的插入,同样可以利用所述请求接收端在发送增量数据中携带有标识增量数据的坐标点的位置信息的方式,依据所述位置信息,将所述增量数据中的原始坐标点插入到所述在先缓存的空间数据的对应位置;采用该方式,无需对增量数据进行后续的计算,减小了客户端的数据处理量。具体的实现方式可以按照实际情况而自行设定。
本发明公开的又一空间数据渐进传输方法的流程如图6所示,包括:
步骤S61、接收请求发送端发送的增量数据请求,所述请求中包含视图控制参数;
本实施例公开的空间数据渐进传输方法适用于请求接收端。其接收的数据增量请求中的视图控制参数的类型与图1所示实施例中的类型相对应。当请求发送端存储有在先缓存的空间数据时,所述视图控制参数包括:当前视图窗口放大比例、查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。依据请求增量数据对应的空间数据标识号查找到请求的原始空间数据。
步骤S62、依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标;
依据视图控制参数,将原始空间数据的原始坐标变换为与视图控制参数对应的视图窗口的视图坐标,以便于在视图窗口下对变换后的视图坐标进行分析。
本实施例中的视图控制参数还包括:视图模式和视图窗口的外包矩形参数。视图模式即根据实际的视图窗口预先设定视图窗口为二维模式还是三维模式。视图窗口的外包矩形参数是显示空间实体的视图窗口范围(0,0,ViewWidth,ViewHeight),如计算机屏幕地图显示窗口的范围,包括:视图窗口的外包矩形的宽度ViewWidth和视图窗口的外包矩形的高度ViewHeight,通过这两个参数,可以确定实际视图窗口中用于显示图像的窗口的大小范围。对于二维视图模式,其视图控制参数中除包括视图模式和视图窗口的外包矩形参数外,还包括查询空间实体的矩形范围和视图中空间实体的放大比例或者包括查询空间实体的矩形范围和视图中空间实体的放大比例,可以利用所述空间实体在所述空间实体在所述视图窗口下的中心点坐标替换查询空间实体的矩形范围。对于三维视图模式,其视图控制参数中除包括视图模式和视图窗口的外包矩形参数外,还包括视点参数和投影参数,所述视点参数包括视点在预先设定的世界坐标系中的放置位置O(xo,yo,zo),xo,yo,zo表示视点在世界坐标系中的三个分量、视点所观察的目标放置位置A(xa,ya,za)和虚拟照相机向上的向量up(xup,yup,zup);所述投影参数包括:正交投影和透视投影。或者是依据上述参数获得的视图矩阵和投影矩阵,利用视图矩阵和投影矩阵进行坐标变换。依据上述视图控制参数,利用坐标变换方法即可将原始空间数据的原始坐标变换得到视图窗口的视图坐标。
本实施例中,视图窗口的外包矩形参数可以预先设定一个定值,然后根据实际显示的视图窗口的外包矩形来调整所述视图中空间实体的放大比例,使得空间数据在实际显示的视图窗口中显示的效果和在所述预先设定视图窗口外包矩形的视图窗口中显示的效果是一样,这种情况下,所述请求中的视图控制参数中可以不包含视图窗口的外包矩形参数。
确定视图控制参数后,利用数据结构依据视图控制参数表示视图窗口。此处所述的表示视图窗口可以为实际可以进行显示的物理视图窗口,也可以是为了进行分析而生成的逻辑视图窗口环境。
当利用栅格数据结构来表示视图窗口时,用栅格数据来表达二维栅格图像,把显示视图窗口平面划分成均匀的网格,每个网格单元称为像素,栅格数据结构就是像素阵列,栅格中的每个像素是栅格数据中最基本的信息存储单元,其坐标位置可以用行号和列号确定。由于栅格数据是按一定规则排列的,所以表示的实体位置关系是隐含在行号、列号之中的。每个像素值用于代表空间实体的属性或属性的编码。
通过视图控制参数中的视图窗口的外包矩形参数可以得到用于表示视图窗口的栅格数据的大小。如用m个字节表示一个像素值,则表达视图窗口的栅格数据的大小为:(ViewWidth*ViewHeight*m),并且将用于表示视图窗口的栅格数据的初始值赋值为0。
依据预先设定的视图控制参数,将依据视图控制参数查找到的与所述增量数据请求对应的原始空间数据的原始坐标变换得到视图坐标系下的视图坐标,原始空间数据的原始坐标点对应视图坐标系下的视图坐标点,每个视图坐标点与用栅格数据依据视图控制参数所表示的视图窗口的像素相对应,通过分析原始空间数据在所述视图窗口上显示时需要绘制的像素来分析原始空间数据是否为增量数据。
步骤S63、分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据;
通过分析视图坐标,找到符合增量数据条件的视图坐标,进而找到与该视图坐标对应的原始空间数据,将得到的原始空间数据作为请求发送端请求的增量数据。
步骤S64、发送所述增量数据到所述请求发送端。
将得到的增量数据发送给请求发送端。
本实施例公开的空间数据渐进传输方法中,请求接收端获取到与请求对应的原始空间数据后,依据视图控制参数将其原始坐标转换为视图窗口的视图坐标,并进行分析,将符合增量数据条件的视图坐标对应的原始空间数据作为增量数据。该方法中,对空间数据的分析过程依据增量数据请求中的视图控制参数进行,即以请求发送端的实际显示视图窗口为基础,从而实现了获得的增量数据能够在请求发送端进行无损显示,同时只将增量数据进行传输,大大缩减了数据传输量,提高了数据传输效率。
本发明公开的又一空间数据渐进传输方法的流程如图7所示,该方法适用于请求接收端,基于请求发送端缓存有在先缓存的空间数据的情况,包括:
步骤S71、接收请求发送端发送的增量数据请求,所述请求中包含视图控制参数;
所述视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的放大比例。
步骤S72、依据所述视图控制参数中的当前视图窗口放大比例对原始空间数据进行坐标变换,得到当前变换结果;
获得依照当前视图窗口放大比例进行坐标变换后的当前变换结果。
步骤S73、依据所述视图控制参数中的在先缓存的空间数据的放大比例对所述原始空间数据进行坐标变换,得到在先变换结果;
获得依照在先视图窗口放大比例进行坐标变换后的在先变换结果。
步骤S74、分别化简所述当前变换结果和所述在先变换结果,获得当前化简结果和在先化简结果;
在各自视图控制参数对应的视图窗口下化简上述变换结果,得到化简结果。本步骤中的化简过程为将变换到视图窗口下的视图坐标在视图窗口下进行分析并化简,其具体的分析过程为分析对应于同一个像素的视图坐标点,判断视图坐标点是否符合化简条件,根据分析的结果,化简符合化简条件的视图坐标点对应的原始空间数据。该方法以模拟原始空间数据在与视图控制参数对应的视图窗口中实际显示的情况为基础进行分析化简,能够保证化简后的空间数据在实际的显示窗口中进行无损显示,并保证化简后的空间数据间的空间关系显示的正确性。具体内容请参考尚未公开的一项发明名称为空间数据化简方法及装置的申请文件。
步骤S75、确定所述当前化简结果中符合增量条件的原始空间数据为增量数据;
该步骤的具体过程包括:
确定在所述当前化简结果中,且不在所述在先化简结果中的原始坐标点为增量数据;
找到存在于当前化简结果,但是不存在于在先化简结果中的原始坐标点。
步骤S76、发送所述增量数据到请求发送端。
本实施例公开的空间数据渐进传输方法中,请求接收端根据请求中的当前视图窗口放大比例和在先缓存的空间数据的放大比例对请求的原始数据分别进行变换、化简后,通过对比两次化简结果,得到增量数据,使得数据传输过程中,只需传输在先缓存的空间数据中没有的空间数据,缩小了数据传输量,提高了数据传输效率。同时,由于其变换、化简过程均依据当前进行显示的视图窗口的控制参数进行,从而保证得到的增量数据能够在当前的视图窗口进行无损显示,保证了数据的传输质量,提高了显示效率。
本实施例中并不限定采用请求增量数据对应的空间数据标识号,还可以根据在先缓存的空间数据排列的顺序号等方式,只要所述请求接收端能够查找到在先缓存的空间数据所对应的原始空间数据即可。
此外,当请求发送端没有缓存空间数据时,则不存在在先缓存的空间数据的放大比例,则视图控制参数包括:当前视图窗口放大比例和查询空间实体矩形范围。请求接收端在接收到增量数据请求后,依据视图控制参数将请求的原始空间数据按照当前显示的视图窗口的视图控制参数进行变换、化简,得到的数据即为增量数据。请求发送端接收到增量数据后,将增量数据作为当前视图窗口需要显示的数据,进行显示,并且将其缓存,以便于以此作为在先缓存空间数据,进行后续的渐进传输处理。
进一步的,当所述请求发送端发送的请求中视图控制参数包括:当前视图窗口放大比例,查询空间实体矩形范围、请求增量数据对应的空间数据标识号和在先缓存的空间数据的坐标点在原始空间数据中的位置信息时,依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标,分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据的过程如图8所示,包括:
步骤S81、依据所述视图控制参数中的当前视图窗口放大比例对原始空间数据的原始坐标变换得到视图窗口的视图坐标;
步骤S82、通过分析所述视图坐标化简原始空间数据;
步骤S83、将化简后的原始空间数据中在原始空间数据中的位置与所述在先缓存的空间数据中坐标点在原始空间数据中的位置相同的原始坐标点去除;
步骤S84、确定保留的空间数据为增量数据。
本实施例中,只需对查找到的原始空间数据的原始坐标根据当前视图窗口放大比例进行坐标变换,并化简,将化简结果中在原始空间数据中的位置与在先缓存的空间数据的坐标点在原始空间数据中的位置信息相同的原始坐标点去除,说明该点已经存在于在先缓存的空间数据中,无需作为增量数据再次被发送,而只将保留的空间数据作为增量数据。该方法简化了确定增量数据的过程,提高了处理速度。
本发明同时公开了一种空间数据渐进传输装置,其结构如图9所示,包括:请求发送单元91,用于确定需要请求增量数据时,发送增量数据请求,所述请求中包含视图控制参数;数据接收单元92,用于接收依据所述视图控制参数将原始空间数据的原始坐标变换为视图窗口的视图坐标并分析后获得的增量数据。
本实施例公开的空间数据渐进传输装置中各个单元的工作过程如下所述:
请求发送单元在根据先缓存的空间数据的放大比例与当前视图窗口的放大比例确定出需要发送增量数据请求时,发送增量数据请求,在所述请求中包含视图控制参数,视图控制参数的具体内容依据当前请求发送端是否存储有在先缓存的空间数据而有所不同,同时数据接收单元接收请求接收端在接收增量数据请求后,依据所述视图控制参数将原始空间数据的原始坐标变换为利用数据结构依据所述视图控制参数所表示的视图窗口下的视图坐标,并分析后获得的增量数据。
所述空间数据渐进传输装置还包括:插值单元,用于当请求发送端存储有在先缓存的空间数据时,将获得的增量数据直接按照原始坐标点的位置信息插入到在先缓存的空间数据的对应位置或者经过坐标变换后,查找到视图坐标点与其相同的所述在先缓存的空间数据的坐标点,插入到该坐标点后面,得到重建后的空间数据。
本实施例公开的空间数据渐进传输装置的执行过程为对应于上述本发明实施例所公开的方法实施例流程,为较佳的装置实施例,其具体执行过程可参见上述方法实施例,在此不再赘述。
本实施例公开的空间数据渐进传输装置设置于客户端,或者与客户端相连,根据客户端的当前情况发送增量数据请求,并接收的增量数据。
本发明公开的又一空间数据渐进传输装置的结构如图10所示,包括:请求接收单元101、坐标变换单元102、分析单元103和数据发送单元104,其中:请求接收单元101用于接收请求发送端发送的增量数据请求,所述增量数据请求中包含视图控制参数;坐标变换单元102用于依据所述视图控制参数将查找到的原始空间数据的原始坐标变换为视图窗口的视图坐标;分析单元103用于分析所述视图坐标,确定符合增量条件的视图坐标对应的原始空间数据为增量数据;数据发送单元104用于发送所述增量数据到请求发送端。
本实施例公开的空间数据渐进传输装置中各个单元的工作过程如下所述:
请求接收单元接收请求发送端发送的增量数据请求,坐标变换单元依据所述增量数据请求中包含的视图控制参数将原始空间数据的原始坐标变换为依据所述视图控制参数利用数据结构表示的视图窗口下的视图坐标,视图控制参数同样依据请求发送端是否存储有在先缓存的空间数据而不同,分析单元分析所述视图坐标,具体分析过程中还包括将原始空间数据进行化简的步骤,然后确定符合增量条件的视图坐标对应的原始空间数据为增量数据,即确定在所述当前化简结果中,且不在所述在先化简结果中的原始坐标点为增量数据,最后通过数据发送单元,将增量数据发送到请求发送端。
本实施例公开的空间数据渐进传输装置的执行过程为对应于上述本发明实施例所公开的方法实施例流程,为较佳的装置实施例,其具体执行过程可参见上述方法实施例,在此不再赘述。
本实施例公开的空间数据渐进传输装置设置于服务器端,或者与服务器端相连,接收增量数据请求后,根据增量数据请求中的视图控制参数获得增量数据,并将其发送给请求发送端。
本发明公开的空间数据渐进传输装置可以设置在计算机内,也可以设置在手机或其他可以使用本发明的设备内,或者是其他智能设备。其既可以设置在服务器端,在将客户端请求的数据发送之前,首先对空间数据进行处理,也可将其设置在客户端,在将其发送到实际的视图窗口前,将数据进行处理,或者同时设置在服务器和客户端,根据实际情况选择由哪一方或者双方共同进行处理。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。