ArcGlobe三维开发之三——3D符号的现实单位显示
来源:互联网 发布:陈都灵演技知乎 编辑:程序博客网 时间:2024/06/11 15:14
首先我们来看ArcGlobe是怎么实现的。通过数据向导,第一步将点要素显示为3D矢量,如图所示:
第二步设置图层的可见范围:
第三步以设置符号大小:
那么要实现这样的效果需要用到哪些接口呢?通过查找帮助文档,主要用到IGlobeLayerProperties这个接口,关于这个接口的说明见上篇博文。该接口主要管理图层的缓存、分辨率、可见范围、3D符号等属性。了解了这些要实现跟ArcGlobe同样的功能就很简单了,在这里我同样也做了一个添加数据向导,如下图所示:
代码则很简单:
//将要素显示为3D矢量;任何距离均显示图层;以现实单位显示符号 IGlobeDisplay pGlobeDisplay = pGlobeControl.Globe.GlobeDisplay; IGlobeDisplayLayers pGlobeDisplayLayers = pGlobeDisplay as IGlobeDisplayLayers; pGlobeControl.Globe.AddLayerType(pFeatureLayer as ILayer,esriGlobeLayerType.esriGlobeLayerTypeFloating,true); //获取图层属性 IGlobeLayerProperties4 pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pFeatureLayer as ILayer) as IGlobeLayerProperties4; pGlobeLayerProperties.Scale3DSymbols = true; // 3D符号随距离而变化 //pGlobeLayerProperties.UseCache = true;//使用缓存 // pGlobeLayerProperties.IsFullyCached = true; //pGlobeLayerProperties.EstimateThresholdDistances(out Convert.ToDouble(pZoomOutDistance.Text),out Convert.ToDouble(pZoomInDistance.Text)); pGlobeDisplayLayers.RefreshLayer(pFeatureLayer as ILayer); this.Dispose();
最终的实现效果图:
1 0
- ArcGlobe三维开发之三——3D符号的现实单位显示
- ArcGlobe三维开发之十二——3D符号化(添加3D符号)
- ArcEngine三维开发实现3D符号以现实单位显示
- ArcGlobe三维开发之十一——3D符号化(接口)
- ArcGlobe三维开发之十九——GlobeControl与MapControl的二三维联动
- ArcGlobe三维开发之二——IGlobeLayerProperties接口
- ArcGlobe三维开发之六——动画(前言)
- ArcGlobe三维开发之十——IGlobeDisplayRendering2 接口
- ArcGlobe三维开发之十三——加载保存动画
- ArcGlobe三维开发之十七——书签
- ArcGlobe三维开发之七————动画的两种实现方式
- ArcGlobe三维开发之四——设置globe图层的缓存属性)
- ArcGlobe三维开发之五——获取并设置Globe图层的叠加次序
- ArcGlobe三维开发之十八——纵断面图的绘制
- ArcGlobe三维开发之十六——加载和保存3dd文件
- 基于 ArcGlobe/Globecontrol 三维地理信息系统开发之显示优化
- 基于 ArcGlobe/Globecontrol 三维地理信息系统开发之显示优化
- ArcGlobe三维开发之二十——输电线路二三维交互选线
- Ubuntu下AllJoyn源码编译方法
- 在vi中如何删除一行,复制多行,查找字符?
- Linux设备驱动程序学习(5)-高级字符驱动程序操作[(2)阻塞型I/O和休眠]
- STM32之CAN--CAN ID过滤器分析
- Generic detail view DetailView must be called with either an object pk or a slug.
- ArcGlobe三维开发之三——3D符号的现实单位显示
- Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]
- 一键快速搭建lamp
- poj 1679
- Android下常见的内存泄漏
- qt线程(转)----这篇很专业!
- Linux设备驱动程序学习(6)-高级字符驱动程序操作[(4)异步通知fasync]
- xampp快速配置虚拟主机
- layoutSubviews调用情况