林地小班数据三维快速渲染技术研究

2017-12-19 00:58龙植豪刘恩林
中南林业调查规划 2017年1期
关键词:列表级别矢量

龙植豪,刘恩林,刘 斌

(1.广西壮族自治区森林资源与生态环境监测中心,南宁 530022;2.国家林业局中南林业调查规划设计院,长沙 410014;3.北京易伟航科技有限公司,北京 100085)

林地小班数据三维快速渲染技术研究

龙植豪1,刘恩林2,刘 斌3

(1.广西壮族自治区森林资源与生态环境监测中心,南宁 530022;2.国家林业局中南林业调查规划设计院,长沙 410014;3.北京易伟航科技有限公司,北京 100085)

基于当前普适的计算机硬件水平,难以实现大范围、大比例尺的林地成果小班数据,在三维GIS系统中的地理空间分布快速渲染和信息检索查询。通过研究网格化划分和空间索引建立的关键技术,阐述了数据组织方式和快速检索方法,以省级林地小班数据为实验对象,实现了林地小班数据三维快速渲染和检索,效果表明该技术可以提高大比例尺、大数据量的矢量数据在三维系统中的渲染效率,为林业三维可视化海量数据渲染提供一个有效的技术支撑。

林地小班; 三维GIS;快速渲染

引言

林地是国家重要的自然资源和战略资源,是森林赖以生存与发展的根基,在保障木材及林产品供给、维护国土生态安全中具有核心地位,在应对全球气候变化中具有特殊地位。国务院明确要求“要把林地与耕地放在同等重要的位置,高度重视林地保护”。为贯彻落实科学发展观,统筹好林地资源的保护利用,不断增加森林资源,国家制定《全国林地保护利用规划纲要(2010—2020年)》[1-2],并于2011年启动全国县级林地保护利用规划落界,以林地小班区划为单位,在县级林地“一张图”的基础上,形成省级林地“一张图”和全国林地“一张图”数据库,省级林地小班平均约300万条,全国林地小班数据约6800万条。为提高林地监管能力,加强林地保护利用管理,在全国开展了林地年度变更调查,更新全国林地“一张图”数据库。广西是典型的南方集体林区,城市化进程的加快和森林经营活动的频繁,使得每年的林地小班变化量达到全部小班的30%~40%。尽管传统的二维GIS通过切片服务和建立数据库索引,能实现大数据量的地图渲染和信息检索[3],但地图切片耗时长,广西全区的林地小班做一次二维地图切片要一个星期,那么全国林地小班将耗时更多。三维GIS比二维GIS有更直观的表达效果、更高效的渲染速度、更高的技术和计算机硬件要求。当前普适的计算机硬件水平在三维GIS系统中,难以快速渲染大范围、大比例尺林地小班的地理空间分布和信息快速检索查询。本文通过将林地小班数据进行网格化划分,建立空间索引,实现三维系统中大数据量的林地小班快速渲染,并能实现快速检索需要展示的林地小班,同时可对渲染数据进行分析。

1 快速渲染理论基础

三维场景中数据的快速渲染是决定三维系统效率的关键,四叉树索引理论是三维矢量数据在三维场景中快速渲染的重要技术理论基础。

1.1 四叉树索引理论

四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构,它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或满足某种要求后停止分割,当空间数据对象分布比较均匀时,具有较高的空间数据插入和查询效率。作为一种有效的实现三维数据快速检索和浏览的手段,需要将原始数据转换为金字塔结构的数据存储,金字塔结构采用基于四叉树的瓦片数据层叠加技术存储和组织,瓦片划分方式如图1。

图1 瓦片划分示意图

第0级将全球划分为4×2块,全球坐标范围为经度[-180°,180°],纬度[-90°,90°],中心位于0°经线和0°纬线的交汇处,每个瓦片作为一个四叉树的父节点,依次按照2×2的规则细分地球表面。

1.2 三维区域检索

在数据可视化范围内,显示的数据量是有限的,在这有限的数据请求中,金字塔结构可以快速实现可视化范围内的数据检索[4],金字塔结构组织的数据可视区域如图2。

