热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ArcEngine获取IMap所有图层方法

获得要素图层通过UID获取1<summary>2获得要素图层UID获取(第一种方法)3&l
获得要素图层通过UID获取
 1         /// 
 2         /// 获得要素图层UID获取(第一种方法)
 3         /// 
 4         /// IMap对象
 5         /// 
 6         public List GetFeatureLayersUID(IMap pMap)
 7         {
 8             UID uid = new UIDClass();
 9             uid.Value = "{40A9E885-5533-11d0-98BE-00805F7CED21}";
10             IEnumLayer Layer = pMap.Layers[uid, true];
11             ILayer ilayer = Layer.Next();
12             //遍历地图
13             while (ilayer != null)
14             {
15                 pList.Add(ilayer as IFeatureLayer);
16                 ilayer = Layer.Next();
17             }
18             return pList;
19 
20         }

 

通过IMap 递归遍历要素
 1 /// 
 2 /// 获得要素图层
 3 /// 
 4 /// IMap对象
 5 /// 
 6 public List GetFeatureLayers(IMap pMap)
 7 {
 8     //遍历地图(需要递归判断)
 9     for (int i = 0; i )
10     {
11         GetIFeatureLayer(pMap.get_Layer(i));
12     }
13     return pList;
14 }
15 
16 /// 
17 /// 执行得到所有图层
18 /// 
19 /// 图层对象
20 /// 
21 public void GetIFeatureLayer(ILayer layer)
22 {
23     if (layer is IFeatureLayer)
24     {
25         //获得图层要素
26         pFeatLayer = layer as IFeatureLayer;
27         pList.Add(pFeatLayer);
28     }
29     else if (layer is CadAnnotationLayer)
30     {
31     }
32     else if (layer is IRasterLayer)
33     {
34     }
35     else if (layer is ILasDatasetLayer)
36     {
37     }
38     else if (layer is IGroupLayer)
39     {
40         //遍历图层组
41         pCompLayer = layer as ICompositeLayer;
42         getlist(pCompLayer);
43     }
44 
45 
46 }
47 /// 
48 /// 递归所有图层
49 /// 
50 /// IGroupLayer中所有的图层
51 /// 
52 public void getlist(ICompositeLayer pCompLayer)
53 {
54     for (int j = 0; j )
55     {
56         if (pCompLayer.get_Layer(j) is IFeatureLayer)
57         {
58             pFeatLayer = pCompLayer.get_Layer(j) as IFeatureLayer;
59             pList.Add(pFeatLayer);
60         }
61         else if (pCompLayer.get_Layer(j) is IGroupLayer)
62         {
63             getlist(pCompLayer.get_Layer(j) as ICompositeLayer);
64         }
65         else if (pCompLayer.get_Layer(j) is CadAnnotationLayer)
66         {
67             continue;
68         }
69         else if (pCompLayer.get_Layer(j) is IRasterLayer)
70         {
71             continue;
72         }
73         else if (pCompLayer.get_Layer(j) is ILasDatasetLayer)
74         {
75             continue;
76         }
77     }
78 }

 


推荐阅读
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文介绍如何在 Android 中通过代码模拟用户的点击和滑动操作,包括参数说明、事件生成及处理逻辑。详细解析了视图(View)对象、坐标偏移量以及不同类型的滑动方式。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
author-avatar
沙漏虎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有