System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于KD树的大规模矢量三维地球聚类显示方法技术_技高网

一种基于KD树的大规模矢量三维地球聚类显示方法技术

技术编号:41531240 阅读:3 留言:0更新日期:2024-06-03 23:07
本发明专利技术涉及一种基于KD树的大规模矢量三维地球聚类显示方法,涉及地理信息技术领域,用于解决大规模矢量难以在三维地球上流畅且清晰可视化的问题。该方法包括以下步骤:获取需要聚类显示的矢量节点;KD树构建和搜索聚类;控制显示聚类结果。本发明专利技术的基于KD树的大规模矢量三维地球聚类显示方法,根据视角移动,剔除不在视野中的矢量,对剩余矢量构建KD树,并利用KD树搜索算法对矢量进行聚类,实时控制矢量显示,从而有效提高大规模矢量的渲染效率,改善了用户体验。通过实验和测试,本发明专利技术的方法在视野较远和较近时均取得了良好的效果。

【技术实现步骤摘要】

本专利技术涉及地理信息,特别涉及一种基于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树...

【专利技术属性】
技术研发人员:杜兴盛张鹏吴桐庄国欣
申请(专利权)人:长光卫星技术股份有限公司
类型:发明
国别省市:

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

1