CN110276820B - 基于lod组织与调度方法的gis模型优化方法及*** - Google Patents
基于lod组织与调度方法的gis模型优化方法及*** Download PDFInfo
- Publication number
- CN110276820B CN110276820B CN201910551662.0A CN201910551662A CN110276820B CN 110276820 B CN110276820 B CN 110276820B CN 201910551662 A CN201910551662 A CN 201910551662A CN 110276820 B CN110276820 B CN 110276820B
- Authority
- CN
- China
- Prior art keywords
- level
- lod
- data
- tile
- tiles
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种基于LOD组织与调度方法的GIS模型优化方法及***,涉及数据处理技术领域,包括以下步骤:对目标数据进行预处理,生成基础的地形瓦片;根据初始视域,加载所述初始视域范围内符合显示条件的地形瓦片,同时根据初始LOD级别进行渲染;S3:判断当前视域是否发生变化,并根据新视域生成瓦片列表;将所述符合显示条件的瓦片数据发送给渲染器,进行渲染操作,通过四叉树和R树对海量模型数据进行瓦片划分,并通过模型合并、纹理贴图合并技术和纹理LOD技术达到降低内存和渲染批次的目的,提高***的可视化性能。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于LOD组织与调度方法的GIS模型优化方法及***。
背景技术
地理信息***(GIS,Geographic Information System),是以地理空间数据库为基础,在计算机软硬件的支持下,运用***工程和信息科学的理论,科学管理和综合分析具有空间内涵的地理数据,以提供管理、决策等所需信息的技术***。简单的说,GIS是综合处理和分析地理空间数据的一种技术***,是以测绘测量为基础,以数据库作为数据储存和使用的数据源,以计算机编程为平台的全球空间分析即时技术。目前,在面向管廊行业的GIS领域中,模型数据在***启动以后直接加载的方式进行静态展示,但是,当模型数据量较大时,上述加载过程存在以下缺陷,一是,加载时间过长,***长时间处于等待状态,二是占用大量内存、显存,甚至导致***崩溃,三是大量数据在场景中展示,导致渲染性能下降,出现***卡顿,四是同时下载大量数据对网速带宽要求高。
因此,亟需一种GIS模型优化方法以解决上述问题。
发明内容
有鉴于此,本发明提供一种基于LOD组织与调度技术的GIS模型优化方法及***。
本发明提供一种基于LOD预处理与调度的GIS模型优化方法,其特征在于:包括以下步骤:
S1:对目标数据进行预处理,生成基础的地形瓦片;
S2:根据初始视域,加载所述初始视域范围内符合显示条件的地形瓦片,同时根据初始LOD级别进行渲染;
S3:判断当前视域是否发生变化,若是,根据显示条件,确定变更的瓦片列表,删除在新的视域范围内不符合显示条件的瓦片数据,同时加载在新的视域范围内符合显示条件的瓦片数据至缓存;若否,则仍然以当前瓦片的模型数据进行可视化显示;
S4:将所述符合显示条件的瓦片数据发送给渲染器,进行渲染操作:
S41:判断所有符合显示条件的叶节点瓦片是否进行0级渲染操作,若是,进入S42,若否,对符合显示条件的叶节点瓦片,进行LOD级别为0级渲染操作;
S42:遍历所有叶节点瓦片,获取叶节点瓦片的位置信息,计算叶节点瓦片与相机的距离,查看所述距离是否在LOD级别为1级的距离范围内,若是,则将叶节点瓦片的LOD级别从0级上升为1级,并进行LOD级别为1级的渲染操作,提升叶节点瓦片的纹理清晰度,若否,则叶节点瓦片渲染保持LOD级别为0级;
S43:遍历LOD级别为1级的叶节点瓦片内的模型数据,计算模型与相机的距离,根据所述距离计算模型的LOD级别;
S44:判断模型当前LOD级别是否小于目标LOD级别,若是则向数据引擎发起指定级别的数据请求,并以目标LOD级别的贴图显示,同时保留上一级别的渲染数据,若否,则删除当前LOD级别的渲染数据,切换至目标LOD级别的渲染数据。
进一步,当所述LOD级别的0级和1级时均以瓦片为渲染对象,LOD级别为2级时以模型数据为渲染对象。
进一步,所述对目标数据进行预处理包括:将同一模型内的小于等于预设阈值的纹理贴图采用贴图合并模糊算法进行合并。
进一步,所述贴图合同模糊算法包括:
a:创建一张预设阈值的矩形空白目标纹理;
b:在2的整数次幂中选取小于但最接近贴图宽高的值作为贴图调整后的宽高的值并调整贴图大小;
c:遍历叶节点瓦片内的所有贴图,依次从调整大小后的贴图中选取面积最大的贴图以从左到右,从上至下的顺序,放置在所述目标纹理中,并记录所述贴图的存放位置;
d:如果在所述目标纹理贴图中的空白矩阵无法放下贴图,以目标纹理中面积最大的空白矩形的宽高为基准,调整贴图大小,并放入所述最大的空白矩形中;
e:如所述目标纹理已被填满,则将所述目标纹理向下、向左各自自动扩充;
f:重复步骤c、d和e,直至将所有贴图放入所述目标纹理中;
g:查看所述目标纹理中的空白空间,并根据空白空间调整所述目标纹理大小,如果所述目标纹理的大小大于所述预设阈值的矩形大小时,则将所述目标纹理缩放至所述预设阈值的矩形大小;
i:根据贴图在目标纹理中的位置,重新计算模型中顶点对应的不同级别的纹理坐标数据。
进一步,所述预处理还包括:
S11:确定初始零级瓦片大小;
S12:根据四叉树规则和所述初始零级瓦片大小划分目标原图,获得零级瓦片;
S13:遍历所有模型,根据模型坐标计算模型所在的瓦片行列号,并将模型存入模型所在的瓦片索引中;
S14:对步骤S13中的瓦片进行R树瓦片划分;
S16:遍历所有叶节点瓦片,对叶节点瓦片内的模型进行LOD级别划分,
S161:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并到第一预设阈值大小的纹理中作为LOD级别的0级纹理;
S162:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并带一张第二预设阈值大小的纹理中作为LOD级别的1级纹理;其中第一预设阈值小于第二预设阈值,
S162:将瓦片内的模型的原始贴图作为LOD级别的2级纹理;
S17:将模型的顶点数据和索引数据以模型为单位进行合同存储。
进一步,所述R树瓦片划分算法包括:
S141:遍历所述零级瓦片,并统计每个零级瓦片内的模型个数和模型数据量;
S142:判断所述模型个数和模型数据量是否超过预设阈值,若是,则将瓦片四等分,遍历模型并按坐标分别填充在子瓦片内;
S143:遍历四个子瓦片,统计子瓦片内的模型个数和模型数据量,判断所述模型个数和模型数据量是否超过预设阈值,若是,进入步骤S142,若否,则进一步判断子瓦片中没有模型数据,若有,则根据子瓦片内的所有模型数据重新计算瓦片的外包盒并标识为叶节点瓦片,若否,则删除该子瓦片。
进一步,所述S3还包括:判断本地缓存中是否有所述新的瓦片零级数据,若有,直接加载瓦片零级数据,若无,则从服务其端发起异步下载,并将数据保存到本地缓存数据库中并根据显示条件进行加载。
相应的,本发明还提供一种基于LOD组织与调度方法的GIS模型优化***,其特征在于:包括:调度控制单元、渲染准备单元、渲染引擎、数据引擎和线程库,
所述调度控制单元,用于***的整体调度和逻辑控制;
所述数据引擎,用于数据的网络下载、本地加载和缓存管理;
所述渲染准备单元,用于解析加载的数据,并对数据进行组织优化后添加到所述渲染引擎中;
所述渲染引擎,用于渲染瓦片或者模型;
线程库,用于渲染主线程、下载线程池、加载线程和逻辑调度线程之间的通信和数据交换。
本发明的有益效果:本发明通过四叉树和R树对数据进行组织调度,有效解决了大数据量时对宽带、内存和显存的占用;通过LOD机制,实现了按距离动态调整模型渲染效果,提升了模型的显示效果和***的渲染性能;通过对数据预处理,降低了海量数据的渲染批次,提高了渲染速度;本发明采用任务包的线程机制,解决了频繁使用线程锁带来的性能卡顿和资源使用冲突引起的崩溃;此外,基于异步数据下载、加载和渲染,解决了***的卡顿和等待问题。
具体实施方式
以下对本发明做出进一步的说明:
本发明提供一种基于LOD预处理与调度的GIS模型优化方法,其特征在于:包括以下步骤:
S1:对目标数据进行预处理,生成基础的地形瓦片;所述地形瓦片包括零级瓦片及叶节点瓦片;
S2:根据初始视域,加载所述初始视域范围内符合显示条件的地形瓦片,同时根据初始LOD级别进行渲染;
S3:判断当前视域是否发生变化,若是,根据显示条件,确定变更的瓦片列表,删除在新的视域范围内不符合显示条件的瓦片数据,同时加载在新的视域范围内符合显示条件的瓦片数据至缓存;若否,则仍然以当前瓦片的模型数据进行可视化显示;其中,所述显示条件为在当前视域范围内和显示距离内。
S4:将所述符合显示条件的瓦片数据发送给渲染器,进行渲染操作:
S41:判断所有符合显示条件的叶节点瓦片是否进行0级渲染操作,若是,进入S42,若否,对符合显示条件的叶节点瓦片,进行LOD级别为0级渲染操作;
S42:遍历所有叶节点瓦片,获取叶节点瓦片的位置信息,计算叶节点瓦片与相机的距离,查看所述距离是否在LOD级别为1级的距离范围内,若是,则将叶节点瓦片的LOD级别从0级上升为1级,并进行LOD级别为1级的渲染操作,提升叶节点瓦片的纹理清晰度,若否,则叶节点瓦片渲染保持LOD级别为0级;
S43:遍历LOD级别为1级的叶节点瓦片内的模型数据,计算模型与相机的距离,根据所述距离计算模型的LOD级别,所述模型的LOD级别为目标的LOD级别;
其中模型与相机的距离采用如下方法计算,
获取相机的当前三维坐标C(x2,y2,z2),获取模型的三维坐标m(x1,y1,z1),
采用如下方法计算模型与相机的距离D,
a=x1-x2 (2)
b=y1-y2 (3)
c=z1-z2 (4)
其中,D表示模型与相机的距离,x1表示模型在X轴上的坐标,y1表示模型在y轴上的坐标,z1表示模型在z轴上的坐标,x2表示相机在X轴上的坐标,y2表示相机在y轴上的坐标,z2表示相机在z轴上的坐标,
其中,模型目标LOD级别LodCount采用如下方法计算:
其中,LodCount表示模型的目标LOD级别,D表示模型与相机的距离,S表示模型的大小,L表示当前LOD级别;
S44:判断模型当前LOD级别是否小于目标LOD级别,若是则向数据引擎发起指定级别的数据请求,并以目标LOD级别的贴图显示,同时保留上一级别的渲染数据,若否,则删除当前LOD级别的渲染数据,切换至目标LOD级别的渲染数据。
通过上述技术方案,实现了按距离动态调整模型渲染效果,降低了对内存的占用,提升了模型的显示效果和***的渲染性能。
在本实施例中,当所述LOD级别的0级和1级时均以瓦片为渲染对象,LOD级别为2级时以模型数据为渲染对象。通过上述技术方案,降低了渲染批次,提高渲染性能。
在本实施例中,所述对目标数据进行预处理包括:将同一模型内的小于等于预设阈值的纹理贴图采用贴图合并模糊算法进行合并。在本实施例中,所述预设阈值为512*512,通过数据预处理,大大降低了海量数据的渲染批次,从而提升***的渲染速度。
在本实施例中,所述贴图合同模糊算法包括:
a:创建一张预设阈值的矩形空白目标纹理;所述预设阈值的矩形,本领域技术人员可根据***运行硬件和渲染速度进行设定,在本实施例中,目标纹理的阈值为1024*1024;
b:在2的整数次幂中选取小于但最接近贴图宽高的值作为贴图调整后的宽高的值并调整贴图大小;如将贴图大小为262*138,选距离262最接近且小于262的2的整数次幂,则选2的八次幂256作为调整后的贴图的宽,同理选择2的7次幂作为调整后的贴图的高,则调整后的贴图的大小为256*128;
c:遍历叶节点瓦片内的所有贴图,依次从调整大小后的贴图中选取面积最大的贴图以从左到右,从上至下的顺序,放置在所述目标纹理中,并记录所述贴图的存放位置;
d:如果在所述目标纹理贴图中的空白矩阵无法放下贴图,以目标纹理中面积最大的空白矩形的宽高为基准,调整贴图大小,并放入所述最大的空白矩形中;
e:如所述目标纹理已被填满,则将所述目标纹理向下、向左各自自动扩充;在本实施例中,向下和向左扩充128个大小,
f:重复步骤c、d和e,直至将所有贴图放入所述目标纹理中;
g:查看所述目标纹理中的空白空间,并根据空白空间调整所述目标纹理大小,如果所述目标纹理的大小大于所述预设阈值的矩形大小时,则将所述目标纹理缩放至所述预设阈值的矩形大小;如贴图完成的目标纹理的大小大于1024*1024,则将目标纹理缩放至1024*1024;如贴图完成后的目标纹理的大小小于1024*1024,则调整目标纹理的大小,以节省空间;
i:根据贴图在目标纹理中的位置,重新计算模型中顶点对应的不同级别的纹理坐标数据。通过数据预处理,大大降低了海量数据的渲染批次,从而提升***的渲染速度。
在本实施例中,所述预处理还包括:
S11:确定初始零级瓦片大小;
S12:根据四叉树规则和所述初始零级瓦片大小划分目标原图,获得零级瓦片;其中,零级瓦片代表一棵四叉树的根瓦片,对每棵树来说只有一个根瓦片,确定初始零级瓦片大小的目的是将数据按瓦片大小划分成网格,每个网格就代表一棵树的根瓦片;
S13:遍历所有模型,根据模型坐标计算模型所在的瓦片行列号,并将模型存入模型所在的瓦片索引中;
S14:对步骤S13中的瓦片进行R树瓦片划分;
S16:遍历所有叶节点瓦片,获取叶节点瓦片内的模型与LOD级别一一对应的贴图,如LOD级别为0级对应的0级贴图,LOD级别为1级对应的1级贴图,LOD级别为2级对应的2级贴图,
S161:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并到第一预设阈值大小的纹理中作为LOD级别的0级纹理;对于第一预设阈值的确定,本领域技术人员可根据实际的显示精度要求和加载速度来确定,在本实施例中,第一预设阈值的大小为32*32,即是将叶节点瓦片内的纹理进行LOD抽稀模糊并合并到一张32*32大小的纹理中,将32*32大小的纹理作为瓦片的0级纹理;
S162:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并带一张第二预设阈值大小的纹理中作为LOD级别的1级纹理;对于第二预设阈值的确定,本领域技术人员可根据实际的显示精度要求和加载速度来确定,在本实施例中,第一预设阈值的大小为1024*1024,即是将叶节点瓦片内的纹理进行LOD抽稀模糊并合并到一张1024*1024大小的纹理中,将1024*1024大小的纹理作为瓦片的1级纹理;其中第一预设阈值小于第二预设阈值;
S162:将瓦片内的模型的原始贴图作为LOD级别的2级纹理;
S17:将模型的顶点数据和索引数据以模型为单位进行合同存储。
在本实施例中,所述R树瓦片划分算法包括:
S141:遍历所述零级瓦片,并统计每个零级瓦片内的模型个数和模型数据量;
S142:判断所述模型个数和模型数据量是否超过预设阈值,若是,则将瓦片四等分,遍历模型并按坐标分别填充在子瓦片内;
S143:遍历四个子瓦片,统计子瓦片内的模型个数和模型数据量,判断所述模型个数和模型数据量是否超过预设阈值,若是,进入步骤S142,若否,则进一步判断子瓦片中没有模型数据,若有,则根据子瓦片内的所有模型数据重新计算瓦片的外包盒并标识为叶节点瓦片,若否,则删除该子瓦片。
通过四叉树和R树对数据进行瓦片划分,解决了大数据量时,对宽带、内存和显存的占用,为海量模型数据的集成展示提供数据支持。
在本实施例中,所述S3还包括:判断本地缓存中是否有所述新的瓦片零级数据,若有,直接加载瓦片零级数据,若无,则从服务其端发起异步下载,并将数据保存到本地缓存数据库中并根据显示条件进行加载。如果下载失败,则标记该叶节点瓦片数据无效,避免以后重复请求。从数据引擎返回叶节点瓦片数据后,因为是异步加载模式,需要再次判定叶节点瓦片是否符合显示条件。通过上述技术方案,减少数据传输中数据对宽带的占用。基于异步的数据下载、,解决了***卡顿和等待的问题。
相应的,本发明还提供一种基于LOD组织与调度方法的GIS模型优化***,其特征在于:包括:调度控制单元、渲染准备单元、渲染引擎、数据引擎和线程库,
所述调度控制单元,用于***的整体调度和逻辑控制;通过LOD机制,实现模型的动态调整模型渲染效果,至少包括,其一,视域变化,动态判断并实时生成新视域下需要更新的叶节点瓦片,其二,通过读取当前视域,从当前视域中提取未受影响的瓦片,提前对显示列表进行编译,同时对纹理进行提前编译,其三,将准备好的数据加入渲染引擎;上述三步不可能在一帧之内完成,因此需要使用多线程技术,将LOD实时生成的第一步和第二步在其他线程完成,只有第三步才在渲染线程中完成,在本发明中,涉及渲染主线程、下载线程池、加载线程和逻辑调度线程;和3组数据:地下管廊地形数据、渲染准备任务列表、渲染准备结果列表,
所述渲染准备单元,用于解析加载的数据,并对数据确定LOD级别后将LOD级别对应的贴图添加到所述渲染引擎中;
所述渲染引擎,用于渲染瓦片或者模型;
所述数据引擎,用于数据的网络下载、本地加载和缓存管理;
线程库,用于渲染主线程、下载线程池、计算线程和逻辑调度线程之间的通信和数据交换,每个线程的具体工作,计算线程完成视域变化的计算,并负责写入新的地形数据;渲染主线程完成渲染工作,并负责写入任务列表和读取结果列表,渲染线程在每次渲染中检查是否存在新的地形,当计算线程完成一次新地形计算后并生成新的地形后,渲染主线程会检测到地形发生了变化,进而根据当前视域和LOD级别,判断需要更新的瓦片,并生成渲染准备任务,并放入任务列表,渲染主线程还将查看提交的任务是否完成,如果任务被处理完,在结果列表中就有了新的地形瓦片,渲染线程将用新的瓦片替代原有瓦片完成渲染工作,下载线程主要负责数据的下载,逻辑调度线程主要负责渲染主线程、下载线程池和计算线程的通信和管理。
通过上述技术方案,解决了频繁使用线程锁带来的性能卡顿和资源冲突引起的崩溃问题,使得***的渲染性能和稳定性得到了极大提升。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种基于LOD组织与调度方法的GIS模型优化方法,其特征在于:包括以下步骤:
构建基于LOD组织与调度方法的GIS模型优化***;
S1:对目标数据进行预处理,生成基础的地形瓦片;
S2:根据初始视域,加载所述初始视域范围内符合显示条件的地形瓦片,同时根据LOD级别进行渲染;
S3:判断当前视域是否发生变化,若是,根据显示条件,确定变更的瓦片列表,删除在新的视域范围内不符合显示条件的瓦片数据,同时加载在新的视域范围内符合显示条件的瓦片数据至缓存;若否,则仍然以当前瓦片的模型数据进行可视化显示;
S4:将所述符合显示条件的瓦片数据发送给渲染器,进行渲染操作:
S41:判断所有符合显示条件的叶节点瓦片是否进行0级渲染操作,若是,进入S42,若否,对符合显示条件的叶节点瓦片,进行LOD级别为0级渲染操作;
S42:遍历所有叶节点瓦片,获取叶节点瓦片的位置信息,计算叶节点瓦片与相机的距离,查看所述距离是否在LOD级别为1级的距离范围内,若是,则将叶节点瓦片的LOD级别从0级上升为1级,并进行LOD级别为1级的渲染操作,从而提升叶节点瓦片的纹理清晰度,若否,则叶节点瓦片渲染保持LOD级别为0级;
S43:遍历LOD级别为1级的叶节点瓦片内的模型数据,计算模型与相机的距离,根据所述距离计算模型的LOD级别,所述模型的LOD级别为目标LOD级别;
S44:判断模型当前LOD级别是否小于所述目标LOD级别,若是则向数据引擎发起指定级别的数据请求,并以目标LOD级别的贴图显示,同时保留上一级别的渲染数据,若否,则删除当前LOD级别的渲染数据,切换至目标LOD级别的渲染数据。
2.根据权利要求1所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:当所述LOD级别包括0级、1级和2级,其中,0级和1级时均以叶节点瓦片为渲染对象,2级以叶节点瓦片中的模型为渲染对象。
3.根据权利要求1所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:所述对目标数据进行预处理包括:将叶节点瓦片内的小于等于预设阈值的纹理贴图采用贴图合并模糊算法进行合并。
4.根据权利要求3所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:所述贴图合同模糊算法包括:
a:创建一张预设阈值的矩形空白目标纹理;
b:在2的整数次幂中选取小于但最接近贴图宽高的值作为贴图调整后的宽高的值并调整贴图大小;
c:遍历叶节点瓦片内的所有贴图,依次从调整大小后的贴图中选取面积最大的贴图以从左到右,从上至下的顺序,放置在所述目标纹理中,并记录所述贴图的存放位置;
d:如果在所述目标纹理贴图中的空白矩阵无法放下贴图,以目标纹理中面积最大的空白矩形的宽高为基准,调整贴图大小,并放入所述最大的空白矩形中;
e:如所述目标纹理已被填满,则将所述目标纹理向下、向左各自自动扩充;
f:重复步骤c、d和e,直至将所有贴图放入所述目标纹理中;
g:查看所述目标纹理中的空白空间,并根据空白空间调整所述目标纹理大小,如果所述目标纹理的大小大于所述预设阈值的矩形大小时,则将所述目标纹理缩放至所述预设阈值的矩形大小;
i:根据贴图在目标纹理中的位置,重新计算模型中顶点对应的不同级别的纹理坐标数据。
5.根据权利要求3所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:所述预处理还包括:
S11:确定初始零级瓦片大小;
S12:根据四叉树规则和所述初始零级瓦片大小划分目标原图,获得零级瓦片;
S13:遍历所有模型,根据模型坐标计算模型所在的瓦片行列号,并将模型存入模型所在的瓦片索引中;
S14:对步骤S13中的瓦片进行R树瓦片划分;
S16:遍历所有叶节点瓦片,对叶节点瓦片内的模型进行LOD级别划分,
S161:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并到第一预设阈值大小的纹理中作为LOD级别的0级纹理;
S162:对瓦片内所有模型的纹理进行LOD抽稀模糊并合并带一张第二预设阈值大小的纹理中作为LOD级别的1级纹理;其中第一预设阈值小于第二预设阈值,
S162:将瓦片内的模型的原始贴图作为LOD级别的2级纹理;
S17:将模型的顶点数据和索引数据以模型为单位进行合同存储。
6.根据权利要求5所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:对步骤S13中的瓦片进行R树瓦片划分,包括:
S141:遍历所述零级瓦片,并统计每个零级瓦片内的模型个数和模型数据量;
S142:判断所述模型个数和模型数据量是否超过预设阈值,若是,则将瓦片四等分,遍历模型并按坐标分别填充在子瓦片内;
S143:遍历四个子瓦片,统计子瓦片内的模型个数和模型数据量,判断所述模型个数和模型数据量是否超过预设阈值,若是,进入步骤S142,若否,则进一步判断子瓦片中没有模型数据,若有,则根据子瓦片内的所有模型数据重新计算瓦片的外包盒并标识为叶节点瓦片,若否,则删除该子瓦片。
7.根据权利要求1所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:所述S3还包括:判断本地缓存中是否有所述新的瓦片零级数据,若有,直接加载瓦片零级数据,若无,则从服务其端发起异步下载,并将数据保存到本地缓存数据库中并根据显示条件进行加载。
8.根据权利要求1所述基于LOD组织与调度方法的GIS模型优化方法,其特征在于:所述基于LOD组织与调度方法的GIS模型优化***包括:调度控制单元、渲染准备单元、渲染引擎、数据引擎和线程库,
所述调度控制单元,用于***的整体调度和逻辑控制;
所述数据引擎,用于数据的网络下载、本地加载和缓存管理;
所述渲染准备单元,用于解析加载的数据,并对数据进行组织优化后添加到所述渲染引擎中;
所述渲染引擎,用于渲染瓦片或者模型;
线程库,用于渲染主线程、下载线程池、加载线程和逻辑调度线程之间的通信和数据交换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910551662.0A CN110276820B (zh) | 2019-06-24 | 2019-06-24 | 基于lod组织与调度方法的gis模型优化方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910551662.0A CN110276820B (zh) | 2019-06-24 | 2019-06-24 | 基于lod组织与调度方法的gis模型优化方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276820A CN110276820A (zh) | 2019-09-24 |
CN110276820B true CN110276820B (zh) | 2022-12-23 |
Family
ID=67962311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910551662.0A Active CN110276820B (zh) | 2019-06-24 | 2019-06-24 | 基于lod组织与调度方法的gis模型优化方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276820B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110716766A (zh) * | 2019-10-17 | 2020-01-21 | 网易(杭州)网络有限公司 | 游戏场景加载方法、装置、计算机可读介质及电子设备 |
CN111583378B (zh) * | 2020-06-11 | 2023-11-17 | 网易(杭州)网络有限公司 | 一种虚拟资产处理的方法及装置、电子设备、存储介质 |
CN114026604A (zh) * | 2020-09-30 | 2022-02-08 | 深圳市大疆创新科技有限公司 | 模型的展示方法、装置、电子设备及计算机可读存储介质 |
CN112287138B (zh) * | 2020-10-15 | 2022-11-15 | 广州市城市规划勘测设计研究院 | 一种城市信息模型的组织调度方法、装置和设备 |
CN112330806B (zh) * | 2020-11-27 | 2022-11-01 | 成都紫瑞青云航空宇航技术有限公司 | 一种基于低功耗硬件平台的视景合成方法及*** |
CN113269882B (zh) * | 2021-06-04 | 2023-09-08 | 福建天晴在线互动科技有限公司 | 一种基于虚拟纹理的地形渲染方法及*** |
CN115952252B (zh) * | 2023-03-10 | 2023-05-16 | 中国测绘科学研究院 | 基于动态渲染的语义瓦片数据处理方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013854A1 (en) * | 2008-07-30 | 2010-02-04 | Woodai Cals Co, . Ltd | Three dimensional geographical information client apparatus, server apparatus and three dimensional geographical information system having the same |
CN102663801A (zh) * | 2012-04-19 | 2012-09-12 | 北京天下图数据技术有限公司 | 一种提高三维模型渲染性能的方法 |
CN103268342A (zh) * | 2013-05-21 | 2013-08-28 | 北京大学 | 基于cuda的dem动态可视化加速***和方法 |
CN106600523A (zh) * | 2016-12-05 | 2017-04-26 | 武汉市国土资源和规划信息中心 | 一种三维模型数据的瓦片式快速加载方法 |
CN108133044A (zh) * | 2018-01-12 | 2018-06-08 | 适普远景遥感信息技术(北京)有限公司 | 基于属性分离的空间大数据三维可视化方法及平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996976B2 (en) * | 2014-05-05 | 2018-06-12 | Avigilon Fortress Corporation | System and method for real-time overlay of map features onto a video feed |
-
2019
- 2019-06-24 CN CN201910551662.0A patent/CN110276820B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013854A1 (en) * | 2008-07-30 | 2010-02-04 | Woodai Cals Co, . Ltd | Three dimensional geographical information client apparatus, server apparatus and three dimensional geographical information system having the same |
CN102663801A (zh) * | 2012-04-19 | 2012-09-12 | 北京天下图数据技术有限公司 | 一种提高三维模型渲染性能的方法 |
CN103268342A (zh) * | 2013-05-21 | 2013-08-28 | 北京大学 | 基于cuda的dem动态可视化加速***和方法 |
CN106600523A (zh) * | 2016-12-05 | 2017-04-26 | 武汉市国土资源和规划信息中心 | 一种三维模型数据的瓦片式快速加载方法 |
CN108133044A (zh) * | 2018-01-12 | 2018-06-08 | 适普远景遥感信息技术(北京)有限公司 | 基于属性分离的空间大数据三维可视化方法及平台 |
Non-Patent Citations (1)
Title |
---|
三维GIS大数据量场景快速可视化关键技术研究;马彦力;《中国优秀硕士学位论文全文数据库(电子期刊)》;20130716;A008-32 * |
Also Published As
Publication number | Publication date |
---|---|
CN110276820A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276820B (zh) | 基于lod组织与调度方法的gis模型优化方法及*** | |
CN112270756B (zh) | 一种应用于bim模型文件的数据渲染方法 | |
CN105893972B (zh) | 基于影像进行的违章建筑物自动监测方法及其实现*** | |
CN108664619B (zh) | 一种类瓦片技术的海量线划地形图本原存储与调度方法 | |
US7373473B2 (en) | System and method for efficient storage and manipulation of extremely large amounts of scan data | |
US8089481B2 (en) | Updating frame divisions based on ray tracing image processing system performance | |
CN102004809B (zh) | 用于显示plm数据库的对象的组件的方法和装置 | |
Richter et al. | Out-of-core real-time visualization of massive 3D point clouds | |
US8725466B2 (en) | System and method for hybrid solid and surface modeling for computer-aided design environments | |
CN113628314B (zh) | 一种虚幻引擎中摄影测量模型的可视化方法、装置和设备 | |
CN113112603B (zh) | 三维模型优化的方法和装置 | |
CA2834575A1 (en) | Method of rendering a terrain stored in a massive database | |
US7439970B1 (en) | Computer graphics | |
Liu et al. | Real-time, dynamic level-of-detail management for three-axis NC milling simulation | |
CN114119837A (zh) | 一种Revit模型轻量化渲染过程中的几何处理压缩方法和装置 | |
CN112906125A (zh) | 铁路固定设施bim模型轻量化加载方法 | |
US10930072B1 (en) | Multi-resolution mesh real-time contouring | |
Ioannidis et al. | 5D Multi-Purpose Land Information System. | |
CN115168682B (zh) | 一种大规模时空点数据lod绘制方法及装置 | |
CN115063497B (zh) | 一种点云数据处理方法及装置 | |
CN115761119A (zh) | 邻域体素存储方法、装置、计算机设备和存储介质 | |
CN114494623A (zh) | 基于lod的地形渲染方法及装置 | |
CN115330933A (zh) | 一种计及Web端快速渲染的倾斜摄影空间索引构建方法 | |
CN113495935A (zh) | 一种基于不规则三角化网格剖分的地形切片方法和*** | |
US10930073B1 (en) | Multi-resolution surface clipping with asynchronous incremental on-demand marking of spatial index nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |