ArcGIS提供的各类数据形式以及相应接口


1. 空间数据

在GIS软件中,空间数据有多种不同的形式存在。按照不同的划分标准可以分为矢量数据和栅格数据、GIS格式数据和非GIS格式数据(CAD格式)、空间数据库数据(个人数据库、ArcSDE数据库)和文件数据。这些数据在ArcGIS中组织为地图文档数据,以扩展名mxd表示。“.mxd”文件是一个项目的工程文件,主要记载一个工程包含哪些图层,图层文件的对应物理位置,每一个图层的符号是如何设置的等描述性信息,但它并不存储实实在在的空间数据。  

2.工作空间

工作空间(Workspace) 对象,在物理级别上相当于地理数据库本身,在逻辑上是一个包含空间数据集和非空间数据集的数据容器。它包含数据集、要素类、表等数据。在GeoDatabase类库中,由esriWorkSpaceType枚举类型指定的WorkSpace类型有三类:文件工作空间esriFileSystemWorkSpace、本地数据库工作空间esriLocalDatabaceWorkspace、远程数据库工作空间esriRemoteDatabaseWorkspace。具体关系见下表:

 常用的工作空间及工作空间对象
 工作空间工厂对象   工作空间对应类型  描述          
 AccessWorkapaceFactory  esriLoaclDatabaseWorkspace  打开个人地理数据库
 ArcInfoWorkspaceFactory  esriFileSystemWorkspace  打开ArcInfo工作空间文件
 CadWorkspaceFactory  esriFileSystemWorkspace  打开CAD文件的工作空间
 OLEDBWorkspaceFactory  esriRemoteDatabaseWorkspace  使用OLEDB打开数据库的空间文件
 SdeWorkspaceFactory  esriRemoteDatabaseWorkspace  打开SDE数据库的工作空间
 ShapefileWorkspaceFactory   esriFileSystemWorkspace   打开Shapefile文件的工作空间
 TinWorkspaceFactory   esriFileSystemWorkspace  打开TIN文件的工作空间
 TextFileWorkspaceFactory   esriFileSystemWorkspace  打开文本文件的工作空间

数据的加载需要先打开相对应的工作空间。工作空间是一个普通类,因此不能直接创建。为获得一个工作空间,需要使用工作工厂WorkspaceFactory对象来创建。


1.Iworkspace接口

Iworkspace接口定义了访问空间数据库的各种属性和方法,如工作空间的连接属性等。通过Iworkspace可以实例化现有数据集和创建新数据集。由于工作空间是一个普通类,需要得到工作空间,需要通过工作空间工厂来创建。

2.IworkspaceFactory接口

IworkspaceFactory接口定义了创建、打开工作空间的方法和对工作空间工厂信息成员的访问。用户可以通过工作空间工厂管理不同类型的工作空间,所有的工作对象都可以通过此接口产生。

IworkspaceFactory接口产生的Create方法产生一个新的工作空间对象,不同类型的工作空间对象是不同的,如AccessWorkspaceFactory产生个人地理数据库类型的工作空间,为*.mdb类型文件;ShapefileWorkspaceFactory对象则产生文件夹形式的工作空间。

IworkspaceFactory接口的Open方法和OpenFromFile方法可以用于打开一个文件类型的数据,如*.mdb/*.shp/*.dwg/*.img等。


MapControl控件接口

MapControl控件与ArcMap中的数据视图(DataView)相对应,主要用于图形显示,它是一个自动化控件,MapControl提供的相关接口如下:

1.IMapControlDefault接口

此接口是MapControl空间的默认接口,是代表当前版本的最新接口,开发环境自动使用这个接口定义的属性和方法。此接口的使用方法如下:

IMapControlDefault pMapControl;

pMapControl=axMapControl1.Object as IMapControlDefault;

2.IMapControl2接口

IMAPControl2接口提供了一系列的属性和方法,如设置MapControl控件的显示属性、控件外观、添加及管理数据图层和地图文档、在控件上绘制图形和返回几何对象等。

显示MapControl控件的属性有AboutBox等,定义了控件的外观的属性有Apperance、BorderStyle和BackColor等,添加、移动、删除图层的方法有AddLayer、AddLayerFromFile、AddShapefile、ClearLayer、DeleteLayer、MoveLayerTo和Pan等,绘制图形的方法有DrawShape和DrawText等,返回几何对象的方法有TrackCircle、TrackLine、TrackPolygon和TrackRectangle等。

3.IMapControl3接口

IMapControl3接口在继承IMapControl2接口的基础上,增加了以下属性和方法:

CustomProperty:设置自定义控件属性。

DocumentFilename:返回MapControl中载入的地图文档的文件名。

DocumentMap:返回MapControl中最后载入的地图名称。

KeyIntercept:返回或设置MapControl控件截取的键盘按键信息,按键信息类型如下:

枚举值 Value 描述
esriKeyInterceptNone 0 没有截取鼠标按键
esriKeyInterceptArrowKeys 1 截取箭头按键
esriKeyInterAlt  2 截取Alt按键
esriKeyInterTab 4 截取Tab按键
esriKeyInterceptEnter 8 截取Enter按键

Object:返回MapControl控件

ShowMapTips:控制是否显示地图的Map Tips。

TipDelay:设置Map Tips的延迟时间。

TipStyle:设置Map Tips的显示样式。

SuppressResizeDrawing:当控件尺寸发生变化时组织数据实时重绘。

 4.IMapControl4接口

IMapControl4接口在IMAPControl3接口的基础上,增加了两个属性,分别是AutoKeyboardScrolling(确定键盘滚动轮是否起作用)和AutoMouseWheel(确定鼠标滚轮是否起作用)。

5.IMAPControlEvents2接口

此接口为事件接口,定义了MapControl能够处理的全部事件,如OnMouseDown、OnMouseMove、OnKeyUp、OnBeforeScreenDraw、OnAfterDraw和OnExtentUpdataed等。

(未完待续)

最新文章

  1. api接口类型
  2. python正则
  3. typeof,GetType
  4. 【BZOJ3123】森林(主席树,启发式合并)
  5. JS常用方法函数整理
  6. Search everything 使用说明
  7. HDU 1251 统计难题(Trie模版题)
  8. SAP接口编程 之 JCo3.0系列(02) : JCo Client Programming
  9. 转载:Windows Phone 8.1 投影我的屏幕使用教程
  10. Java缓冲流细节
  11. javascript 基础API
  12. ARM学习笔记5——程序状态寄存器
  13. R0:前瞻
  14. [妙味JS基础]第十课:日期对象、时钟倒计时
  15. SSM框架实现分页
  16. LDAP&IMPLEMENTATION
  17. php的array数组 -------方法array_column()
  18. 分页插件通用处理,以asp.net mvc为例
  19. mysql用户操作、权限分配、远程登录设置
  20. 【译】第22节---Fluent API - EntityTypeConfiguration类

热门文章

  1. Linux设备管理(三)_总线设备的挂接
  2. .Net Core 系列:1、环境搭建
  3. 快速web开发中的前后端框架选型最佳实践
  4. useful Ansible commands
  5. 写自己的Socket框架(三)
  6. 周六搞事情,微信小程序开发文档已放出!
  7. substring的用法
  8. Android笔记——Matrix
  9. 【Win 10 应用开发】获取本机的IP地址
  10. 【Win 10应用开发】把文件嵌入到XML文档