一种矢量数据的处理方法及装置与流程

文档序号:12122718阅读:303来源:国知局
一种矢量数据的处理方法及装置与流程

技术领域

本发明涉及空间信息技术、计算机图形学、虚拟现实技术和计算机操作系统等领域,尤其涉及矢量数据的处理方法及装置。



背景技术:

空间实体是对存在或虚拟于自然世界中的实体或现象的抽象,与空间位置或特征相关联,在自然世界中是不可再分的最小单元,基本的空间实体有点、线、面和体四种类型。空间数据用于表示空间实体本身的空间位置、形态信息及空间关系,如拓扑关系等信息,其空间数据结构分为矢量数据结构和栅格数据结构,矢量数据结构用空间离散点坐标来描述空间实体,它将研究的整个空间视为一个空域,空间实体作为独立的对象分布在该空域中;栅格数据结构把空间划分成均匀的网格,用于描述具有一定空间内连续分布特点的空间实体。

分辨率,泛指量测或显示系统对细节的分辨能力。全国科学技术名词审定委员会审定公布的分辨率的定义是:分辨物理量细节的能力。

随着科学技术的不断进步,空间技术的快速发展和广泛应用,计算机图形学、虚拟现实、城市规划、文物修复、动画游戏、计算机辅助设计、地理信息系统、医学图形等以空间实体为基础的应用领域得到快速发展,空间数据呈爆炸式增长,海量空间数据的压缩、传输、显示、分析已经成了制约这些行业发展的主要的技术瓶颈。



技术实现要素:

有鉴于此,本发明提供一种矢量数据的处理方法及装置。其具体方案如下:

一种矢量数据的处理方法,包括:

获取矢量数据的坐标点;

依据所述矢量数据的坐标点生成矢量数据最小数据组织单位的分辨率标示量。

一种矢量数据化简的方法,包括:

确定用于化简所述矢量数据的分辨率参照值;

选取矢量数据的第一个坐标点和此坐标点所对应的分辨率标示量作为当前待处理坐标点和当前待判断分辨率标示量:

判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值,若是,则将当前待处理坐标点添加到坐标点集合;

判断所述当前待处理坐标点是否为所述矢量数据的坐标点中的最后一个坐标点,若否,则执行下一步骤,若是,则执行将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束步骤;

选取矢量数据中的下一个坐标点作为当前待处理坐标点,并获取所述当前待处理坐标点对应的分辨率标示量作为当前待判断分辨率标示量,返回执行判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值步骤;

将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束。

一种矢量数据绘制的方法,包括:

获得显示矢量数据的视图窗口的视图控制参数;

依据所述视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

将所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为化简所述矢量数据的分辨率参照值对所述矢量数据进行化简;

将化简后的矢量数据使用绘图算法在所述视图窗口中进行绘制。

一种矢量数据的选择方法,包括:

获取并记录下选择范围和选择条件;

依据所述选择范围和选择条件对在视图窗口中显示出来的矢量数据进行选择处理;

在确定了对所述选中的矢量数据所进行的处理后,再依据所述选择范围和选择条件来选中所有符合选中条件的矢量数据。

一种矢量数据空间关系计算的方法,包括:

对所要计算空间关系的原始矢量数据所对应的低分辨率矢量数据进行空间关系计算,确定原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系、可能具有某种空间关系;

对可能具有某种空间关系的矢量数据,使用原始矢量数据进行分析是否具有某种空间关系。

一种矢量数据编辑的方法,包括:

获取并记录下选择矢量数据进行编辑的选择条件;

依据所述选择条件对在视图窗口中显示出来的矢量数据中符合选择条件的矢量数据作为编辑处理操作的被操作对象;

在确定了对所述选中的矢量数据所进行的编辑处理后,获取对矢量数据的编辑指令和编辑参量;

依据所述选择条件来选取所有符合选中条件的矢量数据,对所述所有符合选中条件的矢量数据依据所述的编辑指令为和编辑参量对矢量数据进行编辑。

一种矢量数据渐进传输的方法,包括:

当需要请求增量数据时,发送增量数据请求,所述请求中包含控制参数;

接收依据所述视图控制参数和矢量数据的分辨率标示量进行分析后获得的增量数据。

一种矢量数据渐进传输方法,包括:

接收请求发送端发送的增量数据请求,所述增量数据请求中包含控制参数;

依据所述请求包含的视图控制参数和矢量数据的分辨率标示量对矢量数据进行分析处理,确定矢量数据中符合增量条件的数据为增量数据;

发送所述增量数据到所述请求发送端。

一种矢量数据的处理装置,包括:

坐标点获取单元,用于获取矢量数据的坐标点;

生成单元,用于依据所述矢量数据的坐标点生成矢量数据最小数据组织单位的分辨率标示量。

一种矢量数据化简装置,包括:

第一确定单元,用于确定用于化简所述矢量数据的分辨率参照值;

第一选取单元,用于选取矢量数据的第一个坐标点和此坐标点所对应的分辨率标示量作为当前待处理坐标点和当前待判断分辨率标示量:

第一判断单元,用于判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值,若是,则将当前待处理坐标点添加到坐标点集合;

第二判断单元,用于判断所述当前待处理坐标点是否为所述矢量数据的坐标点中的最后一个坐标点,若否,则执行下一步骤,若是,则执行将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束步骤;

第二选取单元,用于选取矢量数据中的下一个坐标点作为当前待处理坐标点,并获取所述当前待处理坐标点对应的分辨率标示量作为当前待判断分辨率标示量,返回执行判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值步骤;

第二确定单元,用于将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束。

一种矢量数据绘制装置,包括:

参数获取单元,用于获得显示矢量数据的视图窗口的视图控制参数;

计算单元,用于依据所述视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

化简单元,用于将所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为化简所述矢量数据的分辨率参照值对所述矢量数据进行化简;

绘制单元,用于将化简后的矢量数据使用绘图算法在所述视图窗口中进行绘制。

一种矢量数据的选择装置,包括:

选择范围和条件获取单元,用于获取并记录下选择范围和选择条件;

选择处理单元,用于依据所述选择范围和选择条件对在视图窗口中显示出来的矢量数据进行选择处理;

选中单元,用于在确定了对所述选中的矢量数据所进行的处理后,再依据所述选择范围和选择条件来选中所有符合选中条件的矢量数据。

一种矢量数据空间关系计算装置,包括:

空间关系确定单元,用于对所要计算空间关系的原始矢量数据所对应的低分辨率矢量数据进行空间关系计算,确定原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系、可能具有某种空间关系;

分析单元,用于对可能具有某种空间关系的矢量数据,使用原始矢量数据进行分析是否具有某种空间关系。

一种矢量数据编辑装置,包括:

