在地理信息海量三维模型中快速显示单体模型的方法与流程

文档序号:11134161阅读:408来源:国知局

本发明属于三维模型显示领域,尤其是一种在地理信息海量三维模型中快速显示单体模型的方法。



背景技术:

城市三维地理信息系统中因为管理的范围区域通常都有上万平方公里,甚至还有可能扩展成为多个城市,这样的范围,如果采用现有分辨率的地形数据、影像数据和三维模型数据,其数据量普遍会超过TB,甚至几TB,其拥有的单体模型数量通常都在几百万个,利用现有传统的方法,即使采取数据库检索技术,要在这样的海量数据中随时找出我们需要的单体三维模型并显示出来,需要花费很长的时间,以至于无法在系统中正常使用。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种在地理信息海量三维模型中快速显示单体模型的方法,该方法能够快速的显示海量三维模型中的单体模型,时间短,效率高,对硬件要求较低。

本发明解决其技术问题是通过以下技术方案实现的:

一种在地理信息海量三维模型中快速显示单体模型的方法,其方法的步骤如下:

⑴、地理信息海量三维模型的建立:利用计算机、计算机图形显卡、数码相机以及立体影像量测仪通过人工采集地理信息三维目标的三维框架建立三维立体模型,然后再将数码相机获取的三维模型贴图贴合在三维立体模型上生产出来地理信息海量三维模型;

⑵、快速查找单元的建立:将地理信息海量三维模型数据根据地理坐标范围按照地理坐标500米×500米的规则划分为若干个网格,这个网格称作快速查找单元;每一个快速查找单元都是以地理空间中预先定义好的一点为计算起点,该计算起点坐标为:AreaMinX,AreaMinY;

⑶、建立快速查找单元唯一ID:该唯一ID由快速查找单元的行号以及列号组成;

⑷、单体模型的显示:通过计算机视窗所覆盖的地理信息范围,快速的找到对应的几个快速查找单元,然后再利用四叉树查找算法从这几个快速查找单元中根据地理信息空间关系找到所需要的单体模型,并将该单体模型从数据库中取出放入内存中,进而通过显卡在视窗中显示出来,即完成了在地理信息海量三维模型中快速显示单体模型。

而且,所述的行号为ROWID,该ROWID=(Y-AreaMinY)/_BlockSize,其中Y是地理坐标中的Y值,AreaMinY为区域起点Y值,_BlockSize为快速查找单元的网格大小500。

而且,所述的列号为COLID,该COLID=(X-AreaMinX)/_BlockSize,其中X是地理坐标中的X值,AreaMinX为区域起点X值,_BlockSize为快速查找单元的网格大小500。

本发明的优点和有益效果为:

1、本在地理信息海量三维模型中快速显示单体模型的方法通过⑴、地理信息海量三维模型的建立;⑵、快速查找单元的建立;⑶、建立快速查找单元唯一ID;⑷、单体模型的显示;可以快速计算出视窗显示范围所覆盖的区域中的快速查找单元,从这些快速查找单元中找出我们需要的单体三维模型就可以上万倍的提高查找和计算速度。即使利用普通商用PC机也可以实现地理信息三维模型的高效显示。

2、本发明可以大幅提高地理信息海量三维模型显示效率。由于显示效率的提高,对系统运行计算机的要求也大大的降低,使用普通PC机也可以完成传统方法在高级图形工作站上实现的效果,为使用者降低了硬件使用成本。由于该方法使全局查找改变为局部查找,不仅减少了查找时间,而且还大幅降低了数据库的占用计算时间,大幅降低了磁盘读写时间,这样对硬件寿命也可以延长。利用该方法加快了单体模型调入内存的速度,就可以为显示效果更复杂的效果提供充足的时间,显示的模型可以更精细,效果更好。

具体实施方式

下面通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。

一种在地理信息海量三维模型中快速显示单体模型的方法,其方法的步骤如下:

⑴、地理信息海量三维模型的建立:利用计算机、计算机图形显卡、数码相机以及立体影像量测仪通过人工采集地理信息三维目标的三维框架建立三维立体模型,然后再将数码相机获取的三维模型贴图贴合在三维立体模型上生产出来地理信息海量三维模型;

⑵、快速查找单元的建立:将地理信息海量三维模型数据根据地理坐标范围按照地理坐标500米×500米的规则划分为若干个网格,这个网格称作快速查找单元;每一个快速查找单元都是以地理空间中预先定义好的一点为计算起点,该计算起点坐标为:AreaMinX,AreaMinY;

⑶、建立快速查找单元唯一ID:该唯一ID由快速查找单元的行号以及列号组成;行号为ROWID,该ROWID=(Y-AreaMinY)/_BlockSize,其中Y是地理坐标中的Y值,AreaMinY为区域起点Y值,_BlockSize为快速查找单元的网格大小500,列号为COLID,该COLID=(X-AreaMinX)/_BlockSize,其中X是地理坐标中的X值,AreaMinX为区域起点X值,_BlockSize为快速查找单元的网格大小500。

⑷、单体模型的显示:通过计算机视窗所覆盖的地理信息范围,快速的找到对应的几个快速查找单元,然后再利用四叉树查找算法从这几个快速查找单元中根据地理信息空间关系找到所需要的单体模型,并将该单体模型从数据库中取出放入内存中,进而通过显卡在视窗中显示出来,即完成了在地理信息海量三维模型中快速显示单体模型。

系统在做浏览操作时,视窗显示的地理空间范围会发生变化,变化的过程中原本不在视窗显示范围中的新快速查找单元通过上面描述的方法计算获得,并且将原本不在视窗显示范围中的新的单体三维模型通过上面的方式找到并从数据库中得到放入显卡中在视窗中显示出来。变化过程中原本就在视窗显示范围中的快速查找单元和其相应范围内的三维单体模型不做任何操作。变化过程中原本就在视窗显示范围中的快速查找单元在变化后就不在最终视窗显示范围内的,将该快速查找单元和其范围中的所有单体三维模型从内存中删除。

未使用该方法时每做一次从所有地理信息海量三维模型中查找特定范围内的模型这一运算所需要的时间视用户管理模型的多少而不同,在模型数量较少时,该运算可以接受,但在模型数量极大时,该运算会严重拖累系统渲染效率,例如在1057万个地理信息三维模型中查询137幢建筑模型,816棵树木模型和738个城市部件模型时耗时0.8s的时间,而采用本发明,第一步计算该范围所包含的快速查找单元仅耗时6ms即0.000006秒,然后第二步在这几个快速查找单元中找到这些模型耗时11毫秒,效率提高了四万多倍,而且使用该方法在模型数量继续增加的情况下耗时不会有明显变化。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1