内容源自: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用于删除要素类的字段。

使用AddLayer方法加载shp文件中使用的Map、Dataset等对象详解的更多相关文章

  1. 利用“反射”动态加载R文件中的资源

    前几天做一个Android下面数据库相关的应用.用ListVIew展示表中数据的时候我希望能给表中每一条记录,加一个展示的图片.但是用数据库保存图片是比较难搞的.于是就把所需图片都保存到res下的dr ...

  2. MFC使用LoadBitmap方法加载位图文件失败解决方案(转)

    用如下方法在原项目中使用LoadBitmap方法加载已有的位图资源作为背景没有问题,但放在别的项目中总是加载不出来,该函数返回NULL HBITMAP hBitmap=LoadBitmap((HINS ...

  3. easyui datagrid 加载静态文件中的json数据

    本文主要介绍easyui datagrid 怎么加载静态文件里的json数据,开发环境vs2012, 一.json文件所处的位置 二.json文件内容 {"total":28,&q ...

  4. java类生命周期,类的“加载,连接,初始化,使用,卸载过程”详解

    “ 如果说核心类库的 API 比做数学公式的话,那么 Java 虚拟机的知识就好比公式的推导过程” 每本Java入门书籍在介绍Java这门语言的时候都会提到Java跨平台,“一次解释,到处运行的特点“ ...

  5. spring加载资源文件中classpath*与classpath的区别

    在spring和MyBatis继承的时候,配置mapperLocations.一开始配置是这样的. 需要加载路径为com/thomas/base/mapper和com/thomas/bu/mapper ...

  6. 浏览器加载模式:window.onload和$(document).ready()的区别(详解)

    jQuery库文件是在body元素之前加载的,必须等待所有的DOM元素加载后,延迟支持DOM操作,否则就无法获取到. 在延迟等待加载,JavaScript提供了一个事件为load,方法如下: wind ...

  7. JavaScript中的Function(函数)对象详解

    JavaScript中的Function对象是函数,函数的用途分为3类: 作为普通逻辑代码容器: 作为对象方法: 作为构造函数. 1.作为普通逻辑代码容器 function multiply(x, y ...

  8. 在三维场景中加载shp(skyline)

    在场景中添加shp图层有两个方法: (1)直接调用Command命令,SGWorld.Command.Execute(1013,5);这样的话,和在场景中的工程树中右键添加特征图层的过程是一样的.有个 ...

  9. java加载properties文件的六中基本方式实现

    java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载: 另一种是通过impo ...

随机推荐

  1. java使用FileSystem上传文件到hadoop分布式文件系统配置

    Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://sparkclust ...

  2. Git客户端下载

    链接:http://pan.baidu.com/s/1eRXsITO 密码:4i6e

  3. [3]尝试用Unity3d制作一个王者荣耀(持续更新)->选择英雄-(中)

    如果已经看过本章节:目录传送门:这是目录鸭~ 上节内容写了Actor管理器,那么这一节让我们先创建一个角色.(此章节开始加速...) 1.制作角色展示AssetBundle: 提取农药某个展示模型(S ...

  4. 03 (H5*) Vue第三天

    目录: 1:Vue-resource中的全局配置. 2:Vue动画2部曲 3:animate动画 4:钩子函数动画 5:组件三部曲,推荐使用template标签来创建组件模板 1:Vue-resour ...

  5. C++基础之关联容器

    关联容器 关联容器和顺序容器的本质区别:关联容器是通过键存取和读取元素.顺序容器通过元素在容器中的位置顺序存储和访问元素.因此,关联容器不提供front.push_front.pop_front.ba ...

  6. 素数路径Prime Path POJ-3126 素数,BFS

    题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...

  7. HNU_小初高数学学习软件_功能说明

    结对编程项目主要功能: 1.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: 2.用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功.密码6-1 ...

  8. 基于RDD实现简单的WordCount程序

    写在前面 因为觉得自己的代码量实在是太少了,所以,想着,每周至少写5个小的demo程序.现在的想法是,写一些Spark,Storm,MapReduce,Flume,kafka等等单独或组合使用的一些小 ...

  9. FileDown

    import org.apache.hadoop.conf.*; import org.apache.hadoop.fs.*; import java.io.IOException; import j ...

  10. 利用sqlalchemy 查询视图

    这个问题 google 百度 中英文搜了一上午.最新的回答还是 7年前.最后自己靠着官方文档的自己改出来一个比较方便的方法 使用环境 python == 3.7.0 SQLAlchemy === 1. ...