zoukankan      html  css  js  c++  java
  • 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通知选择已改变。

     
     

    ArcEngine(AE)

    AE中的数据编辑问题
    摘要: 在AE中数据的编辑是一个重点,也是一个难点。它包括的东西非常多,如:地物的添加,地物的修 改,地物查询,节点捕捉,地物的符号化等一系列的问题。熟练的使用地物编辑的功能,是开发一个系统必须具备的条件。数据编辑问题解决得好坏直接决定着软件是否操作方 便。在这我只是写一些相应的功能函数,至于软件开发中的架构,我不考虑。1、 添加地物什么是地物,这是 GIS的基本概念,我在这不想多说,我只想说明一点,地物可以表现在地图上,如房子、铁路、水管等等。我们把房子的总称称为一个地物类,在AE中对应一个地物类(IFeatureClass),一个地物类在地图上表示为一个地物层 (IFeatureLayer),单独阅读全文

    posted @ 2013-05-05 21:46 qiernonstop 阅读(0) | 评论 (0) 编辑

    AE PageLayoutControl对象
    摘要: PageLayout管理着布局视图提供给用户者进行输出、打印,当然在这个控件中提供了要素连接(增加、删除等)我们可以来看看有那些可以使用的资源:•打印(Printer):这里是指打印机的连接、打印大小、页面设置及其他设置,主要是打印机方面的设置。•页面(Page):管理着可视或屏幕的打印机页。•要素(Elements):在页面上画地图要素。•图形(Graphics):在页面上画地图要素,地图包括图框(MapFrames),PageLayout对象有MapFrame对象并且一个MapFrame有一个地图,反过来,每一个地图都有相关联的图层和地图范围(MapSurrounds),每一个MapSur阅读全文

    posted @ 2013-05-05 21:38 qiernonstop 阅读(1) | 评论 (0) 编辑

    ArcEngine IMap接口
    摘要: 使用IMap接口显示各种数据源的数据。IMap接口的成员ActiveGraphicsLayer:活动图形图层,如果没有将创建一个基本memory graphics layer。AddLayer:向地图中添加单个图层。AddLayers:向地图中添加多个图层。AddMapSurround:向地图中添加map surround。AnnotationEngine:地图使用的注记(标签)引擎。AreaOfInterest:地图的感兴趣区域。Barriers:barriers列表和标签权重。BasicGraphicsLayer:基本图形层。ClearLayers:从地图中移除所有图层。ClearMapS阅读全文

    posted @ 2013-05-05 21:37 qiernonstop 阅读(162) | 评论 (0) 编辑

  • 相关阅读:
    Delete 语句带有子查询的sql优化
    标量子查询SQL改写
    自定义函数导致的sql性能问题
    Oracle 11G RAC For ASM 利用RMAN COPY进行存储迁移
    WPF 如何控制右键菜单ContextMenu的弹出
    将字符串以用二进制流的形式读入XML文件
    WPF 将数据源绑定到TreeView控件出现界面卡死的情况
    WPF如何实现TreeView节点重命名
    Azure一个Cloud Service支持多个公网地址
    Azure上部署Barracuda WAF集群 --- 2
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3061953.html
Copyright © 2011-2022 走看看