获取记录单元,用于获取并记录下选择矢量数据进行编辑的选择条件;

选择单元,用于依据所述选择条件对在视图窗口中显示出来的矢量数据中符合选择条件的矢量数据作为编辑处理操作的被操作对象;

编辑指令和编辑参量获取单元,用于在确定了对所述选中的矢量数据所进行的编辑处理后,获取对矢量数据的编辑指令和编辑参量;

编辑单元,用于依据所述选择条件来选取所有符合选中条件的矢量数据,对所述所有符合选中条件的矢量数据依据所述的编辑指令为和编辑参量对矢量数据进行编辑。

一种矢量数据渐进传输装置,包括:

增量数据请求发送单元,用于当需要请求增量数据时,发送增量数据请求,所述请求中包含控制参数;

增量数据接收单元,用于接收依据所述视图控制参数和矢量数据的分辨率标示量进行分析后获得的增量数据。

一种矢量数据渐进传输装置,包括:

增量数据请求接收单元,用于接收请求发送端发送的增量数据请求,所述增量数据请求中包含控制参数;

分析处理单元,用于依据所述请求包含的视图控制参数和矢量数据的分辨率标示量对矢量数据进行分析处理,确定矢量数据中符合增量条件的数据为增量数据;

发送单元,用于发送所述增量数据到所述请求发送端。

从上述的技术方案可以看出,本发明公开的矢量数据的处理方法,有效地解决了海量矢量数据的处理过程中服务器端、传输网络及客户端的矢量数据的压缩、传输、编辑、显示和空间关系计算等的瓶颈问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例公开的一种矢量数据处理方法的流程图;

图2为本发明实施例公开的一种矢量数据的分辨率标示量的生成方法的流程图;

图3为本发明实施例公开的一种获取分辨率标示量的过程的流程图;

图4为本发明实施例公开的又一种获取分辨率标示量的过程的流程图;

图5为本发明实施例公开的又一种获取分辨率标示量的过程的流程图;

图6为本发明实施例公开的一种矢量数据化简的方法的流程图;

图7为本发明实施例公开的依据所述用于化简所述矢量数据的分辨率参照值来化简所述矢量数据的流程图;

图8为本发明实施例公开的一种获取用于化简所述矢量数据的分辨率参照值的方法的流程图;

图9为本发明实施例公开的一种矢量数据绘制的方法的流程图:

图10为本发明实施例公开的一种矢量数据的选择方法的流程图;

图11为本发明实施例公开的一种矢量数据空间关系计算方法的流程图;

图12为本发明实施例公开的一种矢量数据编辑的方法的流程图;

图13为本发明实施例公开的一种矢量数据渐进传输的方法的流程图;

图14为本发明实施例公开的又一矢量数据渐进传输的方法的流程图;

图15为本发明实施例公开的将所述接收的增量数据插入到所述在先缓存的矢量数据中的流程图;

图16为本发明实施例公开的又一矢量数据渐进传输的方法的流程图;

图17为本发明实施例公开的又一矢量数据渐进传输的方法的流程图;

图18为本发明实施例公开的又一矢量数据渐进传输的方法的流程图;

图19为本发明实施例公开的依据所述当前分辨率参照值和先分辨率参照值来分析所述矢量数据,来获取符合增量条件的数据作为增量数据的流程图;

图20为本发明实施例公开的一种矢量数据的处理装置的结构示意图;

图21为本发明实施例公开的一种矢量数据化简装置的结构示意图;

图22为本发明实施例公开的一种矢量数据绘制装置的结构示意图;

图23为本发明实施例公开的一种矢量数据的选择装置的结构示意图;

图24为本发明实施例公开的一种矢量数据空间关系计算装置的结构示意图;

图25为本发明实施例公开的一种矢量数据编辑装置的结构示意图;

图26为本发明实施例公开的一种矢量数据渐进传输装置的结构示意图;

图27为本发明实施例公开的又一矢量数据渐进传输装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

空间实体是通过空间数据来表达和描述存在或虚拟于自然世界中的实体的,从显示的角度,无论是矢量数据结构的空间数据,还是栅格数据结构的空间数据,都具有多分辨率的特性。因为电子屏幕(视图窗口)是有分辨率的,当空间实体在视图窗口中显示时,由于视图窗口的分辨率是有限的,当空间数据在视图窗口上绘制的图形比较小时,会有表现矢量数据细节部分的数据(坐标点)会绘制在相同的像素上,当矢量数据在视图窗口上绘制的图形比较大时,细节部分才能显示出来,也就是说,矢量数据填充(绘制)的像素个数多,矢量数据的分辨率就高,填充(绘制)的显示个数少,矢量数据的分辨率就低,因此,虽然矢量数据本身的显示效果不会因为分辨率而显示上失真,但是矢量数据显示时,具有多分辨率的特性。但目前的矢量数据结构,没有记录矢量数据显示时分辨率特性,在传输和显示的时候全部传输和显示,制造了网络传输瓶颈和数据绘制显示的瓶颈,如果对矢量数据进行自适应化简,又给服务器造成了计算瓶颈。因此本发明在矢量数据结构中记录矢量数据的分辨率标示量,通过矢量数据的分辨率标示量来进行矢量数据的自适应化简、渐进传输、绘制、分析等,解决海量矢量数据的压缩、网络传输、客户端显示和分析等技术瓶颈。

矢量数据包括二维矢量数据、三维矢量数据以及多维矢量数据等所有意义上的矢量数据。

本发明实施例公开的一种矢量数据处理方法的流程如图1所示,包括:

步骤S11、获取矢量数据的坐标点;

二维矢量数据的坐标点可以表示为:(x1,y1),(x2,y2),…(xn,yn);

三维矢量数据的坐标点可以表示为:(x1,y1,z1),(x2,y2,z2),…(xn,yn,zn);

步骤S12、依据所述矢量数据的坐标点生成矢量数据最小数据组织单位的分辨率标示量ri1,ri2…rin

二维矢量数据的最小数据组织单位为坐标点,三维矢量数据的最小数据组织单位和三维模型相关,如,三角网三维模型的最小数据组织单位为三角形,点云三维模型的最小数据组织单位为三维坐标点。可将得到的分辨率标示量添加到矢量数据结构中去,从而使得获取到矢量数据的同时,就能够获得其对应的分辨率标示量。

本发明实施例公开的一种矢量数据的分辨率标示量的生成方法的流程如图2所示,包括:

步骤S21、设定作为参照的视图窗口,所述视图窗口包括视图窗口的宽度ViewWidth和高度ViewHeight;

通过设定作为矢量数据参照的视图窗口宽度和高度来确定作为矢量数据参照的视图窗口,用于计算矢量数据在所述作为参照的视图窗口中显示时的分辨率标示量。因为所有的矢量数据都可以设定相同的作为参照的视图窗口宽度ViewWidth和高度ViewHeight,因此在矢量数据结构中可以不包含作为参照的视图窗口宽度ViewWidth和高度ViewHeight。

步骤S22、依据所述作为参照的视图窗口,生成矢量数据的分辨率标示量。

计算组成矢量数据最小数据组织单位(如坐标点)在所述作为参照的视图窗口中显示时,能被显示出来的放大比例或其它控制参量(如,相对控制量)作为此最小数据组织单位(如坐标点)的分辨率标示量。比如线矢量数据,计算出组成线矢量数据的每个坐标点在所述作为参照的视图窗口中显示时,能被显示出来的放大比例作为此坐标点的分辨率标示量。

上述实施例中,需要依据所述作为参照的视图窗口,生成矢量数据的分辨率标示量,以下对获取分辨率标示量的过程进行详细的描述,其流程如图3所示,包括:

步骤S31、计算所述矢量数据的分辨率标示量的起始值;

步骤S32、设定分辨率标示量的增量;

步骤S33、依据所述分辨率标示量的起始值和分辨率标示量的增量计算所述矢量数据的每个最小数据组织单位(如坐标点)所对应的分辨率标示量。

上述实施例中,为了生成矢量数据结构中所述的分辨率标示量数据项,下面将以二维线矢量数据为例,对依据所述作为参照的视图窗口宽度和高度,计算所述线矢量数据的每个坐标点的分辨率标示量,也就是当所述线矢量数据在所述设定作为参照的视图窗口中显示时,计算出每个坐标点,将能够显示出来,而不被所述矢量数据中其他坐标点覆盖的放大比例作为此坐标点的分辨率标示量。以下对获取分辨率标示量的过程进行详细的描述,其流程如图4所示,包括:

首先将所述矢量数据的分辨率标示量赋初始值0。

步骤S41、获得线矢量数据的宽度VectorWidth和高度VectorHeight;

因为大多实际的应用中,矢量数据结构中都含有矢量数据的外包矩形,可以直接获得矢量数据的宽度和高度,如果不能直接获得矢量数据的外包矩形,则可以通过矢量数据的坐标点计算得到。

步骤S42、计算所述线矢量数据的分辨率标示量的起始值Rmin

(1)计算所述矢量数据在所述设定作为参照的视图窗口中全屏显示时所对应的放大比例R;

R1=ViewWidth÷VectorWidth;

R2=ViewHeight÷VectorHeight;

将R1和R2中比较小的值作为R的值。

(2)计算当所述线矢量数据在所述设定作为参照的视图窗口中至少有2个坐标点被显示出来的放大比例作为Rmin

假设放大比例Rtemp;

如果R1小于R2,则:

RTemp=R÷ViewWidth×2,并将ViewWidth作为视图窗口的参照值ViewRefValue;

如果R1大于或等于R2,则:

RTemp=R÷ViewHeight×2,并将ViewHeight作为视图窗口的参照值ViewRefValue;

因为构成线图形最少需要2个坐标点。

a.依据所述设定作为参照的视图窗口和RTemp作为视图控制参数对矢量数据进行自适应化简;

b.如果化简后有2个或2个以上的坐标点被保留,也就是说在所述视图控制参数下,所述矢量数据在所述设定作为参照的视图窗口中显示时至少有两个坐标点能被显示出来,则将RTemp作为所述线矢量数据的分辨率标示量的起始值Rmin,把所述化简后保留下来的坐标点的所对应的矢量数据的坐标点的分辨率标示量的值设定为Rmin,并结束;

c.如果化简后少于2个坐标点被保留,则将所述RTemp加一个增量值,具体值可以根据实际情况进行设定,返回执行步骤a;

步骤S43、设定分辨率标示量的增量△R;

根据实际需要可以将Rmin作为增量△R,也可以将R÷ViewRefValue作为增量△R等等。

步骤S44、依据所述起始值Rmin和增量△R计算所述矢量数据的每个坐标点的分辨率标示量。

假设放大比例为R,R的初始值为Rmin。

1、将R值增加△R,即R=R+△R;

2、判断所述矢量数据的坐标点中是否存在坐标点所对应的分辨率标示量的值为0,如果不存在,则结束,如果存在则执行步骤3;

3、依据所述设定作为参照的视图窗口和R作为视图控制参数对矢量数据进行自适应化简;

4、判断所述化简后保留下来的坐标点的所对应的矢量数据的坐标点所对应的分辨率标示量的值是否为0,如果为0,则设定为R,如果大于0,则保留原始的分辨率标示量的值;

5、返回执行步骤1。

本实施例公开的又一种获取矢量数据分辨率标示量的方法,其流程如图5所示,具体步骤如下:

首先将所述矢量数据的分辨率标示量赋初始值0。

步骤S51、获得线矢量数据的宽度VectorWidth和高度VectorHeight;

因为大多实际的应用中,矢量数据结构中都还有矢量数据的外包矩形,可以直接获得矢量数据的宽度和高度。如果不能直接获得矢量数据的外包矩形,则可以通过矢量数据的坐标点计算得到。

步骤S52、计算所述线矢量数据的分辨率标示量的起始值所对应的放大比例Rmin

(1)计算所述矢量数据在所述设定作为参照的视图窗口中全屏显示时所对应的放大比例R;

R1=ViewWidth÷VectorWidth;

R2=ViewHeight÷VectorHeight;

将R1和R2中比较小的值作为R的值。

(2)计算当所述线矢量数据在所述设定作为参照的视图窗口中至少有2个坐标点被显示出来的放大比例作为Rmin

假设放大比例Rtemp;

如果R1小于R2,则:

RTemp=R÷ViewWidth×2,并将ViewWidth作为视图窗口的参照值ViewRefValue;

如果R1大于或等于R2,则:

RTemp=R÷ViewHeight×2,并将ViewHeight作为视图窗口的参照值ViewRefValue;

因为构成线图形最少需要2个坐标点。

a.依据所述设定作为参照的视图窗口和RTemp作为视图控制参数对矢量数据进行自适应化简;

b.如果化简后有2个或2个以上的坐标点被保留,也就是说在所述视图控制参数下,所述矢量数据在所述设定作为参照的视图窗口中显示时至少有两个坐标点能被显示出来,则将RTemp作为所述矢量数据的分辨率标示量的起始值所对应的放大比例Rmin,将所述线矢量数据的分辨率标示量的起始值赋值为1(1作为相对控制量,作为矢量数据的分辨率标示量的起始值),把所述化简后保留下来的坐标点的所对应的矢量数据的原始坐标点的分辨率标示量的值设定为1,并结束;

c.如果化简后少于2个坐标点被保留,则将RTemp加一个增量值,具体值可以根据实际情况进行设定,返回执行步骤a;

步骤S53、设定分辨率标示量的增量△R;

根据实际需要可以将Rmin作为增量△R,也可以将R÷ViewRefValue作为增量△R等等。

步骤S54、依据所述起始值Rmin和增量△R计算所述矢量数据的每个坐标点的分辨率标示量;

假设放大比例为R,R的初始值为Rmin,假设相对控制量ResolutionLabel的初始值为1,用相对控制量来表示矢量数据的分辨率标示量。

1、将R值增加△R,即R=R+△R,将分辨率标示量的值增加1,即ResolutionLabel=ResolutionLabel+1;

2、判断所述矢量数据的坐标点中是否存在坐标点所对应的分辨率标示量的值为0,如果不存在,则结束,如果存在则执行步骤3;

3、依据所述设定作为参照的视图窗口和R作为视图控制参数对矢量数据进行自适应化简;

4、判断所述化简后保留下来的坐标点的所对应的矢量数据的坐标点所对应的分辨率标示量的值是否为0,如果为0,则设定为ResolutionLabel,如果大于0,则保留原始的分辨率标示量的值。

5、返回执行步骤1。

上述公开的实施案例可以减少矢量数据的数据量,因为放大比例往往使用双精度来存储,需要8个字节,而使用上述的相对控制量作为矢量数据分辨率标示量,则通常只需要一个字节存储就可以,有效地减少了数据量。

上述实施例中的自适应化简方法,可以采用本发明公开的下述方法,具体步骤包括:

a、依据视图控制参数,将矢量数据的原始坐标变换得到视图窗口坐标系下的视图坐标,所述矢量数据的原始坐标点对应所述视图窗口坐标系下的视图坐标点;

b、用道格拉斯—普克法(Douglas—Peucker)对所述视图坐标点进行化简分析,分析所述视图坐标点是否符合化简条件;

将矢量数据的坐标变换到视图窗口坐标系下的视图坐标,对矢量数据进行化简,可以保证化简后在所述预先设定的视图控制参数所确定的视图窗口中显示时空间关系保持正确显示,显示效果不失真,根据实际显示效果和压缩比的需要可以将道格拉斯—普克法(Douglas—Peucker)的距离阈值D的值赋值为0或0到1之间的数值;

c、根据分析结果,化简符合所述化简条件的视图坐标点对应的矢量数据的原始坐标点。

本发明公开一种矢量数据化简的方法,其流程如图6所示。

步骤S61、确定用于化简所述矢量数据的分辨率参照值;

步骤S62、依据所述用于化简所述矢量数据的分辨率参照值来化简所述矢量数据;

具体步骤如图7所示,包括:

步骤S621、选取矢量数据的第一个坐标点和此坐标点所对应的分辨率标示量作为当前待处理坐标点和当前待判断分辨率标示量;

步骤S622、判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值,若是,则将当前待处理坐标点添加到坐标点集合,执行步骤S623,若否,则执行步骤S623;

步骤S623、判断所述当前待处理坐标点是否为所述矢量数据的坐标点中的最后一个坐标点,若否,则执行步骤S624,若是,则执行步骤S625;

步骤S624、选取矢量数据中的下一个坐标点作为当前待处理坐标点,并获取所述当前待处理坐标点对应的分辨率标示量作为当前待判断分辨率标示量,返回执行步骤S622;

步骤S625、将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束。

本发明公开一种获取用于化简所述矢量数据的分辨率参照值的方法,具体步骤如图8所示,包括:

步骤S71、依据预先设定的视图控制参数,以及矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

所述预先设定的视图控制参数包括:视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight和视图窗口中矢量数据的放大比例RealRadio。视图窗口的宽度RealViewWidth和视图窗口的高度RealViewHeight确定了显示矢量数据的视图窗口范围(0,0,RealViewWidth,RealViewHeight),如计算机屏幕地图显示窗口的范围,通过这两个参数,可以确定实际视图窗口中用于显示图像的窗口的大小范围。

RealRadio的值通常依据视图窗口的宽度和高度,以及在视图窗口中显示出来的矢量数据的矩形范围来计算,所述在视图窗口中显示出来的矢量数据的矩形范围是指将此范围内的矢量数据显示在视图窗口中,也就是在视图窗口中能显示出来的矢量数据的外包矩形,其具体的范围值根据实际的显示情况而设定,所述矢量数据的矩形范围的宽度为vWidth,高度为vHeight。

RealRadio的计算方法如下:

R1=RealViewWidth÷vWidth;

R2=RealViewHeight÷vHeight;

如果R1小于R2,则将R1赋值给RealRadio,否则将R2赋值给RealRadio。

ResolutionLabel的计算方法如下:

dRadioW=(ViewWidth*RealRadio)/RealViewWidth;

dRadioH=(ViewHeight*RealRadio)/RealViewHeight;

如果dRadioW大于dRadioH,则将dRadioW值赋值给ResolutionLabel

,否则将dRadioH值赋值给ResolutionLabel。

步骤S72、依据矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel来确定用于化简所述矢量数据的分辨率参照值。

如果所述矢量数据的分辨率标示量使用的是放大比例R作为分辨率标示量,则将ResolutionLabel作为用于化简所述矢量数据的分辨率参照值。如果确保化简后的矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示不失真,则将所述矢量数据的分辨率标示量中比ResolutionLabel大一级或是相等的分辨率标示量作为用于化简所述矢量数据的分辨率参照值。

如果所述矢量数据的分辨率标示量使用的是相对控制量作为矢量数据分辨率标示量,则用ResolutionLabel减去所述矢量数据的的分辨率标示量的起始值Rmin所得的值为kkk,如果kkk小于或是等于0,则用于化简所述矢量数据的分辨率参照值为1;如果kkk大于0,则将kkk除以所述矢量数据分辨率标示量的增量△R,所得的值假定为HHH,如果HHH是整数,则将HHH作为用于化简所述矢量数据的分辨率参照值;如果HHH还有小数,如果要求确保化简后的矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示不失真,则将HHH的整数值加1作为用于化简所述矢量数据的分辨率参照值,否则,可以直接将HHH的整数值作为用于化简所述矢量数据的分辨率参照值。

本发明公开一种矢量数据绘制的方法,其具体流程如图9所示。

当矢量数据需要在视图窗口中显示时,如果矢量数据很精细,或者矢量数据在视图窗口中显示的比较小,会出现矢量数据的多个坐标点绘制在视图窗口的同一个像素上,这正是矢量数据在视图窗口中显示时所具有的多分辨率的特性,因此可以通过此特性来提高矢量数据的绘制效率。

步骤S81、获得显示矢量数据的视图窗口的视图控制参数;

