分享
分销 收藏 举报 申诉 / 154
播放页_导航下方通栏广告

类型Chap.01--ArcObjects开发基础(AE10+VS2010).ppt

  • 上传人:xrp****65
  • 文档编号:13092929
  • 上传时间:2026-01-15
  • 格式:PPT
  • 页数:154
  • 大小:7.09MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Chap 01 ArcObjects 开发 基础 AE10 VS2010
    资源描述:
    Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,江西理工大学,Developing GIS Applications with ArcObjects using C#.NET,GIS,应 用 开 发,Developing GIS Applications with ArcObjects using C#.NET,江西省研究生优质课程,主讲:,兰小机,GIS,博士、教授,Email:landcom8835,QQ,:,305333315,课件:,ftp:/218.87.136.94/,兰小机简历,主要经历,1988,年,7,月,毕业于南方冶金学院工程测量专业,获,学士学位,,并留校任教,1994,年,6,月,毕业于武汉测绘科技大学工程测量专业,获,硕士学位,,回校任教,2005,年,6,月,毕业于南京师范大学,地图学与地理信息系统,专业,获,理学博士学位,,回校任教,主要研究方向,GML,空间数据挖掘,GML,空间数据库理论与,GMLGIS,空间数据集成与共享,GIS,应用开发,科研,项目,国家自然科学基金项目,-,面向,GML,的时空关联规则及序列模式挖掘研究,(,编号:,40971234,),,,35,万元,主持,国家自然科学基金项目,-,本原,GML,空间数据库理论及,GMLGIS,与传统,GIS,集成研究,(编号:,40761017,),,,16,万元,主持,国家自然科学基金项目,-,GML,空间数据存储索引机制研究,(编号:,40401045,),,,26,万元,排名第二,地理信息科学江苏省重点实验室开发基金项目,-,面向对象的,GML,空间数据库及其应用研究,(编号:,JK20050302,),,,5,万元主持,江西省教育厅科技项目,GML,空间数据库理论及,GMLGIS,研究,,,1,万元,主持,萍乡市基础地理信息系统研究与开发,,22,万元,主持,城市公众地理信息服务系统研究与开发,,10,万元,主持,教学目标,GIS,应用开发,课程是,GIS,本科生、研究生重要的专业课程,通过课程的学习,,了解,ArcGIS,软件体系结构及,ArcObjects,组件构成,并能熟练使用,ArcObjects,进行,应用型,GIS,开发,;,掌握应用型,GIS,开发的基本思路、技术方法,.,教学内容及时间安排,序号,教学内容,学时,1,开发基础,5,2,ArcGIS Application framework,5,3,使用,ArcObjects,控件编程,6,4,几何形体对象,-GEOMETRY,4,5,地图的组成,6,6,空间数据的符号化,5,7,空间数据管理,5,8,地理处理框架,2,9,空间分析,4,10,空间数据编辑,8,11,三维,GIS,开发基础,6,教材及参考材料,教材:,基于,ArcObjects,与,C#.NET,的,GIS,应用开发,,兰小机等编著,冶金工业出版社,,2011,年,12,月,最新课件,参考材料:,ArcObjects SDK 10 Microsoft .NET Framework,Desktop,(,ArcMap,、,ArcCatalog,)基本操作;,了解,Geodatabase,、,ArcSDE,基本概念;,会用,C#,进行程序设计,。,课程考核,开发一个小型的,GIS,应用系统,按,GIS,软件工程的要求进行设计,并提供完整的设计开发方案,开发的小系统应具备,GIS,的基本功能,主要包括:,打开、保存地图文档、添加数据,自定义命令、工具、菜单,空间数据符号化,空间数据管理,空间查询与空间分析,空间数据编辑功能:基本编辑功能、高级编辑功能,计算机组件技术,组件,GIS,组件式的,GIS,应用开发,Chap.1 Fundamentals of developing with ArcObjects,ArcGIS,系列产品与开发方式,ArcGIS Visual Studio IDE Integration Framework,ArcObjects,基础,组件对象模型,.NET,平台概述,.NET,组件与,COM,组件的互操作,ArcGIS,开发资源,1,ArcGIS,系列产品与开发方式,ArcGIS Desktop,ArcGIS Engine,ArcGIS Server,ArcGIS Mobile,开发类型,:,To customize or extend the ArcGIS Desktop applications,Tobuild standalone mapping applications,To develop Web applications,1.1,ArcGIS Desktop,及其扩展,ArcGIS Desktop,是,GIS,专业人员编辑、使用和管理地理信息的主要平台,它按功能分为三个不同级别的产品:,ArcView,ArcEditor,ArcInfo,每个产品主要包括:,ArcMap,、,ArcCatlog,、,ArcGlobe,、,ArcScene,桌面应用程序,.,ArcGIS,桌面应用程序定制,/,扩展方式,使用,ArcGIS,桌面应用程序的定制功能,(Customzie),配置应用程序界面;,使用,Python,脚本,自动化,GIS,工作流,开发插件,(add-in),,定制,/,扩展,ArcGIS,桌面应用程序,开发定制组件,扩展,ArcGIS,桌面应用程序,无需使用,ArcObjects,,,后续版本不支持,VBA,定制,需要使用,ArcObjects,,,可以使用,C#,,,VB.NET,Java,,,C+,语言,1.1.1,使用,Python,脚本,自动化,GIS,工作流,Python,是一种,免费的、跨平台,的,开源,编程语言,它功能强大且简单易学,因而得到了广泛应用和支持。,ESRI,已将,Python,完全纳入,ArcGIS,中,成为了一种用于,数据分析、数据转换、数据管理和地图自动化,的语言,因而有助于提高工作效率。,易于学习,非常适合初学者,也特别适合专家使用,可伸缩程度高,适于大型项目或小型的一次性程序(称为脚本),可移植,跨平台,可嵌入(使,ArcGIS,可脚本化),稳定成熟,用户社区规模大,ArcGIS,中的,Python,Python,是地理处理框架的重要组成,Python,在,ArcGIS,中的发展,ArcPy,ArcPy-ArcGIS,新的,Python,库,由,arcgisscripting,升级而来,包含有函数,(Function),、类(,Class,)和模块,(Module),功能实现,能访问所有,gp,工具,数据转换、数据管理,数据分析,自动化制图,ArcPy,详细参考,:,ArcGIS,Desktop,10,帮助,专业库,地理处理,ArcPy,站点包,ArcPy,模块,模块为通常包含函数和类的,Python,文件。,有一系列模块支持,ArcPy,,包括制图模块,(,arcpy.mapping,),、,Spatial Analyst,模块,(,arcpy.sa,),和,Geostatistical Analyst,模块,(,arcpy.ga,),。,ArcPy,类,ArcPy,类,如,SpatialReference,和,Extent,类,通常用作地理处理工具参数设置的快捷方式,否则的话,这些参数会使用更加复杂的字符串。,ArcPy,函数,函数是用于执行某项特定任务程序单元。,在,ArcPy,中,所有地理处理工具均以函数形式提供,但并非所有函数都是地理处理工具。,除工具之外,,ArcPy,还提供多种函数来更好地支持,Python,地理处理工作流。,函数或方法可用于列出某些数据集、检索数据集的属性、在将表添加到地理数据库之前验证表名称,或执行其他许多有用的脚本任务。,独立的,Python,脚本,Python,脚本是可以执行的,.py,文件。独立,Python,脚本可通过两种方式执行:通过操作系统提示或开发应用程序(如,PythonWin,),或在,Windows,资源管理器中双击,.py,文件。,Python,脚本工具,Python,脚本工具是已添加到地理处理工具箱的,Python,脚本。,添加为脚本工具后,便可以像使用其他地理处理工具一样使用此脚本工具,-,可以从工具对话框打开和执行、可以在,Python,窗口和,ModelBuilder,中使用,并可以从其他脚本和脚本工具中调用。,Python,窗口,ArcGIS 10,使用,Python,窗口代替原来的命令行窗口,通过,Python,窗口,用户可以快捷地在,ArcGIS,内部使用,Python,,从而以交互方式运行地理处理工具和功能以及充分利用其他,Python,模块和库。,此窗口还为用户学习,Python,提供了一个途径。,Python,窗口提供了智能感知和代码自动完成功能,.,可以直接从,Catalog,中拖放过来,即时的帮助信息,简单实例:,ArcGIS,引入了后台地理处理,(Background,Geoprocessing),的概念,允许,Geoprocessing,工具、,ArcGIS,操作同时运行,(,使用多核,CPU),。,1.1.2,使用,DLL,组件扩展,ArcGIS,桌面,使用,DLL,组件扩展,ArcGIS,桌面的优势,:,They can be easily delivered to end users via custom setup programs.,You can hide your code and logic in a binary file.,You can extend and customize virtually every aspect of the ArcGIS technology.,使用,DLL,组件扩展,ArcGIS,桌面,开发插件,(add-in),,定制,/,扩展,ArcGIS,桌面应用程序,(,New in ArcGIS 10,),开发定制组件,扩展,ArcGIS,桌面应用程序,ArcGIS,Desktop,Add-in,Add-in,是一种能够快速扩展桌面应用程序功能的全新扩展方式,更加容易创建,更加容易共享,更加安全,更易安装管理,ArcGIS,10 Add-in,所支持的类型,按钮和工具,组合框,菜单和右键菜单,Multi-items,工具条,Tool palettes,可停靠窗体,Application extensions,Editor extensions,ArcGIS,10 Add-in,支持的开发环境,Visual Studio 2008+.Net3.5,Visual Studio 2010+.Net3.5,或者,.Net4.0,Visual Basic/C#,2008 Express Edition+.Net3.5,Visual Basic/C#2010 Express Edition+.Net3.5,或者,.Net4.0,Eclipse IDE for Java Developers,XML Metadata,(,Config.esriaddinx,),Add-in,的部署,复制,/,邮件发送,编译好的,esriaddin,文件到需要部署机器上,(,已经安装好,ArcGIS,桌面,);,在部署机器上双击,esriaddin,文件,弹出,Add-in,安装界面,让用户查看该插件的一些元信息,然后让用户决定是否安装该插件;,安装插件是不需要重启任何,ArcGIS Desktop,应用程序的。安装完之后,就可以通过相应,ArcGIS Desktop,应用程序的,Add-in Manager,来查看已安装的,Add-in,,也可以通过它来卸载。,一些,Add-in,所包含的对象,例如,Command,、,Tool,、,Toolbar,,是需要用户通过,Customize,窗口定制添加到界面上的。,Extension,对象,则需要用户通过,Extensions,窗口勾选加载。,Add-in,共享与安全,实现局域网内共享,设置共享目录、设置安全级别,Add-in,数字签名,工具:,ESRISignAddin.exe,C:Program FilesCommon FilesArcGISbinESRISignAddIn.exe,1.2,ArcGIS,Engine,ArcGIS Engine,是一个完整的嵌入,GIS,组件库和工具,开发人员可以用来创建新的独立的,GIS,应用程序或者在自定义的应用程序或已经存在的应用程序中嵌入,GIS,功能。,ArcGIS Engine,是,ArcObjects,的子集,主要用于独立的,GIS,应用开发,它,不依赖于,ArcGIS Desktop,。,ArcGIS Engine,由两部分组成:,一个软件开发包,(SDK),和,一个可分发的运行时,(Runtime),。除此之外,应用程序的功能可以使用可选的扩展模块来进行扩展。,ArcGIS Engine,支持,Windows,平台及跨平台开发。,Windows,平台开发,有以下,APIs:,.NET,VC+,跨平台开发,有以下,APIs:,Java,C+for Windows,C+for Solaris/Linux,使用,ArcGIS Engine,控件开发独立的,GIS,应用,Using the Winforms ArcGIS Engine controls,Using ArcGIS Engine Controls in,WPF(New in ArcGIS 10,),1.3,ArcGIS Server,ArcGIS Server,是功能强大的基于服务器的,GIS,产品,用于构建集中管理的、支持多用户的、具备高级,GIS,功能的企业级,GIS,应用与服务。,开发者使用ArcGIS Server可以构建Web应用、Web服务、以及其它运行在标准的.NET和J2EE Web服务器上的企业应用,。,ArcGIS Server,包含两个主要部分:,GIS,服务器,和,多种的开发框架,。,ArcGIS Server,提供的开发环境:,ArcGIS Server SDK for.NET and Java,ArcGIS JavaScript,API,ArcGIS JavaScript extension for the Google Maps API,ArcGIS JavaScript extension for Bing Maps,ArcGIS API for Microsoft Silverlight/Windows Presentation Foundation(WPF),ArcGIS API for Flex,ArcGIS Server Representational State Transfer(REST)API,ArcGIS Server Simple Object Access Protocol(SOAP)SDK,1.4,Mobile,GIS,ArcGIS,技术可以部署到一系列的移动设备上,,从轻量级的设备到,PDA,、笔记本电脑以及平板电脑。,在野外工作中使用,GIS,,主要依靠将应用程序定制成简单的移动工作任务以及对中心,GIS Web,服务器的无线访问。,ArcGIS,为用户提供了三种移动,GIS,解决方案。,ArcGIS Desktop,和使用,ArcGIS Engine,建立的应用程序:,这种方案常常部署在用于野外的笔记本电脑或者平板电脑上。,ArcPad,:,ArcPad,为使用,Windows CE,兼容设备的野外工作人员提供了一个以,GIS,为中心的解决方案。,ArcGIS Mobile,SDK,:,ArcGIS Server,包含的一个软件开发包,可以被用于智能手机、,PocketPC,等设备上的应用开发。,2,ArcGIS Visual Studio IDE Integration Framework,为了提高软件开发效率,,ArcGIS,开发包为开发人员提供了集成于,VS,环境的模板、向导、命令、代码段等。,ArcGIS,开发包的安装,ArcGIS,桌面开发包,ArcObjects,(,AO,),ArcGIS Engine,开发包,-ArcGIS Engine,(,AE,),ArcGIS Server,开发包,ArcGIS,开发包安装后,VS,IDE,集成框架(开发环境元素),开发类库,开发文档,ArcGIS Visual Studio IDE Integration Framework,ArcGIS Visual Studio IDE Integration Framework,for add-ins,(,New,in,ArcGIS,10,),ArcGIS Visual Studio IDE Integration Framework,for extending ArcObjects,ArcGIS Visual Studio IDE Integration Framework,for server object extensions,Web,Mapping Application,2.1,ArcGIS Visual Studio IDE Integration Framework,for add-ins,在,VS,环境下开发:,创建解决方案(,Solution,),一到多个项目(,Projects,),一到多个类(,Classes,),2.2,ArcGIS Visual Studio IDE Integration Framework for extending ArcObjects,ArcGIS VS,IDE,集成框架元素:,ArcGIS Project templates,(,项目模板,),ArcGIS Project wizard,ArcGIS Item templates,(,类模板,),ArcGIS Add Class wizard,ArcGIS Snippets,ArcGIS Reference dialog box,ArcGIS Component Category Registrar dialog box,ArcGIS License Initializer dialog box,ArcGIS Toolbox Reference dialog box,ArcGIS.Net Code Converter,Toolbox configuration,2.1,ArcGIS Project templates(,项目模板,),The following are the available project templates:,Desktop:,Windows Application Console Application,Class Library(General)Class Library(ArcMap),Class Library(ArcCatalog)Class Library(ArcScene),Class Library(ArcGlobe),Engine:,Windows Application Console Application,Class Library(General),MapControl Application,GlobeControl Application,server object extensions,REST SOAP,Server Web Application,Web Mapping Application,Toolbox configuration,:,Adds ArcGIS controls in the Visual Studio Toolbox window.,ArcGIS Project wizard(,项目向导,),当使用,ArcGIS,项目模板来创建一个新项目时,,ArcGIS,项目向导,会自动打开,,,通过,自动添加,ArcGIS,引用及许可初始化代码,,来帮助你高效地搭建新的,ArcGIS,定制项目,。,Class,Library,(,ArcMap,),Windows,Application,(Desktop),Windows Application(Engine),2.3,ArcGIS item templates,Add-in,组件模板,类模板,ArcGIS Add Class,(,最通用的类模板,),Wizard,当选择“,ArcGIS,Class,”模板后,,添加类向导,会自动显示,指导你完成类的创建。,ArcGIS Add Class Wizard include the following 3 steps:,Base Implementation option,Component Category option,Optional Interfaces option,Base Implementation option,Customization group,Base component,Component Category option,Categories,Category properties,Optional Interfaces option,Available optional interfaces,Selected interfaces,2.4,ArcGIS Reference dialog box,2.5,ArcGIS Component Category Registrar dialog box,2.6,ArcGIS License Initializer dialog box,不管是,ArcGIS,桌面应用程序还是独立的,GIS,应用程序,在访问,ArcObjects,组件之前,需要,明确地,使用合适的,ArcGIS,产品许可,进行初始化。,开发人员可以使用“,ArcGIS License Initializer dialog box,”,来产生并添加许可初始化代码到项目中的适当位置。,但如果选用项目模板,创建过程中包含选择合适的产品许可选项。,2.7,ArcGIS Toolbox Reference dialog box,This dialog box allows you to create a managed assembly for a custom ArcGIS toolbox,with one class representing each geoprocessing tool in the toolbox.,You can then use these classes to set up and run geoprocessing tools.,2.8,Snippets in ArcGIS for.NET developers,为了帮助,ArcGIS,软件开发人员进一步提高软件的开发效率,“,ArcGIS Visual Studio IDE Integration Framework,”提供了可重用的代码段供开发人员使用。,ArcGIS 10 offers a fully integrated ArcGIS Snippet insertion and finder tool.,C:Program FilesMicrosoft Visual Studio 10.0VC#SnippetsArcObjects,VS-,工具,-,代码段管理器(,T,),使用代码段,管理代码段,编辑、重建、查找代码段,ArcGIS,Snippet,Editor,Manager,ArcGIS,Snippet,Editor,Wizard,ArcGIS,Snippet,Finder,在,VS,中根据已有代码生成,Snippet,2.9,Walkthrough:Create a command by inheriting from BaseCommand,Create a simple command that zooms the extent of the selected layer,Create a new class library,Add references,Create a ZoomToLayer command,Change the default icon bitmap,Inherit the BaseCommand abstract class,Add code to the overridden constructor of BaseCommand,Add the ZoomToLayer functionality,Expose the ZoomToLayer class to COM,Compile the project,Use the command in ArcMap,Debugging the command,Demo:,Creating a command that zooms the extent of the selected layer,Snippets,3,ArcObjects,基础,ArcObjects,简介,ArcObjects,的组件库,理解对象模型图,3.1 ArcObjects,简介,ArcObjects,是,ESRI,公司,ArcGIS,系列产品的开发平台,它是基于,Microsoft COM,技术,所构建的,GIS,组件产品,,是一套可重用的通用的二次开发组件产品,它可以用于大量开发框架中,包括流行的像,.NET,、,Visual C+,、,Java,等开发环境。,ArcObjects,不是为最终用户而是专门为开发人员提供的二次开发组件。,ArcObjects,是,ArcGIS,系列产品的基础,大部分,ArcGIS,产品都是由,ArcObjects,构建的。,3.2,ArcObjects,的组件库,ArcObjects,是一套庞大的,COM,组件集合,,ArcGIS,各版本各种,COM,类型统计见下表:,Enums,Structs,Interfaces,Classes,Total,ArcGIS 9.0,628,35,3029,2322,6014,ArcGIS 9.1,933,36,3918,3043,7930,ArcGIS 9.2,1100,40,4798,3832,9770,ArcGIS 9.3,1195,51,5206,4050,10502,ArcGIS 10.0,1053,93,5555,4081,10782,为了更好地管理,ArcObjects,中数目众多的,COM,对象,,ESRI,将它们放置在不同的组件库中,,对于,.NET,来说,一个组件库就是一个,assembly,(程序集),,一个,assembly,有多个不同的命名空间。如,ESRI.ArcGIS.ADF,Assembly,的,Namespaces,:,ESRI.ArcGIS.ADF,ESRI.ArcGIS.ADF.BaseClasses,ESRI.ArcGIS.ADF.CATIDs,ESRI.ArcGIS.ADF.COMSupport,ESRI.ArcGIS.ADF.Resources,ArcObjects,10,的组件库共,65,个,(65assemblies),,,详细内容参见,Learning ArcObjects,、,ArcObjects,SDK,API,Reference,如果不记得某个接口或对象属于哪个命名空间的时候,可以通过开发帮助查找。,3.3,理解对象模型图,ESRI,提供了多种方法让用户了解,ArcObjects,组件及不同组件之间的关系,ESRI,提供的一系列,OMD,的,PDF,文件,开发帮助、,API,Reference,VS.NET,中的对象浏览器,通过阅读,ArcObjects,的对象模型图,(Object Model Diagram,,,OMD),,可以快速了解,ArcObjects,的结构和不同组件之间的关系。,OMD,使用,UML(Unified Modeling Language,,统一建模语言,),描述,它补充了在对象浏览器中看不到的信息,,可以帮助程序员了解类之间的关系,如何从一个类到另一个类,选择正确的接口,获取需要的属性和方法等。,VS,中的对象浏览器,3.3.1,类与对象,在,ArcObjects,中存在三种类型的类:,抽象类,(Abstract Class),组件类,(CoClass),普通类,(Class),抽象类,不能用于产生一个新的对象,但是可以用于定义一个子类。,组件类,是一个可以直接用,new,创建对象实例的类,它的实例对象不依赖其他对象的存在而存在,其生存周期也不用其他的对象管理。,普通类,不能够直接产生一个对象,但它可以用其他的普通类或组件类的方法产生,,而不是使用,new,关键字来完成,。,3.3.2,类与类的关系,ArcObjects,的类之间存在四种关系,依赖关系,关联关系,组合关系,类型继承,WorkspaceFactory,Workspace,MapControl,Map,Map,Layer,*,Curve,Segment,Path,PolyCurve,4,组件对象模型,软件开发历史,什么是组件对象模型,4.1,软件开发历史,软件重用,和,开发效率,始终是软件开发的核心问题。,在早期(面向过程语言),人们为了重用,将一些基本的数学计算函数和界面设计函数设计成函数库,让其他软件开发人员调用。它为应用开发者提供了方便,但是重用的粒度太小。,面向对象语言的出现,提高编程的粒度。面向对象语言的基本单位是类,它封装了数据成员和函数成员,将最小组件的粒度提高了一个等级。但是,一个类提供了很多种方法和属性,使用和管理很不方便。,COM,技术(接口)的出现,解决了以上问题,将类的内部属性和方法进行分类。,例如在,Map,类中有好几个接口,在这些接口中定义不同功能组的方法和属性,,Map,实现了这些接口,这样就可以使用接口进行定义。,但,COM,也存在一个严重的问题:,DLL,灾难。,.NET,技术的出现解决了,“,DLL,灾难,”,问题。,4.2,什么是组件对象模型,组件技术标准,COM,(,DCOM,):,微软的组件对象模型,(Distributed),Component Object Model,),JavaBean,:,Sun,公司的基于,Java,的组件技术,CORBA,:,对象管理组织,(Object Management Group,,,OMG),的组件技术标准,,公共对象请求代理结构,(Common,Object Request Broker,Architecture,,,CORBA),。,COM,知识要点,COM,是一种二进制级别的组件通信标准,-,接口,(Interface),,它定义了组件之间应该如何通信、一个,COM,对象之间的不同接口如何查询等。,COM,对象也是基于面向对象标准的。,COM,对象可以以,DLL,或者,EXE,文件形式存在,它包含着接口的具体实现。使用者可以通过接口来访问它内部的方法、属性。,COM,对象必须实现,IUnknown,接口,它负责管理,COM,对象生命周期并在运行时刻提供类型查询,,当,COM,对象不使用的时候,是这个接口定义的方法负责释放内存,。,QI(,Query Interface,),,即所谓查询接口,由于一个,COM,对象有很多个接口,不同的接口管理着,COM,的不同类型的方法、属性,因此从一个接口可以使用的属性方法转到另一个接口可以使用的属性方法的过程称为,QI,。这个过程也是由,IUnknown,接口管理的。,IMap,pMap;,IActiveView,pActiveView;,pMap=axMapControl1.Map;/,获取控件中的地图,pActiveView=pMap as IActiveView;/QI,(,Or,pActiveView=(IActiveView)pMap;,),每个组件都有一个独一无二的标识,GUID,。接口的,GUID,称为,IID,,而组件类的,GUID,称为,CLSID,。,CLSID,还有一个文本别名,即所谓的,ProgID,,它是一个由项目名加组件类类名组成的字符串。,一个,COM,对象可以有多个接口,一个接口也可以被多个,COM,对象实现。,接口分为两种,即内向接口和外向接口。,内向接口,(Inbound Interface),是组织,COM,对象相关的方法和属性,,COM,对象必须实现所有的接口内容;,外向接口,(Outbound Interface),是用于组织,COM,对象相关的事件,,开发人员根据需要实现事件接口,。,接口可以从多个父接口继承(,C#,类呢),接口继承机制是非常有用的,在很多时候程序员可以将一个子接口类型的对象定义为父接口类型的对象,从而实现一般化的操作,如:,Private void CreateGeometry(,IPolygon,pPolygon),Private void CreateGeometry(,IGeometry,pPolygon),COM,对象的接口一旦被公布,就不能再修改,但可以增加新接口,在,ArcObjects,中有很多以“,2”,、“,3”,结尾的接口,都是这样发展的产物。,COM,组件必须被注册后才能使用。,COM,的缺陷:,由于,COM,对象可以被重用,这样多个程序可能共用一个,COM,对象,如果这个,COM,组件升级了,就很可能出现其中某个程序无法使用新组件,导致程序不能运行的情况,这种情况被称为,“,DLL HELL,”,(DLL,灾难),。,5 .NET,平台概述,针对,Windows,平台存在的缺陷,微软提出了全新的,.NET,技术体系,其主要包括,.NET Framework,Visual Studio.NET,Visual Studio.NET,是一套完整的开发工具,用于生成各种类型的应用程序,包括,ASP Web,应用程序,、,XML Web services,、,桌面应用程序,和,移动应用程序,。,.NET Framework,是生成、部署和运行 各种应用程序的平台。,.NET Framework,具有两个主要组成部分:,通用语言运行时(,Common Language Runtime-CLR,),是,.NET Framework,的基础,.NET Framework,类库。,.NET Framework,体系结构,Operating System,Common Language Runtime,(CTS,JIT,Memory Management),Base Class Library,(System.IO,System.Drawing,System.Threading),Data Classes,(ADO.NET,XML,SQL),Windows Forms,Web Applications Web Services,Web Forms ASP.NET Mobile,Common Language Specification,VB,C+,C#,J#,Operating System,Common Language Runtime,(CTS,JIT,Memory Management),Base Class Library,(System.IO,System.Drawing,System.Threading),Data Classes,(ADO.NET,XML,SQL),Windows Forms,Web Applications Web Services,Web Forms ASP.NET Mobile,Visual Studio.NET,5.1,通用语言运行时(,CLR,),通用语
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:Chap.01--ArcObjects开发基础(AE10+VS2010).ppt
    链接地址:https://www.zixin.com.cn/doc/13092929.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork