Arcgis中提供的三维演示和三维分析模块包括ArcScene和ArcGlobe。ArcGIS Desktop中,可用于三维场景展示的程序为ArcGlobe和ArcScene,由于两者的差别,在三维场景展示中适用的情况有所不同。ArcGlobe是ArcGIS9.0之后出现的新产品,设计用于展示大数据量的场景,支持对栅格和矢量数据无缝的显示。ArcGlobe基于全球视野,所有数据均投影到WGS84坐标系统下,并对数据进行分级分块显示。为提高显示效率,ArcGlobe按需将数据缓存到本地,矢量数据可以进行栅格化进行显示。ArcGlobe适合于全市,全省、全国甚至全球大范围内的数据展示。ArcScene是一个适合于展示三维xx场景的平台,可以在三维场景中漫游并与三维矢量与栅格数据进行交互。ArcScene是基于OpenGL的,支持TIN数据显示。显示场景时,ArcScene会将所有数据加载到场景中,矢量数据以矢量形式显示,栅格数据默认会降低分辨率来显示以提高效率。ArcScene适合于小范围内精细场景刻画。由于数据量比较大,所以本次试验使用了ArcGlobe。
本次三维场景的建立使用的是ArcGIS SP3版本的ArcGlobe。基础数据使用2007年桂能信息公司制作的DEM数据和DOM数据。
1、 数据的组织
(1) DEM数据采用Terrain数据模型存储于File Geodatabase中。之所以采用这样的数据存储方式,是考虑到生成DEM的高程信息是由海量的点数据提供的,而Terrain数据模型设计的目的就在于以一种逻辑的和有效的存储机制处理海量的高程点数据,因此可以充分发挥Terrain数据模型的优势,带来更好的三维显示和浏览性能。而且File Geodatabase{zd0}可以支持1TB的数据量,xx能够满足大多数的项目应用。我使用的DEM数据总共有10,470,770个高程点,建立了Terrain数据集后数据量为520多兆,同时给该Terrain建立了5级的空间索引以提高访问的速度。
(2) DOM数据采用Raster catalog方式存储于File Geodatabase中。GDB中的Raster catalog同样采用了和ArcSDE中相同的“分层分块”存储和管理方式,支持自定义显示比例的{zd0}最小范围,所以其访问速度也比较令人满意。我把试验区的DOM数据全部导入File Geodatabase后数据量为6.3G。
(3) 建筑和其他的3D符号模型则以multipatch数据类型存放于Pensonal Geodatabase中。此类模型全部由Google SketchUp建立,然后Export为Pensonal Geodatabase的mdb格式。Arcgis和Google SketchUp之间数据的交互前提是要安装SketchUp6ESRI插件。详细的数据转换说明可以参考官方网站:。由于时间的原因,本次试验并没有在Google SketchUp中建立很精细的建筑等3D模型,只是验证了2个软件平台间数据交互的方便性。
2、 性能表现
在进行测试前先给DOM层和建筑模型层建立了缓存,DEM图层ArcGlobe中不支持建立缓存。在建立了缓存后,整个3D场景在ArcGlobe中打开后立即xx显示了,感觉不到有访问延迟。在进行缩小和放大时会有1秒左右的延迟,主要表现在影像数据的显示上。使用飞行漫游工具进行漫游时,整个过程表现非常流畅,没有出现画面卡的现象。但是在进行漫游时对系统CPU资源占用比较大。(注:本机配置:CPU主频P4 3.0G,内存1G,硬盘160G,显卡 蓝宝石X1650GT 256M)
3、 总结
ArcGlobe设计用于海量数据展示,所以为提高显示效率而进行了数据缓存,它将数据分块并按级别建立缓存和索引,使得即使在显示海量数据时仍可以高速的展示与漫游。ArcGlobe创建的3dd文件可以通过ArcGIS Server发布,然后才能在ArcGIS Explorer中查看。相比之下,2d数据仅仅通过系统提供的publisher工具创建一个pmf文件便能够在Arcreader中进行查看,就显得方便许多。也许不久的将来ESRI会提供一个更加方便快捷的方法来给我们发布自己的三维场景。在构建地表的建筑物等3D模型时,借助于SketchUp6ESRI插件,可以让我们非常方便的在Arcgis和SketchUp2个软件之间进行数据的交换,从而让我们能够结合Arcgis的三维显示、空间分析功能和SketchUp强大快速的三维建模能力,利用已有的GIS数据快速高效的构建大范围精细的三维场景。如果模型做的好我们甚至可以在Arcgis中浏览三维场景时进入到建筑的内部去体验。通过本次试验,觉得ArcGIS与SketchUp软件结合,并进行一些三维查询和分析功能的开发,算是一个3D GIS比较xx的解决方案。
From: