ArcEngine三维开发实现3D符号以现实单位显示
来源:互联网 发布:淘宝购物车放多久 编辑:程序博客网 时间:2024/06/06 16:31
在利用ArcEngine进行三维开发时,要绘制三维符号,并且以其现实单位显示。我们先来看下ArcGlobe下是如何做的。首先通过数据向导将添加的点要素文件显示为3D矢量,如图所示:
这里需要注意的地方就是必须要先添加图层,再获取其属性。即
然后就是设置图层的可见范围,如下图所示:
前两步默认操作即可,最后则是设置符号的大小,选择以现实单位显示符号。如下图所示:
那么在ArcEngine下要实现同样的功能主要用到哪个接口呢?通过查找帮助文档,主要用到IGlobeLayerProperties接口(http://blog.csdn.net/liushuo_whu/article/details/22852245)。通过该接口可以设置图层缓存、分辨率、可见分为、矢量要素栅格化以及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();
这里需要注意的地方就是必须要先添加图层,再获取其属性。即
pGlobeControl.Globe.AddLayerType(pFeatureLayer as ILayer,esriGlobeLayerType.esriGlobeLayerTypeFloating,true);在IGlobeLayerProperties4 pGlobeLayerProperties = pGlobeDisplayLayers.FindGlobeProperties(pFeatureLayer as ILayer) as IGlobeLayerProperties4;的前面执行。最终实现效果如图所示:转载请注明出处。
0 0
- ArcEngine三维开发实现3D符号以现实单位显示
- ArcGlobe三维开发之三——3D符号的现实单位显示
- ArcGlobe三维开发之十二——3D符号化(添加3D符号)
- 3D三维向量的单位化、正规化、标准化推导及代码实现
- 基于ArcEngine的3D webgis实现
- ArcEngine开发判断3D模型之间的关系
- ArcEngine开发判断3D模型之间的关系
- Java3D实现三维显示
- Java3D实现三维显示
- Java3D实现三维显示
- python实现Kmeans文本聚类,通过PCA降维和Matplotlib显示聚类3d三维图像
- java 实现以字符为单位读取文件(3)
- ArcEngine三维线
- ArcEngine点集构三维面
- Easyui datebox 以月份为单位显示
- AR—xcode开发3D模型单位问题
- vc6实现魔兽3显示敌对单位,以及去迷雾,显示隐藏单位等功能
- 3D图片现实效果
- 7. 包、接口 java
- android_String对象
- 获取本地通讯录
- 每日一练------小球反弹一半问题
- php--得到我们开始使用php前的一些参数:变量 / 常量 / 模块 / 函数 / 类
- ArcEngine三维开发实现3D符号以现实单位显示
- android_Android操作系统的内存回收机制
- 中国人为何宁花4000元买手机,不花6元买游戏
- 2-sat(tarjan算法)hdu(1824)
- Ubuntu 备份还原那些事儿
- Java HashMap的工作原理
- POJ 2942 A Bug's Life
- C/C++软件工程师就业求职手册学习笔记---第十三章
- java执行Linux shell命令或者Window cmd命令