System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及地理信息,特别涉及一种基于kd树的大规模矢量三维地球聚类显示方法。
技术介绍
1、地理信息系统(gis)在现代社会中起到了不可替代的作用,无论是城市规划、导航、环境监测还是自动驾驶,都离不开地理信息系统的支持。在这个系统中,矢量数据是不可或缺的组成部分,提供了对地理特征的清晰表达,用于描述地球表面的各种要素。例如其以点、线、面等形式描述地球表面的特征,如建筑、道路、河流等。
2、随着技术的发展,大规模矢量数据的采集和存储变得更加便捷,然而在三维地球上以流畅且清晰的方式呈现大规模矢量数据,并能够实时编辑这些数据,仍然是一个具有挑战性的问题。
技术实现思路
1、本专利技术要解决现有技术中的技术问题,提供一种基于kd树的大规模矢量三维地球聚类显示方法。
2、为了解决上述技术问题,本专利技术的技术方案具体如下:
3、一种基于kd树的大规模矢量三维地球聚类显示方法,包括以下步骤:
4、步骤1:获取需要聚类显示的矢量节点:剔除不在视野中的矢量,获取需要聚类显示的矢量;
5、步骤2:kd树构建和搜索聚类:构建kd树,并使用kd树搜索算法来聚类矢量数据,获得多个聚类簇;
6、步骤3:控制显示聚类结果:控制显示每个聚类簇中的矢量数据。
7、在上述技术方案中,步骤1具体包括:
8、a)视锥剔除:剔除不在用户视野中的节点;
9、b)获取节点世界坐标:对于通过视锥剔除保留的节点,根据其
10、c)计算屏幕坐标:利用mvp矩阵,将世界坐标转换为屏幕坐标,确定节点在屏幕上的位置;
11、d)有效节点判断:在屏幕视野中,即那些在用户屏幕范围内的节点,识别为有效的节点;
12、e)记录节点和对应屏幕坐标:记录每个有效节点和其在屏幕上的坐标。
13、在上述技术方案中,步骤2具体包括:
14、屏幕坐标下的kd树构建:根据矢量节点的屏幕坐标,构建kd树;
15、初始化记录已被聚类的节点集合:初始化一个记录已被聚类的节点id的集合clustered;
16、设定聚类半径:即在屏幕空间下,矢量之间需要聚类的像素间隔;
17、遍历有效节点、聚类:遍历在用户屏幕视野中的有效节点,对在屏幕坐标相邻较近的矢量,做聚类处理。
18、在上述技术方案中,在步骤屏幕坐标下的kd树构建中,构建kd树的过程包括以下步骤:
19、a)选择切分维度:选择一个维度作为切分维度;
20、b)计算中位数:在选定的维度上计算当前数据集的中位数,将数据分为两半;
21、c)分割数据集:将数据根据中位数分成两个子集,一个包含小于中位数的数据,另一个包含大于中位数的数据;
22、d)递归构建子树:分别对这两个子集递归地构建左子树和右子树;
23、重复上述步骤a)-d),直到树节点数量小于64个。
24、在上述技术方案中,步骤遍历有效节点、聚类,具体包括:
25、a)节点聚类判断:对于每个遍历到的节点,通过检查clustered集合中是否存在该节点的id,来确定其是否已经被聚类;若当前节点已被聚类,则继续遍历;
26、b)节点搜索和聚类:若当前节点未被聚类,根据其屏幕坐标,在构建的kd树中搜索其他在设定范围内的节点;
27、c)遍历搜索到的节点:遍历所有搜索到的节点,如果尚未被聚类,将其放入当前聚类簇中,并在clustered集合中记录其id;
28、d)继续遍历:继续遍历其他有效节点。
29、在上述技术方案中,步骤3具体包括:
30、设定阈值:设定一个阈值,用于确定不显示特定簇中矢量数据的最大数量;
31、监测矢量数量:系统监测每个簇中的矢量数据数量,并与阈值进行比较;
32、不可见设置:当特定簇中的矢量数量达到阈值时,系统将这些矢量数据设置为不可见,不再进行渲染,改为显示当前簇中矢量的数量。
33、本专利技术具有以下有益效果:
34、本专利技术的基于kd树的大规模矢量三维地球聚类显示方法,在视野较远的情况下,相比osgearth方法,明显提高了渲染效率,可以有效解决在加载大规模矢量时,浏览三维地球时的卡顿现象。在视野较近的情况下,本专利技术的方法保持了与osgearth方法相近视觉效果,渲染帧率相近或略高。
35、本专利技术的基于kd树的大规模矢量三维地球聚类显示方法,用于解决大规模矢量难以在三维地球上流畅且清晰可视化的问题。本专利技术的基于kd树的大规模矢量三维地球聚类显示方法,根据视角移动,剔除不在视野中的矢量,对剩余矢量构建kd树,并利用kd树搜索算法对矢量进行聚类,实时控制矢量显示,从而有效提高大规模矢量的渲染效率,改善了用户体验。通过实验和测试,本专利技术的方法在视野较远和较近时均取得了良好的效果。
本文档来自技高网...【技术保护点】
1.一种基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,步骤1具体包括:
3.根据权利要求1所述的基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,步骤2具体包括:
4.根据权利要求3所述的基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,在步骤屏幕坐标下的KD树构建中,构建KD树的过程包括以下步骤:
5.根据权利要求3所述的基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,步骤遍历有效节点、聚类,具体包括:
6.根据权利要求1所述的基于KD树的大规模矢量三维地球聚类显示方法,其特征在于,步骤3具体包括:
【技术特征摘要】
1.一种基于kd树的大规模矢量三维地球聚类显示方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于kd树的大规模矢量三维地球聚类显示方法,其特征在于,步骤1具体包括:
3.根据权利要求1所述的基于kd树的大规模矢量三维地球聚类显示方法,其特征在于,步骤2具体包括:
4.根据权利要求3所述的基于kd树...
【专利技术属性】
技术研发人员:杜兴盛,张鹏,吴桐,庄国欣,
申请(专利权)人:长光卫星技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。