1、Wuhan University School of Remote Sensing and Information EngineeringGIS工程设计开发综合实习张文、黄长青张文、黄长青基于C#.NET和AO/AE的GIS设计与开发2021/5/181Wuhan University School of Remote Sensing and Information EngineeringPart 5:ArcGIS EngineArcGIS Engine二次开发入门二次开发入门 2021/5/182ArcGISEngineArcGISEngine二次开发入门二次开发入门 5.1 ArcGIS
2、Engine简介简介5.2 ArcGIS Engine开发起步开发起步5.3 属性查询属性查询5.4 空间查询空间查询5.5 BaseCommand开发实例开发实例5.6 BaseTool开发实例开发实例5.7 通过代码添加图层通过代码添加图层5.8 构建一个简单的构建一个简单的GIS应用应用5.9 问题解决方法及帮助文档的使用问题解决方法及帮助文档的使用2021/5/1835.6 BaseTool开发实例开发实例2021/5/1842021/5/1852021/5/1862021/5/1872021/5/1882021/5/1892021/5/18102021/5/18112021/5/18
3、122021/5/18135.75.7通过代码添加图层通过代码添加图层2021/5/18142021/5/18152021/5/18162021/5/18172021/5/18182021/5/18192021/5/18202021/5/18215.8 构建一个简单的构建一个简单的GIS应用应用2021/5/18222021/5/18232021/5/18242021/5/18252021/5/18262021/5/18272021/5/18282021/5/18292021/5/18302021/5/18312021/5/18322021/5/18332021/5/18342021/5/18
4、352021/5/18362021/5/18372021/5/18382021/5/18392021/5/18402021/5/18412021/5/18422021/5/18432021/5/18442021/5/18452021/5/18462021/5/18472021/5/18482021/5/18492021/5/18502021/5/18512021/5/18522021/5/18532021/5/18542021/5/18552021/5/18562021/5/18572021/5/18582021/5/18592021/5/18602021/5/18612021/5/18622
5、021/5/18635.9 问题解决方法及问题解决方法及GIS帮助文档的使用帮助文档的使用2021/5/18642021/5/18652021/5/18662021/5/18672021/5/18682021/5/1869IFeatureClassInterfaceIFeatureClassInterface 这表明这表明IFeatureClassIFeatureClass接口是包含在接口是包含在ESRI.ArcGIS.GeodatabaseESRI.ArcGIS.Geodatabase这个类库中,在编程的时候,如果想使用这个类库中,在编程的时候,如果想使用IFeatureClassIFeat
6、ureClass接口,则需要首先添加接口,则需要首先添加“ESRI.ArcGIS.GeodatabaseESRI.ArcGIS.Geodatabase”的引用,也就是加上的引用,也就是加上“ImportsImportsESRI.ArcGIS.GeodatabaseESRI.ArcGIS.Geodatabase”之类的引用。这样,当您需要使用别的接口时,首先就需要查询帮助,并将之类的引用。这样,当您需要使用别的接口时,首先就需要查询帮助,并将您需要的引用添加到程序中,这也是我们之前编写程序需要添加一些不同引用的原因。您需要的引用添加到程序中,这也是我们之前编写程序需要添加一些不同引用的原因。标题
7、下面的第一行是标题下面的第一行是“ProvidesaccesstomembersthatcontrolthebehaviorandpropertiesofaProvidesaccesstomembersthatcontrolthebehaviorandpropertiesofafeatureclass.featureclass.”,这表明,这表明,IFeatureClassIFeatureClass接口提供了访问控制要素类行为和属性成员的的方法。类似这样接口提供了访问控制要素类行为和属性成员的的方法。类似这样的话能够让您迅速明白某个接口的作用。的话能够让您迅速明白某个接口的作用。“Produc
8、tAvailabilityProductAvailability”指的是产品的使用范围,这里从紧接这的介绍可以清晰地看到,在指的是产品的使用范围,这里从紧接这的介绍可以清晰地看到,在ArcGISArcGISEngineEngine,ArcGISDesktopArcGISDesktop和和ArcGISServerArcGISServer中都可以使用。中都可以使用。“WhenToUseWhenToUse”指的是使用这个接口的场合,也可以算接口的综述。从紧跟着的介绍性文字可以得出,指的是使用这个接口的场合,也可以算接口的综述。从紧跟着的介绍性文字可以得出,“IFeatureClassIFeature
9、Class接口是获得和设置要素类属性的主要接口。例如,使用接口是获得和设置要素类属性的主要接口。例如,使用IFeatureClassIFeatureClass接口能够得到要素集接口能够得到要素集的类型,获得满足某种查询条件的要素数量,或者是在要素集中创建一个新的要素。的类型,获得满足某种查询条件的要素数量,或者是在要素集中创建一个新的要素。IFeatureClassIFeatureClass接口从接口从IObjectClassIObjectClass接口继承而来。接口继承而来。”“MembersMembers”指的是接口下的成员,这包括属性、方法等。这里我们不能一一给您列举出来,而是挑选一指的
10、是接口下的成员,这包括属性、方法等。这里我们不能一一给您列举出来,而是挑选一个作为例子讲解。个作为例子讲解。例如我们看到例如我们看到“Search”Search”成员,这是一个方法,通过对成员,这是一个方法,通过对“Search”Search”的描述,我们可以得到,的描述,我们可以得到,“Search”Search”方方法将法将“返回一个返回一个objectcursorobjectcursor,其中包含经过特定的查询条件得到的要素对象,其中包含经过特定的查询条件得到的要素对象”。通过这个描述,我们可。通过这个描述,我们可以大概得出,通过以大概得出,通过“Search”Search”方法,我们可
11、以从一个要素集中按照一定的查询条件得到一些特定的要素,供方法,我们可以从一个要素集中按照一定的查询条件得到一些特定的要素,供后续使用。为了获得更加详细的描述,我们点击后续使用。为了获得更加详细的描述,我们点击2021/5/18702021/5/1871回到IFeatureClass的帮助,在“Members”之后是“InheritedInterfaces”和“ClassesthatimplementIFeatureClass”,分别标明了IFeatureClass接口是从何继承而来以及实现了IFeatureClass接口的类,根据COM的标准,您可以通过COM原理中的QueryInterfac
12、e,从IFeatureClass接口查询得到实现了该接口的其他接口。后面的“SeeAlso”代表了与此相关的一些接口,“Example”(如果有的话)就是具体的示例代码,通过这些示例,相信您能更快的熟悉接口的使用。请您参照帮助系统,熟悉IMapControl2,IActiveView,IFeatureLayer,IFeatureClass,ISpatialFilter,IFeatureCursor,IFeature,IGeometry等接口,以及这些接口中的属性、方法等涉及到的其他接口。熟悉和掌握这些常用接口的使用,对您熟悉ArcObjects与迅速掌握ArcObjects的开发是极有帮助的。
13、2021/5/18722021/5/1873如上图所示,对象模型图展示了每个对象内的各类之间的接口,继承、派生关系,属性及方法之如上图所示,对象模型图展示了每个对象内的各类之间的接口,继承、派生关系,属性及方法之如上图所示,对象模型图展示了每个对象内的各类之间的接口,继承、派生关系,属性及方法之如上图所示,对象模型图展示了每个对象内的各类之间的接口,继承、派生关系,属性及方法之间的联系等,是对整个对象最完整的定义。对象模型图可视化的表达了间的联系等,是对整个对象最完整的定义。对象模型图可视化的表达了间的联系等,是对整个对象最完整的定义。对象模型图可视化的表达了间的联系等,是对整个对象最完整的定
14、义。对象模型图可视化的表达了ArcObjectsArcObjects的继承关系,的继承关系,的继承关系,的继承关系,因而您能识别关键对象,查看哪些对象之间具有联系(如对象的创建关系),理解接口继承和派因而您能识别关键对象,查看哪些对象之间具有联系(如对象的创建关系),理解接口继承和派因而您能识别关键对象,查看哪些对象之间具有联系(如对象的创建关系),理解接口继承和派因而您能识别关键对象,查看哪些对象之间具有联系(如对象的创建关系),理解接口继承和派生类型的定义,并且找出实现了一个类所实现的全部接口。参考对象模型图与参看帮助系统中具生类型的定义,并且找出实现了一个类所实现的全部接口。参考对象模型
15、图与参看帮助系统中具生类型的定义,并且找出实现了一个类所实现的全部接口。参考对象模型图与参看帮助系统中具生类型的定义,并且找出实现了一个类所实现的全部接口。参考对象模型图与参看帮助系统中具体的接口所获得的信息是一致的,只不过查看具体的接口信息将更方便获得具体的使用方法,属体的接口所获得的信息是一致的,只不过查看具体的接口信息将更方便获得具体的使用方法,属体的接口所获得的信息是一致的,只不过查看具体的接口信息将更方便获得具体的使用方法,属体的接口所获得的信息是一致的,只不过查看具体的接口信息将更方便获得具体的使用方法,属性设置方法等,而参看对象模型图是从全局来把握整个对象,更容易找出各接口之间的
16、联系和调性设置方法等,而参看对象模型图是从全局来把握整个对象,更容易找出各接口之间的联系和调性设置方法等,而参看对象模型图是从全局来把握整个对象,更容易找出各接口之间的联系和调性设置方法等,而参看对象模型图是从全局来把握整个对象,更容易找出各接口之间的联系和调用方式等。用方式等。用方式等。用方式等。对象模型图的放置路径为对象模型图的放置路径为对象模型图的放置路径为对象模型图的放置路径为“X:ProgramFilesArcGISDeveloperKitDiagrams”X:ProgramFilesArcGISDeveloperKitDiagrams”(X X代表代表代表代表ArcGISArcGI
17、S安装所在的盘符)。安装所在的盘符)。安装所在的盘符)。安装所在的盘符)。对象模型图的书写类似于对象模型图的书写类似于对象模型图的书写类似于对象模型图的书写类似于UMLUML图,对象模型图中也对其基本规则也有所解释,因而图,对象模型图中也对其基本规则也有所解释,因而图,对象模型图中也对其基本规则也有所解释,因而图,对象模型图中也对其基本规则也有所解释,因而UMLUML的具体语的具体语的具体语的具体语法规则、定义等这里不再赘述,如果需要更加详细的信息,您可以参考法规则、定义等这里不再赘述,如果需要更加详细的信息,您可以参考法规则、定义等这里不再赘述,如果需要更加详细的信息,您可以参考法规则、定义等这里不再赘述,如果需要更加详细的信息,您可以参考UMLUML方面的相关书籍,或方面的相关书籍,或方面的相关书籍,或方面的相关书籍,或者参考者参考者参考者参考ExploringArcObjectsExploringArcObjects中的相关章节。中的相关章节。中的相关章节。中的相关章节。2021/5/1874End,Thanks!2021/5/1875
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100