使用IMap接口显示各种数据源的数据。
IMap接口的成员
ActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer。
AddLayer:向地图中添加单个图层。
AddLayers:向地图中添加多个图层。
AddMapSurround:向地图中添加map surround。
AnnotationEngine:地图使用的注记(标签)引擎。
AreaOfInterest:地图的感兴趣区域。
Barriers:barriers列表和标签权重。
BasicGraphicsLayer:基本图形层。
ClearLayers:从地图中移除所有图层。
ClearMapSurrounds:从地图中移除所有旁注。
ClearSelection:清除地图选择。
ClipBorder:ClipGeometry周围一个可选边界。
ClipGeometry:地图图层中一个要剪切的形状。
ComputeDistance:计算地图上两个点的距离并返回结果。
CreateMapSurround:创建并初始化一个map surround。从样式集中指定一个可选样式。
DelayDrawing:暂停绘制。
DelayEvents:将操作按批组合来减少通知。
DeletLayer:从map中删除图层。
DeleteMapSurround:从地图中删除map surround。
Description:地图描述。
DistanceUnits:地图的距离单位。
Expanded:指出地图是否可以扩张。
FeatureSelection:地图中选择的要素。
GetPageSize:获得地图的页面大小。
IsFramed:指出地图是否在一个框架内而不是在整个窗口中绘制。
Layer:给定序号的layer。
LayerCount:地图中图层的数目。
Layers:以uid表明类型的地图图层。如果recursive是true,将以layers的形式返回layers。
MapScale:数字形式的地图比例尺。
MapSurroundCount:与地图相关的旁注数量。
MapUnits:地图单位。
MoveLayer:将一个图层移到其他位置。
Name:地图名称。
RecalcFullExtent:重新计算全幅范围。
ReferenceScale:分数形式的地图参考比例尺。
SelectByShape:用一个几何形状和选择环境(可选)在地图中选择要素。
SelectFeature:选择一个要素。
SelectionCount:选择的要素的数目。
SetPageSize:设置地图(可选)的页面大小。
SpatialReference:地图的空间参考。
SpatialReferenceLocked:指出是否允许改变空间参考。
UseSymbolLevels:指出是否使用symbol levels绘制地图。
AnnotationEngine:map使用的annotion(label)引擎。
AreaOfInterest:地图的感兴趣区域。
类Map实现接口IMap。
 每个地图文件包含至少一个Map对象。但每次只有一个Map能够获得焦点,这个Map称作focus map(焦点地图)。使用IMxDocument可以访问可以访问文档中的所有地图对象;IMxDocument::FocusMap返回当前具有焦点的地图引用。IMxDocument:Maps返回指向所有地图对象的引用(IMaps)。一个地图文档可以包含任意数目的Map对象--数据视图中只显示焦点地图。
 地图对象,管理一系列图层对象。每个图层有一个空间参考。一个空间参考定义一个分辨率(1/精度)和一个坐标系统。地图坐标系统自动设置为第一个图层的坐标系统,根据所有的图层范围计算分辨率。
