最近在做WEBGIS的三维地图系统,总结一些东西与大家分享~~大家有问题不妨提出,一起讨论!
一、ArcOjects 3D开发方法简介
众所周知,在ArcGIS 3D分析扩展模块中提供了丰富的三维可视化和分析功能:你可以通过不同的视角查看表面数据,对表面数据进行查询,以及对表面数据进行坡度、坡向、视域分析等操作,进行三维动画模拟等等。其中所涉及的3D对象都是ArcObjects的一部分,针对3D的开发,实际上是ArcObjects的开发,所以具体的开发方法有:
基于ArcScene中内嵌的VBA开发;
通过VB、VC++等兼容COM的开发语言进行开发新的3D组件和功能。
二、基本的3D对象模型
在3D开发中,我们可以用ArcMap对应ArcScene,其中MxDocument对象对应SxDocument对象,Map对象对应着Scene对象,而相对于Display显示对象,在ArcScene中有SceneGraph对象。在对象模型图的顶部是Application对象,从它我们可以执行和应用相关的任务,比如打开文档或者访问和应用相关的其它对象。在VBA中,我们可以直接获得Application对象:
Dim pApp as IApplicaiton
Set pApp = Application
如果你在VB DLL中实现命令和工具,那么在具体实例化这个类时你可以获得和Application对象挂接的钩子(hook):
Implements ICommand
Private m_pApp as esriCore.Iapplication
Private Sub ICommand_OnCreate(ByVal Hook As Object)
Set m_pApp = Hook
…
End Sub
有了Application对象,你就可以访问它所包含的其它所有对象了。比如可以获得SxDocument对象,而它包含一个Scene对象,Scene对应的SceneGraph对象包含了一个或多个SceneView

本文主要介绍了ArcGIS 3D分析扩展模块中的3D开发方法,包括基于ArcScene的VBA开发和通过VB、VC++等进行的3D组件开发。详细讲解了基本的3D对象模型,如MxDocument、Map、Scene、SceneGraph等,并阐述了3D几何模型的创建,如点、线、面、MultiPatch。此外,还提到了3D渲染和动画功能的定制,以及如何在ArcObjects中使用三维控件展示3D文档。
最低0.47元/天 解锁文章
582

被折叠的 条评论
为什么被折叠?