所述视图控制参数包括:视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight和视图窗口中矢量数据的放大比例RealRadio。视图窗口的宽度RealViewWidth和视图窗口的高度RealViewHeight确定了显示矢量数据的视图窗口范围(0,0,RealViewWidth,RealViewHeight),如计算机屏幕地图显示窗口的范围,通过这两个参数,可以确定实际视图窗口中用于显示图像的窗口的大小范围。

RealRadio的值通常依据视图窗口的宽度和高度,以及在视图窗口中显示出来的矢量数据的矩形范围来计算,所述在视图窗口中显示出来的矢量数据的矩形范围是指将此范围内的矢量数据显示在视图窗口中,也就是在视图窗口中能显示出来的矢量数据的外包矩形,其具体的范围值根据实际的显示情况而设定,所述矢量数据的矩形范围的宽度为vWidth,高度为vHeight。

步骤S82、依据所述视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

ResolutionLabel的计算方法如下:

dRadioW=(ViewWidth*RealRadio)/RealViewWidth;

dRadioH=(ViewHeight*RealRadio)/RealViewHeight;

如果dRadioW大于dRadioH,则将dRadioW值赋值给ResolutionLabel

,否则将dRadioH值赋值给ResolutionLabel。

步骤S83、将所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为化简所述矢量数据的分辨率参照值对所述矢量数据进行化简;

依据显示矢量数据的视图窗口的视图控制参数和矢量数据在视图窗口中显示的多分辨率特性对矢量数据进行化简,将矢量数据在所述视图窗口中显示时所述矢量数据中被其他数据遮挡的数据化简掉,将矢量数据中不影响矢量数据在视图窗口中的显示效果以及和其他矢量数据之间空间关系的数据化简掉。

步骤S84、将化简后的矢量数据使用绘图算法在所述视图窗口中进行绘制。

本发明公开一种矢量数据的选择方法,其流程如图10所示。

实际的选择范围内的数据量可能比在视图窗口中所显示出来的数据量要多,如果直接将选择范围内的数据都取出来进行后续处理,在网络环境下,会造成系统性能的下降,特别是后续操作是进行数据编辑和突出显示,本发明公开一种矢量数据选择的方法步骤如下:

步骤S91、获取并记录下选择范围和选择条件;

矢量数据选择最基本的包括点选、框选、圈选和多边形选择等等,点选的选取范围就是一个坐标点,有时再包含一个点选容限,比如对线矢量数据进行点选;框选的选取范围就是矩形区域,圈选的选择范围往往用中心点坐标和圆圈的半径来表示;多边形选择的选择范围就是多边形区域。用于选择条件通常为选取的方法(如包含、相交等)、限定对某类数据进行选择等等,根据具体实际情况而定。本发明不再一一列举,保护范围包括所有的矢量数据的选取情况。

步骤S92、依据所述选择范围和选择条件对在视图窗口中显示出来的矢量数据进行选择处理;

用视图窗口中显示出来的矢量数据中符合选中条件的局部矢量数据代替全部符合选择条件的矢量数据来完成必须要全部选中的矢量数据都要参与之外的操作。

如果选择发生在客户端,而客户端所显示的矢量数据同服务器端所对应的矢量数据相比,如果是经过服务器端化简、压缩处理后传输过来的,并且化简后的矢量数据已经能保证在视图窗口中和化简前相同的显示效果以及同其它矢量数据的空间关系,使用本地在窗口中显示出来的符合选中条件的矢量数据(即使此数据是被化简、压缩过的)代替所有符合选中条件的矢量数据而没有影响效果,如突出显示,以及在没有确定对选中的矢量数据的最终操作之前的操作,如图形编辑结束之前、如地图拖动过程中(即地图拖动还没有结束)等操作,可以不去服务器端对矢量数据进行选择分析、读取数据等操作,直接使用本地在窗口中显示出来的数据,这样可以非常有效地减轻服务器的压力、网络传输的压力,提高整个系统的性能。

如果矢量数据选择是在视图窗口上用鼠标来进行点选或用鼠标来绘制矢量图来对矢量数据进行选择,因为用鼠标在视图窗口上绘制的图,其图形所显示的分辨率已经是最高的了,显示了图形的所有细节,因此可以直接用所述鼠标绘制的矢量图和视图窗口上显示出来的矢量数据进行选择分析;如果是通过指定某个或某些矢量数据对其他矢量数据进行选择,而视图窗口上显示的矢量数据是经过化简的,甚至是有损压缩(降低了数据精度)的,那么在视图上显示相互接触的两个矢量数据,可能实际上两个矢量数据是相离的,因此有时需要服务器端共同进行空间关系计算才能完成对在视图窗口中显示出来的矢量数据进行选择的操作。

将视图窗口上符合选择条件的矢量数据的标识号添加到选中集合中,作为对选中矢量数据进行操作的被操作的对象,当视图窗口的视图控制参数发生变化,如地图的放大、缩小、平移和旋转等操作,需要依据所述选择范围和选择条件判断视图窗口中显示的矢量数据是否符合选中条件,对所述选中集合中的数据进行更新。

步骤S93、在确定了对所述选中的矢量数据所进行的处理后,再依据所述选择范围和选择条件来选中所有符合选中条件的矢量数据。

比如查看选中的矢量数据的属性信息,需要将所有符合条件的矢量数据的属性信息都取出来,因此需要依据所述选择范围和选择条件来选中所有符合条件的矢量数据,然后再将选中的矢量数据所对应的属性信息取出来。

本发明公开一种矢量数据空间关系计算的方法,其流程如图11所示。

主要是针对客户端经过化简、压缩后的矢量数据和服务器端完整的矢量数据之间如何进行共同的空间关系计算,减轻服务器端的压力,利用客户端的资源,进行负载平衡,提升整个系统的性能。为了叙述的方便,将对所要计算空间关系的矢量数据称之为原始矢量数据,所述原始矢量数据经过化简、压缩后的矢量数据称之为低分辨率矢量数据。

步骤S101、对所要计算空间关系的原始矢量数据所对应的低分辨率矢量数据进行空间关系计算,确定原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系、可能具有某种空间关系;

因为客户端往往没有全部的矢量数据,而且客户端已有的矢量数据同服务器端所对应的矢量数据相比,也是精度比较低,或者矢量数据是被化简后的数据,还没有包含全部的坐标点,因此客户端的数据是服务器端依据矢量数据显示时的多分辨率特性经过化简和压缩后传输给客户端的,可以在客户端,对所述低分辨率矢量数据判断出确定原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系、可能具有某种空间关系,如果通过低分辨率矢量数据能够判断出所对应的原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系,空间关系计算结束。

步骤S102、对可能具有某种空间关系的矢量数据,使用原始矢量数据进行分析是否具有某种空间关系。

