• ArcEngine的IMap接口(转载)


    ArcEngine的IMap接口

    使用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通知选择已改变。

    转载自http://www.cnblogs.com/hehewoya/archive/2009/11/29/1613250.html

  • 相关阅读:
    UML中常用的类图元素介绍
    灵魂架构师论坛 正在崛起
    什么是模式,什么是框架
    RPG Maker XP
    php常用HEADER头记录
    PHP MYSQLI扩展库面向对象编程 数据库连接 例子
    PHP 通过MYSQL扩展库 连接MYSQL例子
    MYSQL 数据库相关操作总结
    MYSQL 客户端控制台 中文乱码
    PHP 安全编程慢慢总结
  • 原文地址:https://www.cnblogs.com/atravellers/p/1647608.html
Copyright © 2020-2023  润新知