一种GIS数据渲染方法技术

技术编号:22847707 阅读:30 留言:0更新日期:2019-12-17 23:01
本申请公开了一种数据渲染方法,属于地理信息系统技术领域;一种数据渲染方法,根据当前屏幕范围从数据库中获取数据,对获取到的数据进行任务划分后,判断其是否为矢量数据,若为矢量数据,则压缩后执行绘制任务;否则直接执行绘制任务;或者出现临时图元任务时,执行绘制任务;执行绘制任务中存在间隙时,若用户触屏或缩放屏幕,则终止绘制任务,反之则继续执行下一绘制任务;若用户触摸屏后松开,则重新开始;各绘制任务执行完毕时,绘制完成;本发明专利技术具备快速高效的显示性能,特别是针对大数据量的GIS数据的显示,能够快速加载显示,不会出现卡顿或死机现象。

【技术实现步骤摘要】
一种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)绘制任务间隙判断当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;本文档来自技高网...

【技术保护点】
1.一种GIS数据渲染方法,其特征在于:包括以下操作:/nS10)获取在移动终端用于显示的数据源/n在进行GIS数据加载显示时,移动终端首先获取当前屏幕范围对应的数据并显示,根据当前屏幕范围条件在文件数据库中通过空间查询,筛选出绘制所需数据;/nS20)对需要渲染的数据,进行任务划分/n将获取的数据源进行任务划分;/n若获取的数据源为矢量数据,则用多个任务数组的形式进行记录,各任务数组记录至少一条数据,直到将获取到的矢量数据划分完毕;/n若获取的数据源为是栅格切片,则用多个任务数组的形式进行记录,各任务数组记录多条数据,直到将获取的栅格切片数据划分完毕;/nS30)对矢量数据进行数据压缩/n根据移动终端屏幕像元大小对矢量数据进行数据压缩处理;/n所述数据压缩处理为:计算相邻节点之间距离,若两个相邻节点的距离小于当前屏幕像元分辨率,则只保留一个节点,依次进行所有相邻节点判断,最终确定一个像元内仅有一个节点;/nS40)临时图元任务/n移动终端始终检测临时图元在屏幕上的坐标变化,若坐标有变化时,会产生临时图元绘制任务,并将其添加到当前的绘制任务S50)中;/nS50)执行绘制任务/n根据已有的绘制任务进行绘制,每次执行一个绘制任务,绘制完成后显示在屏幕上;/n每两次绘制任务执行中间,都会有一个绘制间隙判断S60);/nS60)绘制任务间隙判断/n当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;若用户触摸或缩放屏幕时,终止后续的绘制任务;/n若用户没有触摸或缩放屏幕时,会进行所有绘制任务是否执行完成的判断,若还有绘制任务,则跳转到S50)进行执行绘制任务进行循环;若全部绘制任务执行完成,则绘制完成,进入S70);/nS70)屏幕显示绘制完成后图片/n移动终端完成全部渲染流程,屏幕上会显示绘制完成后的图片。/n...

【技术特征摘要】
1.一种GIS数据渲染方法,其特征在于:包括以下操作:
S10)获取在移动终端用于显示的数据源
在进行GIS数据加载显示时,移动终端首先获取当前屏幕范围对应的数据并显示,根据当前屏幕范围条件在文件数据库中通过空间查询,筛选出绘制所需数据;
S20)对需要渲染的数据,进行任务划分
将获取的数据源进行任务划分;
若获取的数据源为矢量数据,则用多个任务数组的形式进行记录,各任务数组记录至少一条数据,直到将获取到的矢量数据划分完毕;
若获取的数据源为是栅格切片,则用多个任务数组的形式进行记录,各任务数组记录多条数据,直到将获取的栅格切片数据划分完毕;
S30)对矢量数据进行数据压缩
根据移动终端屏幕像元大小对矢量数据进行数据压缩处理;
所述数据压缩处理为:计算相邻节点之间距离,若两个相邻节点的距离小于当前屏幕像元分辨率,则只保留一个节点,依次进行所有相邻节点判断,最终确定一个像元内仅有一个节点;
S40)临时图元任务
移动终端始终检测临时图元在屏幕上的坐标变化,若坐标有变化时,会产生临时图元绘制任务,并将其添加到当前的绘制任务S50)中;
S50)执行绘制任务
根据已有的绘制任务进行绘制,每次执行一个绘制任务,绘制完成后显示在屏幕上;
每两次绘制任务执行中间,都会有一个绘制间隙判断S60);
S60)绘制任务间隙判断
当前绘制任务执行完成后,移动终端进行用户是否触摸或缩放屏幕的判断;若用户触摸或缩放屏幕时,终止后续的绘制任务;
若用户没有触摸或缩放屏幕时,会进行所有绘制任务是否执行完成的判断,若还有绘制任务,则跳转到S50)进行执行绘制任务进行循环;若全部绘制任务执行完成,则绘制完成,进入S70);
S70)屏幕显示绘制完成后图片
移动终端完成全部渲染流程,屏幕上会显示绘制完成后的图片。


2.根据权利要求1所述的一种数据渲染方法,其特征在于:
所述S10)中筛选出后续绘制...

【专利技术属性】
技术研发人员:李崇贵
申请(专利权)人:西安瑞特森信息科技有限公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1