zoukankan      html  css  js  c++  java
  • 使用AddLayer方法加载shp文件中使用的Map、Dataset等对象详解

    内容源自:ArcGIS Engine+C#入门经典 

    方法二:使用axMapControl1对象的AddLayer方法加载ShapeFile文件

    添加ShapeFile文件需要用到Map、Dataset、FeatureLayer和FeatureClass等对象。

    这些对象一般用到的主要接口有IMap、IActiveView、IDataset、IFeatureLayer和IFeatureClass等。


    Map组件类主要是地图图层数据显示和操作的一个平台。一个Map对象可以包含多个各种图层。该组件类主要实现了IMap接口,主要用于控制地图数据和相关元素,通过该接口可以添加、删除图层,访问各种数据源和Map的各种特性,以及通过各种方式选择要素。例如,ActiveGraphicsLayer用于获取Map中处于激活状态的图层,Layer用于获取索引指定的图层,LayerCount 用于获取Map中的图层数量,AddLayer用于向Map中添加图层,ClearSelection用于清除所选择集中的所有对象(如果选择集中已经选中对象)。


    Dataset抽象类表示数据集,是Workspace中数据的集合。一个Workspace可以包含一个或者多个Dataset,一个Dataset可以包含其他的Dataset。该抽象类不能创建对象,可以通过该类的派生类:GeoDataset、Table、FeatureDataset、RasterDataset等来创建具体类型的数据集。该抽象类主要实现了IDataset接口,主要用来管理数据集和提供数据集本身的相关属性信息,该接口同时也被Workspace类、Featurelayer组件类实现。该接口提供了对数据集操作的属性和方法,如Name用于获取数据集的名称,Category用于获取数据集的类型,Workspace 用于获取数据集所在的工作空间,CanCopy用于检测数据集是否可以被复制,CanDelete用于检测数据集是否可以被删除,CanRename 用于检测数据集是否可以被重命名。

    FeatureLayer组件是要素图层,是要素Feature的集合及其可视化表达。该类主要实现了ILayer、IFeatureLayer接口

    ILayer接口提供了方法和属性,来确定图层的范围、最大和最小显示比例尺、空间参考、图层名以及显示方案等,如Name用来设置或获取图层名,SpatialReference用来设置空间参考,MaximumScale用来设置最大比例尺。


    IFeatureLayer接口是从ILayer接口继承下来的,该接口继承了ILayer接口所有的属性和方法,同时还提供了一些自己的属性和方法,如数据源的类型,显示的字段、符号是否随比例尺变化,以及搜索等功能。例如,DataSourcesType用于获取或设置数据源的类型;FeatureClass用于获取图层的要素类;ScaleSymbols用于获取或设置要素层中的符号是否随比例尺的变化而变化;Search是通过指定的查询过滤器在要素层中搜索符合给定查询条件的要素。

    FeatureClass要素类是Feature的集合。该要素类中所有的要素具有相同的属性字段,另外还有一个Shape字段专门存放几何图形该类主要实现IFeatureClass接口,提供了用于获取和设置要素类的属性,如CreateFeature用于创建一个新的要素,DeleteField用于删除要素类的字段。

  • 相关阅读:
    Linux 磁盘管理
    03.线程的通知notify与等待wait
    02.线程的等待与中断
    01.线程的三种创建方式与运行
    java--ArrayList,LinkedList应用比较
    java--字符串拼接比较
    java--CharAt,StartWith
    java--split,index,StringTokenizer比较
    java--substring内存溢出问题
    java--String intern
  • 原文地址:https://www.cnblogs.com/edcoder/p/11717915.html
Copyright © 2011-2022 走看看