可以将可能具有某种空间关系的原始矢量数据取到客户端进行空间关系计算,也可以让服务器端来进行空间关系计算。

本发明公开一种矢量数据编辑的方法,其流程如图12所示。

步骤S111、获取并记录下选择矢量数据进行编辑的选择条件;

对矢量数据的编辑,需要先选中矢量数据,然后对选中的矢量数据进行编辑。

步骤S112、依据所述选择条件对在视图窗口中显示出来的矢量数据中符合选择条件的矢量数据作为编辑处理操作的被操作对象;

用视图窗口中显示出来的矢量数据中符合选中条件的局部矢量数据代替全部符合选择条件的矢量数据来进行编辑过程中的操作。

将视图窗口上符合选择条件的矢量数据的标识号添加到选中集合中,作为对选中矢量数据进行编辑的被编辑的对象,当视图窗口的视图控制参数发生变化,如地图的放大、缩小、平移和旋转等操作,需要依据所述选择范围和选择条件判断视图窗口中显示的矢量数据是否符合选中条件,对所述选中集合中的数据进行更新。

如果编辑操作是通过客户端对矢量图形的编辑操作来编辑服务器端的矢量数据,而客户端所显示的矢量数据同服务器端所对应的矢量数据相比,如果是经过服务器端化简、压缩处理后传输过来的,并且化简后的矢量数据已经能保证在视图窗口中和化简前相同的显示效果以及同其它矢量数据的空间关系,使用本地在窗口中显示出来的符合选中条件的矢量数据(即使此数据是被化简、压缩过的)代替所有符合选中条件的矢量数据而没有影响效果,如突出显示,以及在没有确定对选中的矢量数据的编辑操作完成之前,如旋转矢量数据所绘制的图形过程中(即旋转还没有结束)等操作,可以不去同服务器交互,直接使用本地在窗口中显示出来的数据,可以非常有效地减轻服务器的压力、网络传输的压力,提高整个系统的性能。

步骤S113、在确定了对所述选中的矢量数据所进行的编辑处理后,获取对矢量数据的编辑指令和编辑参量;

如对矢量数据的编辑指令为旋转编辑,则编辑参量包括旋转的中心点和旋转角度;对矢量数据的编辑指令为移动编辑,则编辑参量包括沿各坐标轴的位移量。本实施例不再一一列举。

步骤S114、依据所述选择条件来选取所有符合选中条件的矢量数据,对所述所有符合选中条件的矢量数据依据所述的编辑指令为和编辑参量对矢量数据进行编辑。

如在获得客户端编辑矢量图形的选择矢量数据的条件、编辑操作的指令和编辑参量,然后将其发送给服务器端进行编辑操作,减少了数据的交互。

本发明公开一种矢量数据渐进传输的方法,其流程如图13所示,包括:

步骤S121、当需要请求增量数据时,发送增量数据请求,所述请求中包含视图控制参数;

本实施例中的矢量数据渐进传输方法适用于请求发送端,当请求发送端判断出需要请求增量数据时,向请求接收端发送增量数据请求,在请求中包含请求发送端的当前视图控制参数。

所述视图控制参数包括:视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight和视图窗口中矢量数据的放大比例RealRadio。视图窗口的宽度RealViewWidth和视图窗口的高度RealViewHeight确定了显示矢量数据的视图窗口范围(0,0,RealViewWidth,RealViewHeight),如计算机屏幕地图显示窗口的范围,通过这两个参数,可以确定实际视图窗口中用于显示图像的窗口的大小范围。

RealRadio的值通常依据视图窗口的宽度和高度,以及在视图窗口中显示出来的矢量数据的矩形范围来计算,所述在视图窗口中显示出来的矢量数据的矩形范围是指将此范围内的矢量数据显示在视图窗口中,也就是在视图窗口中能显示出来的矢量数据的外包矩形,其具体的范围值根据实际的显示情况而设定,所述矢量数据的矩形范围的宽度为vWidth,高度为vHeight。

RealRadio的计算方法如下:

R1=RealViewWidth÷vWidth;

R2=RealViewHeight÷vHeight;

如果R1小于R2,则将R1赋值给RealRadio,否则将R2赋值给RealRadio。

如果在请求发送端能获取矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight,则可以计算出矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为视图控制参数,所述视图控制参数则包括:矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel。而视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight和视图窗口中矢量数据的放大比例RealRadio就可以不包含在视图控制参数中。

ResolutionLabel的计算方法如下:

dRadioW=(ViewWidth*RealRadio)/RealViewWidth;

dRadioH=(ViewHeight*RealRadio)/RealViewHeight;

如果dRadioW大于dRadioH,则将dRadioW值赋值给ResolutionLabel

,否则将dRadioH值赋值给ResolutionLabel。

如果请求发送端缓存有矢量数据,则视图控制参数还包括:在先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

步骤S122、接收依据所述视图控制参数和矢量数据的分辨率标示量进行分析后获得的增量数据。

接收请求接收端返回的增量数据。

本实施例公开的矢量数据渐进传输方法中,请求发送端在发送增量数据请求时,在请求中携带有当前需要进行显示的视图窗口的视图控制参数,使得请求接收端可以依据视图控制参数和矢量数据所包含的分辨率标示量分析得到适合于当前视图窗口的增量数据,保证了得到的增量数据能够无损显示,同时减小了数据传输量,提高了数据传输效率。

本发明公开的又一矢量数据渐进传输方法流程如图14所示,该方法适用于请求发送端,基于请求发送端缓存有在先缓存的矢量数据的情况,包括:

步骤S131、依据视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

步骤S132、获得在先缓存的矢量数据的当前最高分辨率标示量;

步骤S133、判断所述在先缓存的矢量数据的当前最高分辨率标示量是否小于所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel,若是,则执行步骤S134,若否,则结束;

步骤S134、发送增量数据请求,所述请求中包含视图控制参数,所述视图控制参数中包含在先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量;

步骤S135、接收依据所述视图控制参数和矢量数据的分辨率标示量进行分析后获得的增量数据;

步骤S136、将所述接收的增量数据插入到所述在先缓存的矢量数据中。

如果在先缓存的矢量数据中使用相对控制量来作为在先缓存的矢量数据的当前最高分辨率标示量,则在本实施例中步骤S132改为:获得在先缓存的矢量数据的当前最高分辨率标示量所对应的放大比例,作为在先缓存的最大放大比例;步骤S133改为:判断所述作为在先缓存的最大放大比例是否小于所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel,若是,则执行步骤S134,若否,则结束;

由于此时请求发送端缓存有在先缓存的矢量数据,所以需要将接收的增量数据插入到在先缓存的矢量数据中去,实现数据重建,重建后的数据作为当前视图窗口对应显示的数据。

