ArcGIS Engine二次开发入门2
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.8 构建一个简单的GIS应用
5.9 问题解决方法及帮助文档的使用
3ห้องสมุดไป่ตู้
5.6 BaseTool开发实例
11
12
5.7通过代码添加图层
14
5.8 构建一个简单的GIS应用
22
58
59
60
61
74
End, Thanks!
Wuhan University School of Remote Sensing and Information Engineering
GIS工程设计开发综合实习
——基于C#.NET和AO/AE的GIS设计与开发
张文、黄长青 武汉大学遥感信息工程学院
Wuhan University School of Remote Sensing and Information Engineering
72
73
如上图所示,对象模型图展示了每个对象内的各类之间的接口,继承、派生关系,属性及方法之 间的联系等,是对整个对象最完整的定义。对象模型图可视化的表达了ArcObjects的继承关系, 因而您能识别关键对象,查看哪些对象之间具有联系(如对象的创建关系),理解接口继承和派 生类型的定义,并且找出实现了一个类所实现的全部接口。参考对象模型图与参看帮助系统中具 体的接口所获得的信息是一致的,只不过查看具体的接口信息将更方便获得具体的使用方法,属 性设置方法等,而参看对象模型图是从全局来把握整个对象,更容易找出各接口之间的联系和调 用方式等。 对象模型图的放置路径为“X:\Program Files\ArcGIS\DeveloperKit\Diagrams”(X代表ArcGIS 安装所在的盘符)。 对象模型图的书写类似于UML图,对象模型图中也对其基本规则也有所解释,因而UML的具体语 法规则、定义等这里不再赘述,如果需要更加详细的信息,您可以参考UML方面的相关书籍,或 者参考《Exploring ArcObjects》中的相关章节。
70
71
回到IFeatureClass的帮助,在“Members”之后是“Inherited Interfaces”和 “Classes that implement IFeatureClass”,分别标明了IFeatureClass接口是从 何继承而来以及实现了IFeatureClass接口的类,根据COM的标准,您可以 通过COM原理中的QueryInterface,从IFeatureClass接口查询得到实现了该 接口的其他接口。
“Members”指的是接口下的成员,这包括属性、方法等。这里我们不能一一给您列举出来,而是挑选一 个作为例子讲解。 例如我们看到“Search”成员,这是一个方法,通过对“Search”的描述,我们可以得到,“Search”方 法将“返回一个object cursor,其中包含经过特定的查询条件得到的要素对象”。通过这个描述,我们可 以大概得出,通过“Search”方法,我们可以从一个要素集中按照一定的查询条件得到一些特定的要素,供 后续使用。为了获得更加详细的描述,我们点击
Part 5:
ArcGIS Engine二次开发入门
2
ArcGIS Engine二次开发入门 5.1 ArcGIS Engine简介 5.2 ArcGIS Engine开发起步
5.3 属性查询
5.4 空间查询 5.5 BaseCommand开发实例 5.6 BaseTool开发实例 5.7 通过代码添加图层
后面的“See Also”代表了与此相关的一些接口,“Example”(如果有的话) 就是具体的示例代码,通过这些示例,相信您能更快的熟悉接口的使用。
请您参照帮助系统,熟悉IMapControl2,IActiveView,IFeatureLayer, IFeatureClass,ISpatialFilter,IFeatureCursor,IFeature,IGeometry等接口, 以及这些接口中的属性、方法等涉及到的其他接口。熟悉和掌握这些常用 接口的使用,对您熟悉ArcObjects与迅速掌握ArcObjects的开发是极有帮助 的。
62
63
5.9 问题解决方法及GIS 帮助文档的使用
64
65
66
67
68
69
IFeatureClass Interface 这表明IFeatureClass接口是包含在ESRI.ArcGIS.Geodatabase这个类库中,在编程的时候,如果想使用 IFeatureClass接口,则需要首先添加“ESRI.ArcGIS.Geodatabase”的引用,也就是加上“Imports ESRI.ArcGIS.Geodatabase”之类的引用。这样,当您需要使用别的接口时,首先就需要查询帮助,并将 您需要的引用添加到程序中,这也是我们之前编写程序需要添加一些不同引用的原因。 标题下面的第一行是“Provides access to members that control the behavior and properties of a feature class.”,这表明,IFeatureClass接口提供了访问控制要素类行为和属性成员的的方法。类似这样 的话能够让您迅速明白某个接口的作用。 “Product Availability”指的是产品的使用范围,这里从紧接这的介绍可以清晰地看到,在ArcGIS Engine,ArcGIS Desktop和ArcGIS Server中都可以使用。 “When To Use”指的是使用这个接口的场合,也可以算接口的综述。从紧跟着的介绍性文字可以得出, “IFeatureClass接口是获得和设置要素类属性的主要接口。例如,使用IFeatureClass接口能够得到要素集 的类型,获得满足某种查询条件的要素数量,或者是在要素集中创建一个新的要素。IFeatureClass接口从 IObjectClass接口继承而来。”