一种GIS数据渲染方法与流程

文档序号:19424469发布日期:2019-12-17 15:01阅读:670来源:国知局
一种GIS数据渲染方法与流程

本发明一般涉及地理信息系统技术领域,具体涉及一种gis数据渲染方法。



背景技术:

随着移动gis即地理信息系统的不断发展,基于移动终端大数据量的gis数据渲染、采集和编辑平台常应用于野外数据调查采集工作中。野外数据调查采集工作,工作人员常常需要携带遥感影像和相应的内业数据到外业进行数据显示、采集、编辑工作;其中,在数据显示方面,针对大数据量的地理信息数据,现有移动gis平台很难进行快速的加载显示,甚至有时会出现卡顿、死机等状况。而这往往会给外业调查人员带来诸多不便,影响数据浏览体验,降低工作效率。



技术实现要素:

鉴于现有技术中的gis平台显示慢、易卡顿、死机等问题,期望提供一种gis数据渲染方法。

本发明通过以下技术方案实现:

一种gis数据渲染方法,包括以下操作:

s10)获取在移动终端用于显示的数据源

在进行gis数据加载显示时,移动终端首先获取当前屏幕范围对应的数据并显示,根据当前屏幕范围条件在文件数据库中通过空间查询,筛选出绘制所需数据;

s20)对需要渲染的数据,进行任务划分

将获取的数据源进行任务划分;

若获取的数据源为矢量数据,则用多个任务数组的形式进行记录,各任务数组记录至少一条数据,直到将获取到的矢量数据划分完毕;

若获取的数据源为是栅格切片,则用多个任务数组的形式进行记录,各任务数组记录多条数据,直到将获取的栅格切片数据划分完毕;

s30)对矢量数据进行数据压缩

根据移动终端屏幕像元大小对矢量数据进行数据压缩处理;

所述数据压缩处理为:计算相邻节点之间距离,若两个相邻节点的距离小于当前屏幕像元分辨率,则只保留一个节点,依次进行所有相邻节点判断,最终确定一个像元内仅有一个节点;

s40)临时图元任务

移动终端始终检测临时图元在屏幕上的坐标变化,若坐标有变化时,会产生临时图元绘制任务,并将其添加到当前的绘制任务s50)中;

s50)执行绘制任务

根据已有的绘制任务进行绘制,每次执行一个绘制任务,绘制完成后显示在屏幕上;

每两次绘制任务执行中间,都会有一个绘制间隙判断s60);

s60)绘制任务间隙判断

当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;若用户触摸或缩放屏幕时,终止后续的绘制任务;

若用户没有触摸或缩放屏幕时,会进行所有绘制任务是否执行完成的判断,若还有绘制任务,则跳转到s50)进行执行绘制任务进行循环;若全部绘制任务执行完成,则绘制完成,进入s70);

s70)屏幕显示绘制完成后图片

移动终端完成全部渲染流程,屏幕上会显示绘制完成后的图片。

所述s10)中筛选出后续绘制所需数据为:通过经纬度范围地理范围,在数据库中进行空间查询,得到所述经纬度范围内的gis数据。

所述s20)中矢量数据由点、线、面矢量数据组成。

所述s20)对需要渲染的数据,进行任务划分步骤为:

若是矢量数据,用多个任务数组的形式进行记录,各任务数组记录128条数据,直到将获取到的矢量数据划分完毕;

若是栅格切片,用多个任务数组的形式进行记录,各任务数组记录2条数据,直到将获取的栅格切片数据划分完毕。

所述s20)中对数据划分完成后,对已划分的数据逐任务渲染。

所述s30)中保留一个节点是保留距屏幕像元中心最近的节点,其判断方法为:移动终端会计算相邻两接节点距离与当前屏幕像元大小进行比较,如果两节点距离小于当前屏幕像元大小,则剔除一个节点,否则都进行显示。

所述s40)中临时图元的产生为:

移动终端在渲染数据的时,gps定位点数据实时显示在屏幕上,形成临时图元的数据。

所述s60)中的执任务间隙为:上一个绘制任务执行完成后、下一个绘制任务执行前的中间间隙。

所述s60)中判断用户是否触摸或缩放屏幕的步骤为:

当用户触摸屏幕时,终止后续绘制任务的执行;