本发明公开的将所述接收的增量数据插入到所述在先缓存的矢量数据中的过程如图15所示,包括:

步骤S141、获取所述增量数据中的原始坐标点的位置信息和当前最高分辨率标示量;

步骤S142、依据所述位置信息,将所述增量数据中的原始坐标点插入到所述在先缓存的矢量数据的对应位置;

步骤S143、替换所述在先缓存的矢量数据的当前最高分辨率标示量为增量数据中所包含的当前最高分辨率标示量。

如果在先缓存的矢量数据中使用相对控制量来作为在先缓存的矢量数据的当前最高分辨率标示量,则在先缓存需要记录在先缓存的矢量数据的当前最高分辨率标示量所对应的放大比例。

本发明公开的又一矢量数据渐进传输方法的流程如图16所示,包括:

步骤S151、接收请求发送端发送的增量数据请求,所述请求中包含视图控制参数;

本实施例公开的矢量数据渐进传输方法适用于请求接收端。其接收的数据增量请求中的视图控制参数的类型与图13所示实施例中的类型相对应。当请求发送端存储有在先缓存的矢量数据时,所述视图控制参数包括:当前视图窗口的范围,当前视图窗口放大比例,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。如果在请求发送端能获取矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight,则可以计算出矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为视图控制参数,所述视图控制参数则包括:矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

步骤S152、依据所述请求包含的视图控制参数和矢量数据的分辨率标示量对矢量数据进行分析处理,确定矢量数据中符合增量条件的数据为增量数据;

步骤S153、发送所述增量数据到所述请求发送端。

将得到的增量数据发送给请求发送端。

本实施例公开的矢量数据渐进传输方法中,请求接收端依据视图控制参数对原始矢量数据进行化简分析,并将矢量数据中符合增量数据条件的数据作为增量数据。该方法中,对矢量数据的分析过程依据增量数据请求中的视图控制参数和矢量数据的分辨率标示量进行,即以请求发送端的实际显示视图窗口为基础,以保证获得的增量数据发送给请求发送端,请求发送端接收所述增量数据并重建后的矢量数据能够按照预先通过视图控制参数所控制的显示效果进行显示,能够实现无损显示,同时只将增量数据进行传输,大大缩减了数据传输量,提高了数据传输效率。

本发明公开的又一矢量数据渐进传输方法的流程如图17所示,该方法适用于请求接收端,基于请求发送端缓存有在先缓存的矢量数据的情况,包括:

步骤S161、接收请求发送端发送的增量数据请求,所述请求中包含视图控制参数;

步骤S162、依据视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

所述分辨率标示量ResolutionLabel也可以在请求发送端计算,直接作为视图控制参数发送给请求接受端,所述视图控制参数则包括:矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

如果所述分辨率标示量ResolutionLabel没有在请求发送端计算,并且作为视图控制参数发送给请求接受端,则所述视图控制参数包括:当前视图窗口的范围,当前视图窗口放大比例RealRadio,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

当前视图窗口的范围包括:视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight。

ResolutionLabel的计算方法如下:

dRadioW=(ViewWidth*RealRadio)/RealViewWidth;

dRadioH=(ViewHeight*RealRadio)/RealViewHeight;

如果dRadioW大于dRadioH,则将dRadioW值赋值给ResolutionLabel

,否则将dRadioH值赋值给ResolutionLabel。

步骤S163、依据矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel来确定用于化简所述矢量数据的分辨率参照值作为当前分辨率参照值,用当前分辨率参照值对所述矢量数据进行化简,得到当前化简结果;

步骤S164、用在先缓存的矢量数据的当前最高分辨率标示量作为在先分辨率参照值,用在先分辨率参照值对所述矢量数据进行化简,得到在先化简结果;

步骤S165、确定所述当前化简结果中符合增量条件的数据为增量数据;

该步骤的具体过程包括:

确定在所述当前化简结果中,且不在所述在先化简结果中的矢量数据的坐标点及此坐标点在所述矢量数据中的位置信息所为增量数据;

同时将所述当前分辨率参照值作为增量数据的当前最高分辨率标示量。

步骤S166、发送所述增量数据到请求发送端。

本发明公开的又一矢量数据渐进传输方法的流程如图18所示,该方法适用于请求接收端,基于请求发送端缓存有在先缓存的矢量数据的情况,包括:

步骤S171、接收请求发送端发送的增量数据请求,所述请求中包含视图控制参数;

步骤S172、依据视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

所述分辨率标示量ResolutionLabel也可以在请求发送端计算,直接作为视图控制参数发送给请求接受端,所述视图控制参数则包括:矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

如果所述分辨率标示量ResolutionLabel没有在请求发送端计算,并且作为视图控制参数发送给请求接受端,则所述视图控制参数包括:当前视图窗口的范围,当前视图窗口放大比例RealRadio,先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量。

当前视图窗口的范围包括:视图窗口的宽度RealViewWidth、视图窗口的高度RealViewHeight。

ResolutionLabel的计算方法如下:

dRadioW=(ViewWidth*RealRadio)/RealViewWidth;

dRadioH=(ViewHeight*RealRadio)/RealViewHeight;

如果dRadioW大于dRadioH,则将dRadioW值赋值给ResolutionLabel

,否则将dRadioH值赋值给ResolutionLabel。

步骤S173、依据矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel来确定用于化简所述矢量数据的分辨率参照值作为当前分辨率参照值;

步骤S174、用在先缓存的矢量数据的当前最高分辨率标示量作为在先分辨率参照值;

步骤S175、依据所述当前分辨率参照值和先分辨率参照值来分析所述矢量数据,来获取符合增量条件的数据作为增量数据。

该步骤的具体过程如图19所示,包括:

步骤S1751、选取矢量数据的第一个坐标点和此坐标点所对应的分辨率标示量作为当前待处理坐标点和当前待判断分辨率标示量;

步骤S1752、判断所述当前待判断分辨率标示量是否小于或等于当前分辨率参照值并且大于先分辨率参照值,若是,则将当前待处理坐标点添加到坐标点集合,执行步骤S1753,若否,则执行步骤S1753;

步骤S1753、判断所述当前待处理坐标点是否为所述矢量数据的坐标点中的最后一个坐标点,若否,则执行步骤S1754,若是,则执行步骤S1755;

步骤S1754、选取矢量数据中的下一个坐标点作为当前待处理坐标点,并获取所述当前待处理坐标点对应的分辨率标示量作为当前待判断分辨率标示量,返回执行步骤S1752;

步骤S1755、将所述坐标点集合中的坐标点及此坐标点在所述矢量数据中的位置信息作为所述矢量数据的增量数据,并结束。

同时将所述当前分辨率参照值作为增量数据的当前最高分辨率标示量。

