ArcGIS-Engine开发培训PPT课件.ppt_第1页
ArcGIS-Engine开发培训PPT课件.ppt_第2页
ArcGIS-Engine开发培训PPT课件.ppt_第3页
ArcGIS-Engine开发培训PPT课件.ppt_第4页
ArcGIS-Engine开发培训PPT课件.ppt_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2020 3 25 ArcGISEngine开发基础 张文元 2020年3月25日 目录 系统开发实例 5 ArcGISEngine介绍 ArcGIS框架 可编辑 ArcGISEngine介绍 ArcGISEngine是用于构建定制应用的一个完整的嵌入式GIS组件库 使用ArcGISEngine可以创建独立界面版本的应用程序 也可以对现有的应用程序进行扩展 为GIS和非GIS用户提供专门的空间解决方案 开发者能将ArcGIS功能集成到一些应用软件 还可以为用户提供针对GIS解决方案的定制应用 可编辑 ArcGISEngine简介 ArcGISEngine可以在没有安装任何ArcGIS桌面软件的环境下提供所有GIS功能 是一组设定良好的跨平台 跨语言部件 它可以运行在Windows UNIX和Linux平台上 并支持C VB NET Java等一系列应用软件开发环境 ArcGISEngine提供各种控件 对象和工具 支持扩展模块GeoDatabase编辑 Raster和3D分析和可视化功能 提供多种开放的API函数 具有跨平台的特性 ArcGISEngine能做什么 ArcGISEngine与ArcObjects ArcObjects是ESRI提供的一种集成的面向对象的地理数据模型的软件组件库 它提供了ArcGIS中全部的功能 是开发GIS应用程序的基础 ArcObjects不是一种独立的商业软件 而是依附在ArcGISDesktop产品中的软件开发包 使用ArcObjects开发的应用系统不能脱离ArcGISDesktop桌面环境单独运行 ArcGISEngine可以在没有安装任何ArcGIS桌面软件的环境下提供所有GIS功能 是一组设定良好的跨平台 跨语言部件 AE与AO AO版本包括了所有的类库 其中包括ArcMap ArcMapUI ArcCatalog ArcCatalogUI等组件库 这些组件库必须在安装了桌面版软件后才能使用 出于产品策略上的考虑 ESRI将AO中的某些组件集单独封装出来 起名为AE 使用AE开发的软件需要在一个RUNTIME下运行 而不需要安装ArcGIS软件 AE只是AO的一个子集 使用AE开发的软件 在AO环境中使用没有问题 但是使用AO开发的程序 如果使用的组件库不被包含在AE中 就无法使用 AO提供的控件只有MapControl和PageLayoutControl两个 而AE的控件就丰富得多 ArcGISEngine组成 ArcGISEngineDeveloperKits开发 创建自定义的GIS和制图应用的工具包ArcGISEngineRuntime部署 ArcGISEngine应用程序的运行环境 AE组成 ArcGISEngine安装 ArcGISEngine授权 ecp文件 第二部分 ArcGISEngine体系结构 主要类库 System库 System库是ArcGIS结构中最低级的对象库 该类库包含的组件为组成ArcGIS的所有其它类库提供服务 SystemUI库 包含了能够扩展的用户接口组件的接口定义 包括 ICommand ITool IToolControl接口 开发者可以使用这些接口扩展UI组件 Geometry库 处理存储在要素类或者是其他图形元素中的几何对象 形状 要素等 主要类库 Display类库 包含了用于显示GIS数据的对象 包括了能够负责图像输出的显示对象 还包括了控制实体显示属性的符号和颜色的对象 Output类库 包含了生成输出所必需的对象 通常是从地图或页面布局输出到打印机 绘图仪 或导出到文件中 GeoDatabase类库 包含了所有与数据访问相关的定义的类型 Carto库 包含了用于显示数据的对象 对象模型图 1500多个类 分成多个逻辑子集 1600多个接口对象模型图有什么用 这个类支持哪些接口 要完成某项工作需要用到哪些对象 如何引用这个类的一个对象 AE对象模型图 OMD 不能实例化 可以实例化New对象 不能直接New对象 但可作为另一个类的属性或对象来实例化 OMD类型之间的关系 关联 表示类之间存在关联继承 表示子类继承了父类共享的方法和属性 此外子类有其自己的方法和属性实例化 就是一个类有一个方法可以申请一个对象组合模式 代表整体与部分的关系 Interface说明 属性 只读 只写 读写 方法 函数 引用传递 获取 FindLibrary C ProgramFiles ArcGIS DeveloperKit Tools LibraryLocator exe程序 ArcGIS快捷方式AEHelp 第三部分 ArcGISEngine开发 AE应用程序开发过程 设计或准备好数据创建应用程序 不同语言 执行软件授权代码编写应用程序功能部署发布 命名空间 ArcGISEngine控件 封装了10种控件 MapControl MapControl 在MapControl中 其功能属性可以通过它的General Map Color和Picture等PropertyPages来快速地修改 而无需编写代码 在MapControl中可以以这种可视化的形式来设计控件本身及其内容的属性 使用起来更为方便 提高开发人员的开发效率 PageLayoutControl PageLayoutControl MapControl和PageLayoutControl MapControl控件和PageLayoutControl控件对应于ArcMap应用的 data 和 layout MapControl控件封装了Map对象 PageLayoutControl控件封装了 PageLayout 对象 通过ArcMap制作的map文档可以被加载到MapControl控件和PageLayoutControl控件中 这样可以节省组成图形的开发时间 ArcGISEngine3D控件 ArcGISEngine提供两种用于三维显示的空间容器 SceneControlGlobeControl在这些控件中动态加载矢量数据 DOM和DEM数据 即可生成丰富的三维场景 SceneControl控件 SceneControl控件是与ArcScene桌面应用的3维视图相对应的 SceneControl控件封装了SceneViewer对象 SceneControl SceneControl Scene相关接口 Scene组件类是一个矢量 栅格和图形数据显示与处理的容器 SceneGraph组件类是一个记录在Scene中出现的数据和事件的容器 GlobeControl控件 GlobeControl控件是与ArcGlobe桌面应用的3维视图相对应的 GlobeControl控件封装了GlobeViewer对象 GlobeControl控件 GlobeControl命令 Scene和Globe 工具集 Scene Globe 标准 三维控件 GlobeControl控件和SceneControl控件都加强了三维导航的能力 允许用户在3维视图中移动和进行3维数据的可视化显示 而不需要使用现有的控件命令和定制命令 为了使用这些加强的导航能力 必须通过属性页或者是编程实现Navigate属性 用户可以使用鼠标左键进行3维显示的前后左右移动导航 使用右键实现视图的放大缩小 框架控件 TOCControl TOCControl可以作为伙伴控件使用 这些伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 这种伙伴控件可以在设计时通过TOCControl控件的属性页来设置 也可以在编程时通过方法SetBuddyControl来设置 TOCControl使用伙伴控件来显示一个树状的视图 包括图层和符号内容 并且保持它的内容与伙伴控件同步 ToolbarControl ToolbarControl控件也可以作为伙伴控件使用 它的伙伴控件可能是MapControl PageLayoutControl SceneControl GlobeControl或ReaderControl 这种伙伴控件可以在设计时通过ToolbarControl控件的属性页来设置 或者是在编程时通过使用SetBuddyControl方法来设置 ToolbarControl控件具有一组命令 工具 工具控件 以及可以和伙伴控件的显示情况相联系的菜单 LicenseControl 应用程序授权代码初始化也可 地图加载 属性页设置代码加载 IfAxMapControl CheckMxFile sFileName Then 文件有效性检验AxMapControl LoadMxFile sFileName EndIf 地图文档操作 保存地图文件 DimpMxdConAsIMxdContentspMxdCon pMapControl Map 创建新的地图文档DimpMapDocumentAsIMapDocument 地图文件接口pMapDocument NewMapDocumentpMapDocument New sFilePath pMapDocument ReplaceContents pMxdCon 图层操作 地图图层类型 GeoDatabase 工具和命令 包括100多种工具和命令 ICommand ITool开发 由模板类生成 二者区别 对应控件 类入口 参数传递hook 图标和光标设置IHookHelper能获取哪些对象基本属性和方法外的其他属性和方法 Enabled Deactivate OnDblClick 如何调用 EngineToolbar 自定义 ICommand ITool中MapControl获取 Privatem pMapControlAsIMapControl3PublicOverridesSubOnCreate ByValhookAsObject If m hookHelperIsNothing Thenm hookHelper NewHookHelperClassIfNothookIsNothingThenm hookHelper Hook hookEndIfIfTypeOfm hookHelper HookIsIToolbarControlThenm pMapControl CType CType m hookHelper Hook IToolbarControl Buddy IMapControl3 ElseIfTypeOfm hookHelper HookIsIMapControl3Thenm pMapControl CType m hookHelper Hook IMapControl3 EndIfEndSub 自定义调用 Menu Button Command调用 DimclsNextExtentAsclsGoToNextExtentclsNextExtent NewclsGoToNextExtentclsNextExtent OnCreate Me MapControl Object clsNextExtent OnClick Tool调用 DimclsBufferAsclsBufferToolclsBuffer NewclsBufferToolclsBuffer OnCreate Me MapControl Object Me MapControl CurrentTool clsBuffer 鹰眼图功能实现 鹰眼图数据 Mxd Layer 视图范围联动 事件 当前视图范围标记 Geometry库 点和点群 点是最基本的几何形体 利用IGeometryCollection或IPointCollection接口 任何类型的集合形体都可以由点的集合构成 DimpPointAsIPointpPoint NewPointpPoint X 300pPoint Y 450DimpMultiPtsAsIPointCollectionSetpMultiPts NewMultiPointpMultiPts AddPointpPoint Feature和Geometry Feature的Shape属性返回要素几何形体 Shape的Evenlope属性返回一个形体的最小外接矩形 这个属性只读 Mapcontrol Extent pFeature Shape Envelope Display库 地图提示 当鼠标放到要素上时会显示相应的内容 DimpLayerAsILayerpLayer Me AxMapControl Map Layer 0 pLayer ShowTips TrueAxMapControl ShowMapTips True 地图标注 DimpLayerAsILayerpLayer Me AxMapControl Map Layer 0 DimpFeatLayerAsIFeatureLayerpFeatLayer pLayer pFeatLayer DisplayFieldDimpGeoFeatLayerAsIGeoFeatureLayerpGeoFeatLayer pFeatLayerpGeoFeatLayer DisplayAnnotation true 地图刷新AxMapControl ActiveView PartialRefresh 空间数据选择 IMap SelectByShapeISpatialFilterIFeatureSelection SelectFeatures 空间数据查询 属性查空间要素空间查询属性 Identify功能演示 DimpQueryFilterAsIQueryFilterpQueryFilter NewQueryFilter pQueryFilter SubFields pQueryFilter WhereClause FID 5 pFeatCursor pFeatCls Search pQueryFilter False DimpSpatialFilterAsISpatialFilterpSpatialFilter NewSpatialFilterpSpatialFilter Geometry pGeometrypSpatialFilter SpatialRel esriSpatialRelEnum esriSpatialRelIntersectspFeatCursor pFeatureClass Search pSpatialFilter false pFeature pFeatCursor NextFeaturepFeature F

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论