摄像机可视区域模拟人眼看到的事物,远近不同会导致看到的事物精细程度也不同,根据这一原理,在三维场景中离摄像机远的区域,可以采用减少三角面甚至采用几个三角面就能表达三维物体,这种表达方式可以实现数据快速检索;不同区域可以快速融合,无缝浏览;数据级别方便控制;可控制数据保密级别和范围,方便不同比例尺数据直接融合。

图2 金字塔结构组织的数据可视区域

2 林地小班三维快速渲染关键技术实现

林地小班是在1∶1万的比例尺下区划生成的数据,省级林地小班平均在百万个以上,对这大比例尺大数据量的林地小班在三维系统要快速渲染展示,需要对其预处理,基于四叉树理论,对林地小班采用四叉树空间索引和划分空间网格。与前面四叉树理论不同的是林地小班不建立金字塔结构,只对某一级别划分空间网格。

2.1 数据组织方式

2.1.1 按网格范围对矢量数据切割

按照网格区域块划分矢量数据不仅可以快速检索到数据,并尽量不渲染不在视域中的数据,从而提高三维矢量数据的渲染效率。矢量数据按网格范围切割如图3。

图3 矢量数据切割

2.1.2 按比例尺划分定义数据级别

比例尺是描述图上距离与实际距离比例关系,多用于二维地图。在三维系统中,则用层块级别来描述当前摄像机高度与地面之间的距离关系。层块分级是每个级别数据地理范围大小和对应的地理大致比例尺,两者对应关系如表1,这种定义用于三维数据可视化的数据块索引。

2.2 林地小班数据块快速检索方法

根据林地小班矢量数据组织方式,按照级别对其采用网格形式剪裁,每个数据块中包含了部分空间矢量坐标,快速检索到这些数据块是林地小班三维渲染的一个重要环节。

1)区域块检索。区域块检索过程跟摄像机有关,检索在摄像机可视区域内满足条件的区域块ID列表。如图4所示,对每个网格进行空间索引编号,如A1,A2…,通过规定的空间索引公式计算某个(X,Y)坐标对应的矢量数据块。

具体公式为:第level级别对应的数据精度为resolution=90.0/2level,其中level表示数据级别,范围是[-128,128]。网格行列号计算公式:

Col=x/resolution;Row=y/resolution;

表1 层块级别对应地理范围和比例尺对照关系表层块级别比例尺参考范围01∶147914675全球11∶73957338全球21∶36978669全球31∶18489334全球41∶9244667全球51∶4622334国家61∶2311167国家71∶1155583国家81∶577792国家91∶288896城市101∶144448城市111∶72224城市121∶36112区县131∶18056区县141∶9028区县151∶4514乡镇161∶2257乡镇171∶1128乡镇181∶564街道、村

图4 网格管理与检索原理示意图

其中x表示经度,范围为[-180,180];y表示纬度,范围为[-90,90];Col和Row结果值取整。

例如计算120°E,37°N,级别为10级对应的网格地址编码为:

resolution= 90.0/210=0.087 890 62,col= 120/0.087 890 62=1365,Row=37/0.087 890 62=420,那么该网格行号为1365,列号为420。

2)区域块选择。矢量数据数据块是以金字塔结构组织,且金字塔结构中的每一层都划分了区域块,因此对于需要显示的区域块,采用四叉树递归检索方法,从金字塔自顶向下检索。

区域块选择的原则是:每次在可视范围内检索出尽可能少的区域块,检索结果中距离摄像机近的区域块尽可能的清晰。

区域块选择方法:四叉树递归检索过程中,对于每个区域块,首先判断该区域块跟摄像机的关系,如果在可视区域外,则直接返回。如果与可视区域相交,则判断该区域块到摄像机的距离与区域块宽度的比值是否大于一个常数,如果大于则添加到检索列表并返回,小于则继续判断该区域块是否到最低级别,如果是最低级别则添加到检索列表并返回,否则判断该区域是否完全在可视区域内,是则添加到检索列表并返回,不是则递归遍历该区域内的四个子区域。