当用户手指缩放屏幕时,根据用户操作缩放当前已绘制的图形;

当用户手指离开屏幕时,清除当前屏幕绘制的图形,跳转到步骤s10重新进入渲染过程。

与现有技术相比,本发明的有益效果是:

本发明具备快速高效的显示性能,特别是针对大数据量的gis数据的显示,能够快速加载显示,不会出现卡顿或死机现象;由于采用空间查询的方式每次只读取当前移动终端屏幕显示范围内的数据,从数据源上大大减少了数据量,提高了数据渲染效率,克服了针对大数据量gis数据渲染速度缓慢、渲染过程出现卡顿死机等问题;由于采用划分数据的方式,执行绘制时每次只读取一个绘制任务内的数据,大大减小了内存压力,使得图形绘制过程更加流畅,也克服了绘制过程中内存溢出、出现卡顿死机等问题;由于采用绘制任务间隙判断模式,当用户触摸、缩放屏幕时,可以及时终止后续的绘制任务,使得的渲染过程更加流畅、用户体验效果更佳。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为本发明的流程示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

参照图1,一种gis数据渲染方法,包括以下操作:

s10)获取在移动终端用于显示的数据源

在进行gis数据加载显示时,移动终端首先获取当前屏幕范围对应的数据并显示,根据当前屏幕范围条件在文件数据库中通过空间查询,筛选出绘制所需数据;

s20)对需要渲染的数据,进行任务划分

将获取的数据源进行任务划分;

若获取的数据源为矢量数据,则用多个任务数组的形式进行记录,各任务数组记录至少一条数据,直到将获取到的矢量数据划分完毕;

若获取的数据源为是栅格切片,则用多个任务数组的形式进行记录,各任务数组记录多条数据,直到将获取的栅格切片数据划分完毕;

s30)对矢量数据进行数据压缩

根据移动终端屏幕像元大小对矢量数据进行数据压缩处理;

所述数据压缩处理为:计算相邻节点之间距离,若两个相邻节点的距离小于当前屏幕像元分辨率,则只保留一个节点,依次进行所有相邻节点判断,最终确定一个像元内仅有一个节点;

s40)临时图元任务

移动终端始终检测临时图元在屏幕上的坐标变化,若坐标有变化时,会产生临时图元绘制任务,并将其添加到当前的绘制任务s50)中;

s50)执行绘制任务

根据已有的绘制任务进行绘制,每次执行一个绘制任务,绘制完成后显示在屏幕上;

每两次绘制任务执行中间,都会有一个绘制间隙判断s60);

s60)绘制任务间隙判断

当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;若用户触摸或缩放屏幕时,终止后续的绘制任务;

若用户没有触摸或缩放屏幕时,会进行所有绘制任务是否执行完成的判断,若还有绘制任务,则跳转到s50)进行执行绘制任务进行循环;若全部绘制任务执行完成,则绘制完成,进入s70);

s70)屏幕显示绘制完成后图片

移动终端完成全部渲染流程,屏幕上会显示绘制完成后的图片。

下面给出具体的实施例。

gis数据渲染方法,包括以下操作:

s10)获取在移动终端用于显示的数据源

在进行gis数据加载显示时,移动终端首先获取当前屏幕范围对应的数据并显示,根据当前屏幕范围条件在文件数据库中通过空间查询,仅筛选出绘制所需数据;当面对大数据量gis数据进行显示时,若每次都将文件数据库中的所有数据进行渲染,必然会对移动终端性能和渲染速度有很大要求;而步骤s10仅获取当前屏幕范围内所需绘制的数据,从数据源上最大程度的减少了渲染的工作量,提高渲染速度,减小了对移动终端的压力。

s20)对需要渲染的数据,进行任务划分

将获取的数据源进行任务划分;

若获取的数据源为矢量数据,则用多个任务数组的形式进行记录,各任务数组记录至少一条数据,直到将获取到的矢量数据划分完毕;

若获取的数据源为是栅格切片,则用多个任务数组的形式进行记录,各任务数组记录多条数据,直到将获取的栅格切片数据划分完毕;如果步骤s10得到的数据仍是大数据量的gis数据,并不能减少渲染工作量、减少对移动终端的压力时,采用任务划分的方式,可以逐任务进行渲染,使得渲染过程更佳流畅,移动终端不会出现卡顿、死机等状况。

