• SceneControl和GlobeControl比较


    SceneControl的定义

    SceneControl是一个高性能的嵌入式的开发组件提供给开发建立和扩展Scene程序,当然其也提供了基于ArcScene™ 功能来给用户进行绘图等操作,控件SceneControl相当与ArcScene Desktop应用程序中的3D视图并且提供了显示和增加空间数据到3D的方法等。

    GlobeControl的定义

    GlobeControl是一个高性能的嵌入式的开发组件提供给开发建立和扩展ArcGlobe程序, 当然其也提供了基于ArcGlobe ™ 功能来给用户进行绘图等操作,GlobeControl显示3D视图并能提供全球表现的位置而且是基于3D数据。

    SceneControl 功能

    SceneControl是单一的开发进程并且提供粗粒度ArcObjects组件对象,当然也提供了强大纹理着色的 ArcObjects 组件,SceneControl 通过对象接口ISceneViewer来表现,同样ISceneViewer对象布著在ArcScene 应用程序中,ISceneViewer对象中包含了一个Camera并且Camera又包含了一个Observer Target 位置,SceneControl提供方便的方式来设置属性和方法操作对象,例如: SceneControl拥有Camera, Scene, SceneGraph, SceneViewer 属性,这个SceneControl 也提供了一些共同任务的方法,例如:这个SceneControl 有一个LoadSxFile方法来导入scene文档,SceneControl是进行三维开发最基本的控件,因为其提供了用户界面所以更容易初进行开发,当然使用对象模型也能很容易地理解及开发三维功能,我们可以看一下其对象图。

    GlobeControl 功能

    GlobeControl 也是单一的开发进程并且提供粗粒度ArcObjects组件对象,当然也提供了强大纹理着色的 ArcObjects 组件,GlobeControl 通过对象接口来操作IGlobe视图,你可以通过IGlobeViewer 对象来操作 ArcGlobe 应用程序,这个IGlobeViewer 接象包含一个GlobeDisplay GlobeDisplay 包含一个 Globe,这个GlobeControl提供了经常使用的属性和方法,例如:GlobeControl GlobeCamera, Globe, GlobeDisplay, GlobeViewer 属性,当然GlobeControl 也能执行一些方法或任务,例如: GlobeControl Load3dFile 方法来导入globe文档,GlobeControl是进行三维开发最基本的控件,因为其提供了用户界面所以更容易初进行开发,当然使用对象模型也能很容易地理解及开发三维功能,我们可以看一下其对象图。

     

    SceneControl控件中有效的工具和命令

     

    3DAnalyst 类库包含了命令、工具和工具集与SceneControl共同工作来执行操作,例如:scene navigation 命令和工具来移动新的位置(camera),对于一个Scene命令包含了GUID和命令描述,详细你可以参照“Names and IDs of the ControlCommands” 部分,这个已经集成在帮助中,在这其中定义了Commands tools ,例如:Pan, zoom, fly, set observer, select Toolbars,主要是定义在ControlsSceneSceneToolbar库文件为esriSceneControl.ocxesri3DAnalyst.olb,我们可以看看下面所有SceneControl中已经提供了命令、工具。

     

    GlobeControl控件中有效的工具和命令

     

    esriGlobeCore类库中包含了工具、命令和工具集与共同工作来执行操,例如:spin 命令在Globe中应用,对于一个Globe命令包含了GUID和命令描述,详细你可以参照“Names and IDs of the ControlCommands” 部分,这个已经集成在帮助中,在这其中定义了Commands tools ,主要是定义在ControlsGlobeGlobeToolbarControlsGlobeRotateToolbar 库文件为esriGlobeControl.ocx

     

    esriGlobeCore.olb,我们可以看看下面所有GlobeControl 中已经提供了命令、工具。

     

    SceneControl GlobeControl的不同

     

    下面我们将列出一些SceneControl GlobeControl两者有一些不同的地方:

     

    Eventually, some of the missing functionality on the Globe side will be added as part of the

     

    enhancements in future releases.

     

    SceneControl支持下面的主要特征: 

     

    3D线符号有Tubes, walls, textured lines

     

    TIN 数据显示和分析 

     

    基于内存Memory的显示原理

     

    支持立体和平面视图 

     

    表面分析工具,比如:最短路径和等高线的生成l

     

    Layer 支持(比如图层坐标转换)

     

    输出到3D格式(vrml)

     

    动态阴影效果

     

    No projection requirements of data

     

    GlobeControl支持下面的主要特征:

     

    所有的数据源必须具有空间参考

     

    空间参考可以是地理坐标系统或工程坐标系统

     

    页面显示,提供多级显示机制,对于大数据量支持caching的方式。

     

    超连接(hyperlinks)

     

    导航和分析工具比如量测、步行、放大、缩小、移动目标到中心,缩放目标

     

    地图符号支持光栅要素图层

     

    旋转工具栏

     

    各式各样的显示目标(正面朝上)、观测者位置和指北针、剪切控制面板

     

    可以创建一个模板图层,比如:MapServer layers, ArcIMS Image layers, feature annotation layers, WMS layers MOLE™(Military Overlay Editor) layersFeature透明度,在GlobeControl中有一些数据不被支持,比如Tracking Analyst 图层, 测量layers Geostatistics 图层,另外,TINs数据不直接支持所以要转换成栅格(rasters.

              SceneControl GlobeControl有一些相似对于3D对象操作类似功能,在Scene Globe都支持2D 3D 数据图层,在Scene Globe中的对象都允许进行3D 控制,其中MapControl中的Map CoClass相似,我们从下面的图中见到这两者的一些区别及相似的地方:

     

    SceneGraph GlobeDisplay

     

    SceneGraph GlobeDisplay都是进行3D绘制和着色功能的类,当然还是有一些3D制图程序方面还是有一些不同,对于视图窗口,你可以Add, remove, set active, refresh 等操作,也可以改变其的一些属性,比如:Vertical exaggeration, extent, contrast,以及对caches的控制。

     

    SceneViewer GlobeViewer

     

    SceneViewer GlobeViewer SceneControlGlobeControl中的3D显示窗口,当然他们都是各自支持自身的控件,当然这个当前的视图可以通过ActiveViewer来得到,对于I3DViewer 提供了一些共同的属性和方法来对scene globe的视图进行操作并且比如全屏等都可以在Scene Globe中都可以使用,它们都是非模态3D显示窗口,也能通过不同的视角来显示3D数据。

     

    Camera GlobeCamera

     

    Camera GlobeCamera分别控制着一个scene viewerGlobe中的不同的观测点。

     

     

     

     

     

     

     

     

  • 相关阅读:
    Java邮件开发(JavaMail)
    SQL删除所有表和数据
    Hyper-V由于虚拟机监控程序未运行
    .NET CORE IIS PUT和DELETE请求失败 405
    ReSharper 快捷键调试
    hyper-v提示监控未运行
    c#定义Ilist集合
    WindowsFormsApp1设置开机自启动
    SQL查询总数和分页数
    EF执行SQL语句
  • 原文地址:https://www.cnblogs.com/LCGIS/p/3107376.html
Copyright © 2020-2023  润新知