3)可视区域剪裁。可视区域剪裁是为了判断一个区域块跟摄像机的平截头体的相交关系。利用区域块的地理坐标范围和地形的高度范围构造一个八个顶点的立方体,判断该立方体的八个顶点是否在可视区域内,部分点在可视区域内即为区域块与可视区域相交。判断一个点是否在可视区域内的参数包括:MG:地理坐标到世界坐标转换矩阵;MW:世界坐标转换矩阵;MV:视口坐标转换矩阵;MP:透视坐标转换矩阵;MT=MG×MW×MV×MP,任何一个顶点乘以上面的MT矩阵,转为齐次坐标后,分别判断该齐次坐标点的X,Y,Z的范围是否分别在[-1,1],[-1,1],[0,1]内,如果在则该点在可视区域内。

4)区域块最低级别选择。区域块最低级别选择是针对区域块与可视区域相交部分检索的区域块过细这一问题的改进方法。当摄像机垂直向下时,采用上述区域块选择法会出现摄像机四周的区域块比摄像机中央的区域块更精细的问题,原因是摄像机四周的区域块与可视区域相交,通过递归判断下去直到最精细级别为止,视觉垂直向下时,用4到9个大小差不多的区域块基本可以填满屏幕。因此需要控制区域块的最低级别选择。

如图5所示,高度(h)为摄像机地理位置高度与地形高度之差,宽度(w)为根据h和摄像机视角计算出的宽度。在判断最低级别时,先判断当前区域块的宽度是否小于w/2,如果小于则添加到检索列表并返回,从而减少检索区域块个数。

图5 摄像机高度与宽度关系图

2.3 林地小班三维快速渲染

在三维系统中,以面状数据来渲染影响效率,多采用点状或线状来渲染[5]。在渲染过程中,首先完成当前摄像机视域范围内包含的数据块ID,建立可显示的ID块列表,对各个矢量数据来说,独立完成各自渲染,只是在判断需要渲染的数据前,从ID列表中获取需要显示的数据块,渲染流程如图6。

对于大范围大比例尺的林地小班数据,即使采用金字塔结构存储和快速检索机制,在后台的数据读取和二进制解译也是一个耗时的计算过程,需要采用后台下载、读取和解译,即多线程的异步处理(图7)。

图6 矢量数据渲染管理

图7 多线程异步处理

该处理过程包括前台渲染和后台数据准备线程,以及两个线程通信和同步所需的数据区。

前台渲染线程:每次更新前先向后台线程发送一个开始工作的消息,根据当前摄像机位置检索出一个区域块显示列表,并锁定数据区的下载列表,将显示列表复制到下载列表后,对下载列表进行解锁。根据该显示列表检索渲染数据缓存中是否存在相应区域块的渲染数据,并生成一个渲染列表。区域块渲染过程就是根据渲染列表设置相应渲染状态并将渲染数据提交给计算机显卡。

后台数据准备线程:程序收到工作的消息指令后,锁定数据区的下载列表,根据下载列表判断每个区域块是否存在于当前缓存中,不存在则下载该区域块数据,并放到缓存中。根据区域块下载列表利用Roma算法构造地形网格的三角形数据,提交到渲染区域块缓存中。

双渲染区域块缓存:图7中的CachePath F和CachePath B两个渲染区域块缓存,都可用来存放网格三角化的渲染数据。前后台线程的工作频率不一致,当它们同时访问同一个缓存数据时,导致其中一个线程被锁定。为了保证前后渲染线程的快速渲染和不被锁定,利用前后渲染冲来解决这个问题。前后渲染线程先尝试锁定CachePath F,如果成功则直接渲染,否则尝试锁定CachePath B,如果成功则直接进行渲染,否则跳过继续执行。后台线程工作时,首先尝试锁定CachePath F,成功则构造网格三角形数据,并提交到缓存中,失败则程序挂起,直到锁定缓存成功为止。渲染区域块缓存构建完成后,交换前后缓冲标志,再次运行时尝试重复上述工作过程。

3 林地小班快速渲染效果分析

以广西全区2013年度林地变更成果小班数据测试范本,以基于上述理论和渲染方法的易景三维地球平台为工具,对林地小班三维快速渲染进行测试和分析。测试结果如表2。