s30)对矢量数据进行数据压缩

根据移动终端屏幕像元大小对矢量数据进行数据压缩处理;

所述数据压缩处理为:计算相邻节点之间距离,若两个相邻节点的距离小于当前屏幕像元分辨率,则只保留一个节点,依次进行所有相邻节点判断,最终确定一个像元内仅有一个节点;采用矢量数据压缩方式可以减少数据沉余,减少绘制工作量,提高渲染效率。

s40)临时图元任务

若有临时图元时,移动终端始终检测临时图元在屏幕上的坐标变化,若坐标有变化时,会产生临时图元绘制任务,并将其添加到当前的绘制任务s50中;

s50)执行绘制任务

根据已有的绘制任务进行绘制,每次执行一个绘制任务,绘制完成后显示在屏幕上;

每两次绘制任务执行中间,都会有一个绘制间隙判断s60;

s60)绘制任务间隙判断

当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;若用户触摸或缩放屏幕时,终止后续的绘制任务;

若用户没有触摸或缩放屏幕时,会进行所有绘制任务是否执行完成的判断,若还有绘制任务,则跳转到s50进行执行绘制任务进行循环;若全部绘制任务执行完成,则绘制完成,进入s70;在数据渲染过程中,用户可能会不断对屏幕进行触摸或缩放操作,若果采用传统的渲染方式,等待一次渲染结束再进行下一次渲染过程会显的十分缓慢,特别是当渲染大数量的gis数据时,用户的体验效果不佳,渲染效率低下。而采用绘制任务间隙判断的方式当用户对触摸或缩放屏幕时,可以及时终止本次渲染流程,快速进入下次渲染。使得渲染过程更加灵活,渲染效率更高,用户体验更佳。

s70)屏幕显示绘制完成后图片

移动终端完成全部渲染流程,屏幕上会显示绘制完成后的照片。

本发明具备快速高效的显示性能,特别是针对大数据量的gis数据的显示,能够快速加载显示,不会出现卡顿或死机现象;由于采用空间查询的方式每次只读取当前移动终端屏幕显示范围内的数据,从数据源上大大减少了数据量,提高了数据渲染效率,克服了针对大数据量gis数据渲染速度缓慢、渲染过程出现卡顿死机等问题;由于采用划分数据的方式,执行绘制时每次只读取一个绘制任务内的数据,大大减小了内存压力,使得图形绘制过程更加流畅,也克服了绘制过程中内存溢出、出现卡顿死机等问题;由于采用绘制任务间隙判断模式,当用户触摸、缩放屏幕时,可以及时终止后续的绘制任务,使得的渲染过程更加流畅、用户体验效果更佳。

s10)中仅筛选出后续绘制所需数据为:通过经纬度范围地理范围,在数据库中进行空间查询,得到所述经纬度范围内的gis数据。

s20)中矢量数据由点、线、面矢量数据组成。

s20)对需要渲染的数据,进行任务划分步骤为:

若获取的数据源是矢量数据,用多个任务数组的形式进行记录,各任务数组记录128条数据,直到将获取到的矢量数据划分完毕;

若获取的数据源是栅格切片,用多个任务数组的形式进行记录,各任务数组记录2条数据,直到将获取的栅格切片数据划分完毕。

s20)中对数据划分完成后,对已划分的数据逐任务渲染。

s30)中保留一个节点是保留距屏幕像元中心最近的节点,其判断方法为:移动终端会计算相邻两接节点距离与当前屏幕像元大小进行比较,如果两节点距离小于当前屏幕像元大小,则剔除一个节点,否则都进行显示。

s40)中临时图元单元产生步骤为:

移动终端在渲染数据的时,gps定位点数据实时显示在屏幕上,形成临时的图元数据。

s60)中的执任务间隙为:上一个绘制任务执行完成后、下一个绘制任务执行前的中间间隙;而采用绘制任务间隙判断的方式当用户对触摸或缩放屏幕时,可以及时终止本次渲染流程,快速进入下次渲染。使得渲染过程更加灵活,渲染效率更高,用户体验更佳。

s60)中判断用户是否触摸或缩放屏幕的步骤为:

当用户触摸屏幕时,终止后续绘制任务的执行;

当用户手指缩放屏幕时,根据用户操作缩放当前已绘制的图形。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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