步骤S176、发送所述增量数据到请求发送端。

如果所述矢量数据的分辨率标示量使用的是相对控制量作为矢量数据分辨率标示量,则需要对所述当前分辨率参照值进行变换后在使用,变换的方法如下:

假设所述当前分辨率参照值ResolutionLabel,用ResolutionLabel减去所述矢量数据的的分辨率标示量的起始值Rmin所得的值为kkk,如果kkk小于或是等于0,则当前分辨率参照值为1;如果kkk大于0,则将kkk除以所述矢量数据分辨率标示量的增量△R,所得的值假定为HHH,如果HHH是整数,则将HHH作为当前分辨率参照值;如果HHH还有小数,如果要求确保化简后的矢量数据在所述预先设定的视图控制参数所确定的视图窗口中显示不失真,则将HHH的整数值加1作为当前分辨率参照值,否则,可以直接将HHH的整数值作为当前分辨率参照值。如果在先缓存的矢量数据中也使用相对控制量来作为在先缓存的矢量数据的当前最高分辨率标示量,则需要将所述变换后的当前分辨率参照值作为增量数据的当前最高分辨率标示量。

当请求发送端没有缓存矢量数据时,则不存先缓存的矢量数据的标识号和在先缓存的矢量数据的当前最高分辨率标示量,因此在视图控制参数中也不包含。请求接收端在接收到增量数据请求后,依据视图控制参数将请求的原始矢量数据按照当前显示的视图窗口的视图控制参数进行化简,得到的数据即为增量数据。请求发送端接收到增量数据后,将增量数据作为当前视图窗口需要显示的数据,进行显示,并且将其缓存,以便于以此作为在先缓存矢量数据,进行后续的渐进传输处理。

本发明同时公开了一种矢量数据的处理装置,其结构如图20所示,包括:

坐标点获取单元201,用于获取矢量数据的坐标点;

生成单元202,用于依据所述矢量数据的坐标点生成矢量数据最小数据组织单位的分辨率标示量。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图1-5中任意一幅所示流程,在此不在赘述。

本发明还公开了一种矢量数据化简装置,其结构如图21所示,包括:

第一确定单元211,用于确定用于化简所述矢量数据的分辨率参照值;

第一选取单元212,用于选取矢量数据的第一个坐标点和此坐标点所对应的分辨率标示量作为当前待处理坐标点和当前待判断分辨率标示量:

第一判断单元213,用于判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值,若是,则将当前待处理坐标点添加到坐标点集合;

第二判断单元214,用于判断所述当前待处理坐标点是否为所述矢量数据的坐标点中的最后一个坐标点,若否,则执行下一步骤,若是,则执行将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束步骤;

第二选取单元215,用于选取矢量数据中的下一个坐标点作为当前待处理坐标点,并获取所述当前待处理坐标点对应的分辨率标示量作为当前待判断分辨率标示量,返回执行判断所述当前待判断分辨率标示量是否小于或等于所述用于化简所述矢量数据的分辨率参照值步骤;

第二确定单元216,用于将所述坐标点集合中的坐标点作为所述矢量数据化简后的数据,并结束。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图6-8中任意一幅所示流程,在此不在赘述。

本发明还公开了一种矢量数据绘制装置,其结构如图22所示,包括:

参数获取单元221,用于获得显示矢量数据的视图窗口的视图控制参数;

计算单元222,用于依据所述视图控制参数和矢量数据作为参照的视图窗口宽度ViewWidth和高度ViewHeight计算矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel;

化简单元223,用于将所述矢量数据在所述视图控制参数所确定的视图窗口中显示的分辨率标示量ResolutionLabel作为化简所述矢量数据的分辨率参照值对所述矢量数据进行化简;

绘制单元224,用于将化简后的矢量数据使用绘图算法在所述视图窗口中进行绘制。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图9所示流程,在此不在赘述。

本发明还公开了一种矢量数据的选择装置,其结构如图23所示,包括:

选择范围和条件获取单元231,用于获取并记录下选择范围和选择条件;

选择处理单元232,用于依据所述选择范围和选择条件对在视图窗口中显示出来的矢量数据进行选择处理;

选中单元233,用于在确定了对所述选中的矢量数据所进行的处理后,再依据所述选择范围和选择条件来选中所有符合选中条件的矢量数据。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图9所示流程,在此不在赘述。

本发明还公开了一种矢量数据空间关系计算装置,其结构如图24所示,包括:

空间关系确定单元241,用于对所要计算空间关系的原始矢量数据所对应的低分辨率矢量数据进行空间关系计算,确定原始矢量数据之间肯定具有某种空间关系、肯定不具有某种空间关系、可能具有某种空间关系;

分析单元242,用于对可能具有某种空间关系的矢量数据,使用原始矢量数据进行分析是否具有某种空间关系。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图10所示流程,在此不在赘述。

本发明还公开了一种矢量数据编辑装置,其结构如图25所示,包括:

获取记录单元251,用于获取并记录下选择矢量数据进行编辑的选择条件;

选择单元252,用于依据所述选择条件对在视图窗口中显示出来的矢量数据中符合选择条件的矢量数据作为编辑处理操作的被操作对象;

编辑指令和编辑参量获取单元253,用于在确定了对所述选中的矢量数据所进行的编辑处理后,获取对矢量数据的编辑指令和编辑参量;

编辑单元254,用于依据所述选择条件来选取所有符合选中条件的矢量数据,对所述所有符合选中条件的矢量数据依据所述的编辑指令为和编辑参量对矢量数据进行编辑。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图12所示流程,在此不在赘述。

本发明还公开了一种矢量数据渐进传输装置,适用于客户端,其结构如图26所示,包括:

增量数据请求发送单元261,用于当需要请求增量数据时,发送增量数据请求,所述请求中包含控制参数;

增量数据接收单元262,用于接收依据所述视图控制参数和矢量数据的分辨率标示量进行分析后获得的增量数据。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图13-15中任意一幅所示流程,在此不在赘述。

本发明同时公开了另一种矢量数据渐进传输装置,适用于服务器端,其结构如图27所示,包括:

增量数据请求接收单元271,用于接收请求发送端发送的增量数据请求,所述增量数据请求中包含控制参数;

分析处理单元272,用于依据所述请求包含的视图控制参数和矢量数据的分辨率标示量对矢量数据进行分析处理,确定矢量数据中符合增量条件的数据为增量数据;

发送单元273,用于发送所述增量数据到所述请求发送端。

本实施例只是公开了其较优的实现方式,其具体工作过程请参考图16-17中任意一幅所示流程,在此不在赘述。

本发明公开的一种矢量数据处理方法及装置可以设置在计算机内,也可以设置在手机或其他设备内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1