广西全区2013年度林地变更成果小班总数约500万个,每个小班面平均约由5000个节点组成,假设使用固定像素进行渲染显示,那么这些数据一次性全部渲染,一条线段需要2个三角面,一条矢量线约10000个三角面,全广西约5000亿个三角形,当前主流计算机的显卡核心频率基本在500 MHz(一个周期处理一个三角形,约有5亿三角形每秒),这5000亿个三角形根本无法在一个周期内完成渲染。

表2 矢量数据三维预处理结果区域数据内容数据类型对象个数原始文件数据量/G预处理时间/s广西全区林地变更成果小班面500万10100广西全区林地变更成果小班注记点500万120

通过空间网格划分,建立空间索引的数据预处理机制,基于摄像机视野范围有限的原则,利用空间索引机制快速检索到林地小班数据块。通过实验,在区域范围内的林地小班数据块最多在100个左右,每个数据块大概有10个裁剪对象,坐标格式控制在0.5万个左右,在可视区域内渲染矢量数据三角面最多为1000万个,这对于一个周期内可以处理5亿个三角面的显卡完全可以承受。渲染效果如图8所示。

图8 林地小班快速渲染效果(白线为林地小班界限)

4 结束语

本文阐述了大范围大比例尺的林地小班矢量数据在三维系统中数据组织方式和快速渲染检索的方法,并在基于该方法实现的三维地球平台下结合省级林地小班数据做了快速渲染实验,实现效果表明本文阐述的方法可以明显提高大比例尺大数据量的矢量数据在三维系统中的渲染效率,为林业三维可视化海量数据渲染提供一个有效的技术支撑。但数据的组织和渲染适合于桌面系统,因数据组织比较复杂,对于移动端的二进制解译过程过于复杂而导致移动端效率低下,在后续的研究中值得加以改善。

[1] 国家林业局.全国林地保护利用规划纲要(2010—2010年)[R],2010.

[2] 郑红,罗为检.计算机工具软件在林地落界中的应用[J]. 中南林业调查规划,2013,32(2):42-44.

[3] 汤杨华,郭新成.三维GIS中海量空间数据可视化研究[D].西安:长安大学,2009.

[4] 赵慧中.ROAM算法原理及其可视化应用研究[J].测绘与空间地理信息,2010,33(5):124-126.

[5] 佘江峰,陈景广,程亮,等.三维地形场景并行渲染技术进展[J].武汉大学学报:信息科学版,2012,37(4):463-467.

ResearchonThree-dimensionalFastRenderingTechnologyofForestLandSubCompartmentData

LONG Zhihao1,LIU Enlin2,LIU Bin3

(1.Guangxi Forest Resources and Environment Monitoring Center,Nanning 530022,Guangxi,China;2.Central South Forest Inventory and Planning Institute of State Forestry Administration,Changsha 410014,Hunan,China;3.Beijing Evia Technology Co.Ltd,Beijing 100085,China)

Based on the current level of computer hardwares,it is difficult to realize the fast rendering of spatial data and information retrieval in the 3D GIS system with large scale forest land data.Based on the study of key technologies for building grid division and spatial index, we expounded the way of data organization and fast retrieval method, with the provincial forest landsub compartment data as the experimental object, forest land subcompartment data fast rendering and retrieval havebeen implemented. The results showed that this technology couldimprove the rendering efficiency of large scale and large amount of vector data in 3D system,and provideeffective technical support for 3D visualization of massive data.

forest landsub compartment;three dimension GIS;fast rendering

2017 — 02 — 20

龙植豪(1985 — ),男,湖南常德人,工程师,主要从事森林资源监测与林业信息化方面的工作。

刘恩林(1980 — ),男,天津人,工程师,主要从事林业调查规划设计和3S技术应用等工作。

S 771.8

A

1003 — 6075(2017)01 — 0033 — 06

10.16166/j.cnki.cn43 — 1095.2017.01.009

猜你喜欢
列表级别矢量
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
学习运用列表法
扩列吧
一年增加700多万销量!看竣程生物如何做到千万级别
级别分明
迈向UHD HDR的“水晶” 十万元级别的SIM2 CRYSTAL4 UHD
新年导购手册之两万元以下级别好物推荐
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用