几种常用属性和方法:
IMap.AddLayer Method(向map中添加layer)
[Visual Basic.NET] Public Sub AddLayer(ByVal Layer as ILayer)
[C#]        public void AddLayer(Ilayer Layer)
 AddLayer方法向地图中添加图层。使用LayerCount属性获得地图中图层的总数。如果map没有设置坐标系统,AddLayer自动设置地图的SpatialReference属性。当地图的空间参考属性设置后,地图的MapUnits和DistanceUnits属性也就设置了。AddLayer同时也设置layer的空间参考。
IMap.DeleteLayer Method(从Map中删除图层)
[Visual Basic.NET] Public Sub DeleteLayer(ByVal Layer as ILayer)
[C#]        public void DeleteLayer(ILayer Layer)
 如果一个图层在TOC窗口中被选中(IMxDocument::SelectedLayer),可以将其传递到DeleteLayer方法中。当删除一个引用要素类的图层时,如FeatureLayer,执行IDataLayer2::Disconnect能清楚对要素类的引用。
IMap.FeatureSelection Property(IMap.FeatureSelection属性)
[Visual Basic.NET] Public Property FeatureSelection as Iselection
[C#]        public ISelection FeatureSelection{get;set;}
 ArcMap有两个不同的选择集,feature selection和element selection。两种不同的对象表示了这些选择并且都实现了ISelection接口。feature selection对象还实现了IEnumFeature接口,element selection还实现了IEnumElement。ISelection接口用于clipboard类型的操作,IEnum接口针对集合中的项目。
 当你从IMap中访问FeatureSelection时,返回一个ISelection。当你通过IActiveView::Selection选择时,既可以是元素选择,也可以是要素选择,取决于哪一个处于活动状态--一次只能有一个处于活动状态。使用要素选择确保引用到正确的选择。
 IEnumFeature在所有要素图层上工作。每个FeatureLayer有一个ISelectionSet和IEnumFeature。IEnumFeature工作在所有FeatureLayer上,不能用它遍历某一个图层的要素。
 注意,只有shape字段能确保用于选择。IMap::FeatureSelection属性用于绘制地图选择,而不是访问要素属性。在shapefiles、coverage和geodatabases中要注意。如果想遍历地图选择执行一个操作,最好访问每个图层的选择集而不是整个地图的。
IMap.Layer Property(IMap.Layer属性)
[Visual Basic.NET] Public Function get_Layer(ByVal Index As Integer) As ILayer
[C#]        Public ILayer get_Layer(int Index);
 Maps是由各种数据源中的无数图层组成。使用Layer属性来访问地图的特定图层。图层集从0开始。使用Layer属性和LayerCount属性在地图中遍历各个图层。
 Layer属性返回一个ILayer引用。常用if(player is IFeatureLayer)进行判断。例如,不要认为地图中的所有图层都是FeatureLayers。实现ILayer和IDataLayer接口的图层是有效图层。
 每个地图也有一个basic graphics layer,但并不包含在这个属性返回的图层集中。通过BasicGraphicsLayer属性可以获得对这个图层的引用。
IMap.SelectByShape Method
  通过几何图形和选择环境(可选)选择要素
[Visual Basic.NET] Public Sub SelectByShape(ByVal Shape As IGeometry,ByVal env As ISelectionEnviroment,Byval justOne as Boolean)
[C#]        public void SelectByShape(IGeometry Shape,ISelectionEnvironment env,bool justOne);
 SelectByShape在所有IFeatureLayer中搜索与输入图形相交的要素,只有IFeatureLayer::Selectable属性设为TRUE时才可搜索该图层。
 ISelectionEnvironment决定选择结果。例如,创建一个新的选择或向已存在的选择集中添加要素。通过IMxApplication::SelectionEnviroment使用应用程序的选择环境。
 justOne变量控制找到一个要素后是否停止搜索。
 搜索完成后调用IActiveViewEvents::SelectionChanged通知选择已改变。

ae IMap接口成员的更多相关文章

  1. “XmlDocumentationProvider”不实现接口成员“IDocumentationProvider.GetDocumentation(HttpControllerDescriptor)”错误的解决方案

    这东西就是这样,会的不难,难的不会.以前我配置过 WebAPI 的 HelpPage 功能,第一步先安装:Microsoft.AspNet.WebAPi.HelpPage,第二步安装:WebApiTe ...

  2. C#基础--类/接口/成员修饰符,多态、重载、重写,静态和非静态

    C#基础--类/接口/成员修饰符,多态.重载.重写,静态和非静态 类/接口/成员修饰符 C#修饰符---接口: 接口默认访问符是internal接口的成员默认访问修饰符是public C#修饰符--类 ...

  3. C#的接口基础教程之三 定义接口成员

    接口可以包含一个和多个成员,这些成员可以是方法.属性.索引指示器和事件,但不能是常量.域.操作符.构造函数或析构函数,而且不能包含任何静态成员.接口定义创建新的定义空间,并且接口定义直 接包含的接口成 ...

  4. C#8.0 中使用默认接口成员更新接口

    连载目录    [已更新最新开发文章,点击查看详细] 从 .NET Core 3.0 上的 C# 8.0 开始,可以在声明接口成员时定义实现. 最常见的方案是安全地将成员添加到已经由无数客户端发布并使 ...

  5. Arcgis Engine(ae)接口详解(6):workspace操作

    //此处用的workspace来源与用户选择 IWorkspace workspace = null; //workspace一般等同于数据库 //工作空间类型,也可理解为数据库类型 //esriFi ...

  6. Java接口成员变量和方法默认修饰符

     Java的interface中,成员变量的默认修饰符为:public static final 所以我们在interface中定义成员变量的时候,可以 1:public static final S ...

  7. Arcgis Engine(ae)接口详解(8):临时元素(element)

    //主地图的地图(map)对象 IMap map = null; IActiveView activeView = null; //IGraphicsContainer用于操作临时元素,可以通过map ...

  8. Arcgis Engine(ae)接口详解(7):地图(map)操作

    IMap map = null; //跟map同一层次的activeView对象,他们都是“地图”的对象,map管理地图内容,activeView管理显示内容 IActiveView activeVi ...

  9. Arcgis Engine(ae)接口详解(5):IGeometry几何基础操作

    //点操作~~~~~~~~~~~~~~~~~~~~~~~~~ //通过坐标生成点 IPoint point = new PointClass(); point.PutCoords(, ); //获取点 ...

随机推荐

  1. CSS3 Animation Cheat Sheet:实用的 CSS3 动画库

    CSS3 Animation Cheat Sheet 是一组预设的动画库,为您的 Web 项目添加各种很炫的动画.所有你需要做的是添加样式表到你的网站,为你想要添加动画效果的元素应用预制的 CSS 类 ...

  2. Elasticsearch——多索引的使用

    在Elasticsearch中,一般的查询都支持多索引. 只有文档API或者别名等不支持多索引操作,因此本篇就翻译一下多索引相关的内容. 首先,先插入几条数据: $ curl -XPOST local ...

  3. Hyperledger中数据存取的实现

    简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...

  4. 九、SDP

    1.      SDP 1.1       服务概述 SDP, Service Discovery Protocol,服务发现协议. 1.1.1    概念 SDP提供了一种用于发现服务及这些可用服务 ...

  5. 上传文件被nginx全部缓存的问题

    nginx采用1.5.6. 后端采用nodejs+formidable的方式接受上传文件,本问题的对应与采用什么样的后端没太大关系,这里只是交代一下. 问题: 在前端页面上将文件上传,nginx没有将 ...

  6. iOS阶段学习第四天笔记(循环)

    iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ }  两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...

  7. Oracle--(Hierarchical Queries)层级查询

    内容来自: Oracle® Database SQL Language Reference 11g Release 2 (11.2) E41084-03. empolyees表来自hr方案,wareh ...

  8. Jquery验证插件 JqueryValidation 动态验证用户名等

    可以参考:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html //form1 验证用户名 $("#form1"). ...

  9. JavaScript中JSON的处理心得

    一门语言用到深处,就避免不了要对数据的类型进行准确判断,并针对其类型做正确处理. 抛开在Web前端环境不谈,从一门独立编程语言的角度来看js,你就会感受到对js中数据类型的理解有多么重要. 禁止直接多 ...

  10. EasyUI-扩大在DataGrid显示次网格的行

    一.下载并引用:datagrid-detailview.js脚本文件 二.添加UrlInfo控制器,添加Index页面代码如下: @{ Layout = null; } <!DOCTYPE ht ...