ArcEngine 开发培训.ppt_第1页
ArcEngine 开发培训.ppt_第2页
ArcEngine 开发培训.ppt_第3页
ArcEngine 开发培训.ppt_第4页
ArcEngine 开发培训.ppt_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

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

文档简介

课程目标,学习怎样开发ArcGISEngine学习使用ArcObjectsAPIs理解软件认证和许可理解怎样分发应用程序,配置/定制ArcGISDesktop产品;扩展ArcGIS结构与数据模型;使用ArcGISEngine在其他应用软件中嵌入GIS功能;使用ArcGISEngine构建自定义桌面应用程序;使用ArcGISServer构建网络服务和网络应用程序。,基于ArcGIS产品的开发方式,ArcGISEngine是一个创建定制的GIS桌面应用程序的开发产品。ArcGISEngine包括构建ArcGIS产品ArcView,ArcEditor,ArcInfo,和ArcGISServer的所有核心组件。使用ArcGISEngine可以创建独立界面版本(stand-alone)的应用程序,或者对现有的应用程序进行扩展,为GIS和非GIS用户提供专门的空间解决方案。ArcGISEngine提供了COM、.NET和C+的应用程序编程接口(API)。这些编程接口不仅包括了详细的文档,还包括一系列高层次的组件,使得临时的编程人员也能够轻易的创建ArcGIS应用程序。,ArcGISEngineDeveloperKit包括开发者建立解决方案所需的组件和工具集。ArcGISEngineRuntime运行定制的ArcGISEngine应用程序所需的基础设施。,ArcGISEngine的两种产品,ArcGISEngine开发包是一套地图制图组件和开发资源库,可以让编程人员为现有的应用程序添加动态制图和GIS功能,或者创建新的定制的制图和GIS解决方案。ArcGISEngine开发包不是面向终端用户的产品,而是专门为开发应用程序的人员设计的。开发人员基于ArcGISEngine建立应用程序,并将这些程序传递给终端用户。,(1)ArcGISEngine开发包,ArcGISEngine开发包为一个大型的ArcObjects组件集(ArcGIS就是建立在此软件组件之上)提供接口,并且包括了许多开发控件,用于创建一个高质量的制图用户界面。这些可视化控件与.NET控件、VisualJavaBeans和ActiveX控件一样使用。ArcGISEngine开发包还包括所有的开发资源库,以支持全面的开发任务。许多应用程序界面(COM,Java,.NET,和C+)除了拥有对象模型图表和ArcGISEngine每一部分的范例外,还提供一个集成化的帮助系统。ArcGISEngine开发包允许用户建立和测试ArcGISEngine应用程序中的包含在ArcGISEngineRuntime及其所有选项中的功能。部属这些应用程序需要一个ArcGISEngineRuntime许可和相应的选项。,ArcGISEngineRuntime包括了ArcObjects的核心组件,能够执行一个定制的ArcGISEngine应用程序,同时也必须随着定制程序一起安装。标准的ArcGISEngineRuntime许可提供了所有ArcGIS应用程序的核心功能。标准的ArcGISEngineRuntime可以通过使用下列许可选项而得到增强:产品名称产品概述关键特性产品新特征应用行业,(2)ArcGISEngineRuntime,ArcGISEngine提供了21个组件对象库,其中有基本的图形库esriGeometry、显示库esriDis-play、制图库esriCarto等,扩展的对象库有三维分析库esri3DAnalyst、网络分析库esriNetworkAnalyst等。这些组件对象库对ArcGIS底层功能进行了封装,使GIS开发人员能够集中精力按照应用需求进行开发。ArcGISEngine是按照COM标准实现的,支持跨平台和多种编程语言的开发,在Windows下支持C、Java、VB、Delphi和Net等,在UNIX和LINUX下支持C和Java,所以可以选择多种开发方式。同ArcObiects相比,ArcGISEngine是对ArcOb-iects的提炼和简化,Arcobjects是对ArcMap、ArcCatalog等应用程序的基础,所以结构庞大。脱离了ArcGIS桌面软件的ArcGISEngine结构更加合理,其提供的功能完全能够满足各种层次的开发需要,而且保持了开放性和扩展性。,是一组可嵌入的GIS组件,开发者可以用来开发定制自己的应用程序更容易开发部署分发是用来开发的产品,什么是ArcGISEngineDeveloperKit?,ArcGISEngineRuntimeRequiredtorunallEngineapplications由最终用户安装DifferentruntimeoptionsavailableArcGISEngineDeveloperKit由开发者使用包括所有类库和开发资源Alloptionsareenabled通过软件授权获得许可,ArcGISEngine产品和扩展,基本服务核心的功能,几何图形的操作数据访问访问矢量和栅格数据地图分析高级的空间和SQL查询地图展现标注,符号化,专题图渲染开发组件开发包,地图控件,制图控件和3D控件,工具条,TOC,能获得哪些ArcObjects功能?,可视化独立应用程序Mapping,drawing,selecting,editing,非可视化独立应用程序Utility,editing,updating,嵌入式,你能构建哪些类型的应用程序?,高级步骤1)准备数据2)确定应用程序的类型3)实现软件授权编码4)应用程序功能的开发实现5)配置和发布,ArcGISEngine开发过程,课程ArcGIS入门了解ArcObjects程序设计了解COM熟悉一种开发语言(VB,.NET,VC+,Java,C+)ArcObjects基本理解怎样开发ArcObjects程序熟悉开发资源,必备条件,ArcGISDeveloperHelp开发指南特定开发语言帮助(VB,VC+,.NET,Java)对象模型图书籍和技术文档开发例子开发工具Add-ins和工具ArcGIS开发在线(Online)最新开发信息,论坛,附录,开发资源,Engine开发需要:安装产品和开发包配置开发资源开发环境产品的许可,安装和配置,用.NET和Java需要其它的支持.NET.NETFramework1.1从MSDN上下载JavaJavaJ2SDK1.4.2从Sun网站下载设置JDK目录JAVA_HOME=c:j2sdkPATH=.;%JAVA_HOME%bin,1.安装以前:.NET和Java支持,COM库自动安装默认安装到其它ArcGIS产品的安装位置,2.ArcGISEngine安装,3.EngineDeveloperKit选项,特定语言组件COM.NETJavaNativeC+帮助文档工具示例,提供了在系统上解除ArcObjects锁定的方法过程1)购买ArcGISEngineDeveloperKit2)注册产品1)联系2)注册号在箱子里面3)ESRI发送给你一个授权文件(.ecp)4)手工运行认证向导可选地,你可以通过Internet动态地取得授权.ecpfile不会发送给用户,4.软件认证,允许你设计和开发ArcGISEngine应用.ecp包含了使得功能可用的代码Designerstandardenginegdbeditnetworkenginespatialengine3dengine对开发者来说可以获得所有级别的功能使用AuthorizationSummary.exe来检验license配置,ArcGISEnginedesignerlicense,3dengine,91,ecp387942929,none,PM0TRNA38P750YRJD135designer,91,ecp279970139,none,8SH4TK6Z4H5H9KB10029gdbedit,91,ecp226004169,none,6PA6HH4Z10SHC2EN0006networkengine,91,ecp694040297,none,1JPMSNA78ZY7RJE15091spatialengine,91,ecp351946892,none,LHJA840LLDHH8YAJM138standardengine,91,ecp172022654,none,2K1THK6Z4MLM02ZRH242,My.ecp,拷贝该段文本到记事本,另存为ecp文件,开发资源执行register_in_menu.regfile开发环境VB6和.NET注册add-ins(VB6和.NET)Java(NetBeans)指定正确的JDK设置环境变量来运行示例ARCENGINEHOME=C:ProgramFilesArcGISANTHOME=%ARCENGINEHOME%DeveloperKittoolsant引用EngineJARfiles到你的IDE配置JavaDoc,配置开发资源和开发环境,ArcGISEngine应用程序开发,ArcObjects库ArcObjectsEngineAPIsEngine应用程序开发许可,课程目标,共享ArcObjectsEngine包括了ArcObjects的核心功能,ArcGIS体系结构,共享AO库有些库不可以共享如:esriArcMapUI识别属于不同产品的库理解库的从属关系开发工具ArcGISDeveloperHelpESRIAutomaticReferenceadd-in,ArcGIS库,开发控件类库,containstheMapControl,PageLayoutControl,TOCControl(TableofContents),ToolbarControland,ReaderControltogetherwithacollectionofControlCommands.,由ArcObjects组成的ArcObjects是C+对象通过不同的APIs来访问本地接口是COM,ArcObjects,软件模块之间连接的协议跨语言二进制规范使用接口和组件来设计模型客户调用服务器并等待服务器的响应所有的通信都是通过接口来进行,COM,所有ArcObjectsCOM类型都在类型库中定义类型库是二进制的文件,描述:Classes:CLSIDs和ProgIDsInterfaces:IIDsConstants和enumerations接口的实现在DLL和EXE文件开发者工具ArcGISDeveloperHelp(VB6或VC+)LibraryLocator,EOBrowserandOleView,ArcObjects和COMAPI,COM类实现接口所有类都实现Iunknown接口管理对象生命周期成员:QueryInterface,AddRef和ReleaseCoclasses是可创建的,COMclasses,定义了函数和属性的一个逻辑组从IUnknown(默认)继承ArcObjects支持自定义interfaces通过QueryInterface(QI)来访问接口,COM接口,提供了一种激活客户端事件的途径连接到一个对象并接收它的出接口在ArcObjects中可获得多级别的事件例如:documentloadevents,mapdrawing,events,editingevents,COM出接口,类型库包括了所有COM类型每一个类型有一个全球唯一标识符(GUID)CLSID,IID,Progid,esriSystem.UID表示对象的GUID(例子代码)指定CLSID或ProgIDProjectName.ClassName),其它,ArcObjects和.NETAPI,所有ArcObjects类型在.NETassemblies(汇编集)中定义PrimaryInteropAssemblies(主互操作程序集)在导入COM类库后产生PIA暴露所有的类,接口和常量,作为.NET托管类需要.NETFramework1.1开发工具ArcGISDeveloperHelp(.NET)ILDASM.exe,所有.NET工程必须引用ESRIassembliesExample:ESRI.ArcGIS.Carto.dll导入命名空间来访问ArcObjects.NET类型Example:ESRI.ArcGIS.CartoAssemblies有从属,ArcGIS.NETassemblies和namespaces,.NET托管类代表ArcObjects对象有两种类型”Class”:在类中实现所有的接口和成员函数:代表真正的ArcObjects对象创建类实例化真正的COM对象,.NET类,.NET接口代表ArcObjects接口QueryInterface的不同技巧Implicitcasting(常用)Explicitcasting(语法复杂且易丢失数据,不常用)VB.NET中使用TypeOf以避免处理ImplicitCasting带来的InvalidCastException异常(C#中通常使用as符),.NET接口,连接COM对象和接收事件出接口后面加上“事件”例如:IActiveViewEvents_Event技巧WithEvents:用来表示默认出接口Delegate:访问非默认出接口,.NET出接口,异常处理应该明确处理所有COM异常垃圾收集可能需要调用ReleaseCOMObject,其它,ArcGIS产品许可模型,ArcGISEngine和Desktop在功能上相似两级许可产品ArcView,ArcEditor和ArcInfoEnginestandard和GDBUpdate扩展Spatial,3D,StreetMapUSA,所有的应用必须在运行时初始化一个产品许可使用esriSystem:AoInitialize初始化产品许可可获得的产品许可ArcViewArcEditorArcInfoEngineEngineGeoDB,ArcGISEngine运行许可:产品,应用程序也可以初始化一个扩展许可使用AoInitialize来管理扩展许可可获得的扩展许可3DAnalyst,SpatialAnalyst,和StreetMap,ArcGISEngine运行许可:扩展,应用程序能初始化一个ArcGISEngine或Desktop许可使用IAoInitialize:IsProductCodeAvailable可能需要提示用户,消耗ArcGISEngine或Desktoplicenses,步骤1.用IsProductCodeAvailable方法确认是否可获得产品.2.用IsExtensionCodeAvailable确认可以获得什么扩展.3.用产品许可初始化应用程序.4.如果需要,使用CheckOutExtension和CheckInExtensionmethods执行扩展检出和检入.5.关闭产品许可.,运行时许可的生命周期,许可规则,许可初始化必须在所有ArcObjects代码运行以前进行在程序运行期间产品许可只能被确认一次扩展许可可以在需要时被检入检出不能合并或混合产品许可和扩展许可应该写代码来查询可获取许可的级别并从中检出许可尽可能使用最低级别的许可,步骤1.创建工程2.引用ArcGIS类库3.初始化许可,创建Engine应用程序:.NET,创建一个WindowsapplicationVB.NETorC#工程名作为命名空间*,步骤1:创建一个独立工程,手工加入ESRIassembly引用使用工具ESRIAutomaticReferencesadd-in在所有的类中导入引用,步骤2:引用ArcGIS类库,手工实现代码使用开发工具ESRILicenseInitializeradd-in,步骤3:初始化许可,制图控件应用开发,ArcGISEngine控件控件框架制图控件和对象框架控件命令和工具管理地图文档,课3概述,制图控件:MapControl和PageLayoutControl框架控件:TOCControl和ToolbarControlReaderControl:ReaderControl所有控件都是通过Carto来访问ArcObjects,ArcGISEngine控件,控件为开发者提供了一个开发的框架封装了ArcObjects的功能使用propertypages易于快速入门设置伙伴控件访问数据加载命令和工具,开始使用控件,MapControl封装Mapcoclass绘制单DataFrame用来分析和浏览暴露鼠标和绘制事件装载地图文档和其它文件设置当前工具库MapControl.ocx,MapControl控件,PageLayoutControl封装PageLayoutcoclass绘制地图元素创建版面视图打印设置当前工具加载地图文档库PageLayoutControl.ocx,PageLayoutControl控件,IMapControl3/IPageLayoutControl2CheckMxFileLoadMxFileReadMxMaps,制图控件:数据访问,IMapControlEvents/IPageLayoutControlEventsOnAfterDraw,OnBeforeScreenDraw,OnAfterScreenDraw,OnExtentUpdated,OnMouseDown/Up/Move,OnKeyDown/Up,OnOleDrop,OnViewRefreshed,OnMap/PageReplaced,制图控件:事件,通过Map你可以访问所有的对象LayersRenderersSymbolsFeatureClassesWorkspaces,MapControl对象,提供直接访问Map和Layer对象的方法属性IMapControl3AddLayerFromFile,AddShapeFile,AddLayer,DeleteLayer,MoveLayerTo,Layer,Map,使用map和layers属性,简化和地图相互作用的成员IMapControl3Drawshape,Flashshape,DrawText,TrackCircle,TrackLine,TrackPolygon,TrackRectangle,使用MapControl控件的显示函数,控制显示的可视区域可以设置多种shapes(geometries)IMapControl3VisibleRegion,设置地图的可视区,可以为图层设置提示步骤1.设置ILayer:ShowTips2.在鼠标移动时显示提示文本使用ToolTip控件来显示提示,在地图上显示提示(tips),使用PageLayout来访问其它对象Elements(例子代码MapElements)FrameElementsMapFrameMapSurroundFrameGraphicElementsPictureElements,PageLayoutControl对象,关于elements有很多高级的成员函数IPageLayoutControlAddElementFindElementByNameLocateFrontElementGraphicsContainer,使用elements,使用SelectionTracker来显示elements两步选择元素绘制OnAfterDraw,显示选择的elements,IPageLayoutControl2PagePrinterPrinterPageCountPrintPageLayout,打印版面视图,MXD文件是结构化的存储文档通常由ArcMap创建包含持久对象Maps,Layers,PageLayout,MapDocument使以下成为可能读取mxd,lyr,mxt,andpmffiles写新的mxdfiles访问mapdocument的内容,使用地图文档,读取和写地图文档的成员函数Open:打开已经存在的地图文档(mxd,mxt,lyr,pmf)SaveAs:保存当前文档到新的文件,读取和写地图文档的成员函数New:用给定的名称(mxd)创建地图文档Save:保存内容到当前文档,IMapDocument:打开和保存,IMapDocument:新建和保存,控件可以直接引用对象(MapandPageLayout)或访问自己的拷贝Reference直接Copy使用ObjectCopy避免共享引用深度复制,访问地图文档中的对象,要设置地图文档的属性,必须替换Map和/或PageLayout对象当你想要存储当前所做的修改时调用VisibilityExtentSymbology,在MapDocument中替换内容,框架控件,ToolbarControl和TOCControl被设计成和其它控件协同工作通过一个buddy控件自动捆绑在一起根据彼此的状态通信和同步例子:activetool,layervisibility,显示所有的图层和符号Simplesymbols,renderersGrouplayers控制图层可视性必须调用SetBuddyControl库TOCControl.ocx,TOCControl,TOCControl属性Buddy,SetBuddyControl,SetActiveViewLabelEdit,LayerVisibilityEdit:默认是自动的MousePointer,ITOCControl成员,LabelingMousemoveKeypressHitTestX和Y鼠标位置ItemTypeBasicMapLayerUnk:ILegendGroupData:Legendclassindex,TOCControl事件,自定义commands,tools和menus的容器允许命令和以下控件对象进行交互Map,PageLayout,Scene,和Globe必须调用SetBuddyControl库ToolbarControl.ocx,ToolbarControl,使用函数HitTest来查询点击的工具项鼠标事件OnMouseDownOnMouseUpOnMouseMoveOnDoubleClick键盘事件OnKeyDown和OnKeyUp按钮和工具事件OnItemClickOnDoubleClick,IToolbarControl事件,系统提供的控件命令,工具,工具条,和菜单命令和工具漫游,缩放,打开地图,图形绘制,工具条要素选择,绘图,地图导航,和pagelayout菜单要素选择和地图浏览库esriCommandControls.olb参考对象模型图或技术文档,制图控件命令,三种方式创建一个新的实例使用ProgID字符串创建并定义一个UID(传入ProgID或CLSID参数)可以在技术文档“ControlsCommands”找到内置的命令,菜单,和工具条,加载内置的命令,菜单和工具条,三方法AddItem,AddToolbarDefAddMenuItem多参数UID,subtype,index,begingroup,groupspacing,style,加载项的不同方法,ArcReaderControl属于ArcGISDesktop需要有ArcGISPublisherextension才能使用能构建和分发独立应用程序需要安装ArcReaderReaderControl属于ArcGISEngine需要ArcGISEngineRuntime,ArcReaderControlvs.ReaderControl,3D控件的开发,ArcGISEngine3D库和控件3D控件命令和工具3D文档和数据源相关3D对象关键方法和属性,课4概述,SceneControl封装了SceneViewer类管理GeneralappearanceSceneScenegraphCameraproperties设置当前工具加载scene文档库SceneControl.ocx,Scene控件,GlobeControl封装了GlobeViewer类管理GeneralappearanceGlobeGlobedisplayGlobecameraproperties设置当前工具加载globe文档库GlobeControl.ocx,Globe控件,命令和工具Pan,zoom,fly,setobserver,select工具条ControlsSceneSceneToolbar库esriSceneControl.ocxesri3DAnalyst.olb参考对象模型图,技术文档或Categories.exe,SceneControl控件命令,命令和工具Pan,zoom,fly,target,select工具条ControlsGlobeGlobeToolbarControlsGlobeRotateToolbar库esriGlobeControl.ocxesriGlobeCore.olb参考对象模型图,技术文档或Categories.exe,GlobeControl控件命令,ISceneControl/IGlobeControlCheckSxFile/Check3DFileLoadSxFile/Load3DFileShowSceneTips/ShowGlobeTipsTipStyleTipDelay,从mxd,lyr,pmf文件访问图层使用ObjectCopy或IBasicMap,加载3D文档,访问MapDocument,加载任何实现了IName的对象例子:FileName-lyr,tif,jpg,shp,通过LayerFactoryHelper访问数据,与Scene和Map不同,所有的数据源必须定义了空间参考空间参考可以是任何一种地理的或投影的坐标系统在Globe9.0,有些数据源是不被支持的跟踪分析图层测量图层地理统计图层不能直接支持TIN;需要转换为栅格,Globe支持的数据源,ISceneControlEvents/IGlobeControlEventsOnDoubleClickOnSceneReplaced/OnGlobeReplacedOnKeyDown/UpOnMouseDown/Move/UpITOCBuddyEventsActiveViewChanged/Replaced,3Dcontrols:事件,ISceneGraphEvents/IGlobeDisplayEventsActiveViewerChangedAfterDraw/BeforeDrawInteractionStoppedTileOverflow/VectorOverflowViewerAdded/ViewerRemoved,SceneGraph/GlobeDisplay事件,IGlobeAddLayerType:多种图层类型图层类型高程数据:使用有高程的栅格数据来定义球体表面纹理数据:覆盖在球体表面漂浮数据:使用偏移来显示,高出或低于球体表面也可以设置背景天空颜色,空间颜色,颜色衰减,使用Globe图层,分配一个垂直高度,抬高或压低球体上的图层IGlobeHeightPropertiesBaseOption:esriGlobeLayerBaseSelf(初始图层高度)Offset:高出或低于球体表面的高度,Globe:改变漂浮图层的偏移值,四个基本步骤1.创建或获取动画轨迹2.捕捉关键帧3.播放动画4.保存和加载动画文件,Globe:记录和播放动画,动画轨迹是关键帧的容器你可以使用已经存在的动画轨迹访问已存关键帧增加/移除关键帧通过关键帧导航IAnimationTracksFindTrack:字符串名称(如“CaptureView”),Globe:查找已存在的动画轨迹,创建AnimationTrack一个新实例设置AnimationType和名称从ActiveViewer获取摄影机并把它放在AnimationTrack上加载动画轨迹到AnimationTracks,Globe:创建新的动画轨迹,关键帧即时记录了动画对象在一个特定位置的属性和行为IKeyFrame:CaptureProperties:从一个对象拷贝属性(如GlobeCamera),Globe:捕捉关键帧,你可以使用绘制事件来捕捉关键帧最小化捕获的帧数监听每个IGlobeDisplay:AfterDraw事件只有当globe处于非导航模式时捕捉,Globe:用事件捕捉关键帧,应用轨迹到3D视图IAnimationTracksApplyTracks传入共用时间和持续时间参数共用时间持续时间IViewers3DRefreshViewers,Globe:播放动画,容易保存和加载动画IBasicSceneSaveAnimation:保存当前动画轨迹LoadAnimation:加载动画轨迹,Globe:保存和加载动画文件,控件的定制和扩展,ToolbarControl框架定制命令和工具定制COM命令,工具,工具条,和菜单定制COM扩展定制对话框ToolbarMenus,课5概述,定制和扩展的类型,可以有多种不同定制方法允许用户在运行时增加和移除命令(通过CustomizeDialog)自动保存和加载命令到工具条上运行时创建和显示菜单可以实现不同的扩展创建定制的命令,工具,菜单,和工具条定制扩展,ToolbarControlToolbarItemsCommandPoolToolBarMenuToolbarItemsCommandPoolCustomizeDialog,ToolbarControl框架,ToolbarControl为每一个加载的项创建一个ToolbarItem类用于管理相应的项目项目类别命令,工具,工具控件,和工具条菜单,ToolbarItems工具条项目,管理命令的集合只有两个对象直接访问命令池ToolbarControlToolbarMenu提供低水平的访问ICommandPool:CreatedICommandPool:ExistsICommandPoolEdit:CallOnCreateICommandPoolEdit:Hook开发者通常不使用,CommandPool命令池,方法1:传递一个新命令对象的实例NewCommandItemiscreatedforthisobjectNotshared,方法2:传递命令的UIDNewCommandItemiscreatedifitdoesnotexistAllreferenceswillsharetheinstance,项目怎样被加载到命令池中,ToolbarItems封装了commandsIToolbarItemCommand:提供对command的访问Style:控制command的风格UID:command的全局唯一ID号,ToolbarItems和Commands,框架提供了创建自定义command的机制无缝地加载到ToolbarControl作为一个CommandItem加载外观和行为和其它项一样执行任何ArcObjects代码步骤1.创建一个类2.实现ICommand3.将类加载到工具条上,实现定制命令,当command被创建属性就可存取属性ICommandNameCaptionCategoryTooltipMessageBitmapHelpContextHelpFile,定制命令:属性设置,Hook(钩子)是一个对创建command的对象的向后引用可以是不同的对象ToolbarControl,MapControl,PageLayoutControl,当command创建的时候传递进来ICommandOnCreate,定制命令:访问hook(钩子)对象,提供了一个访问内部对象的普通方法简化了编码IHookHelperActiveViewFocusMapHookOperationStackPageLayoutGlobe和Scene有属于自己的hookhelperclasses,定制命令:HookHelper类,使用属性限制command的可用性ICommandEnabled:设置command的可用与不可用Checked:设置按钮的选中状态ToolbarControl会频繁调用这些属性UpdateInterval:在ToolbarControl上定义更新间隔值,定制命令:控制可用性,Baseclasses可以用来定制命令需要重载某些成员(如OnCreate).NETESRI.ArcGIS.Utility.BaseClasses.BaseCommandJava目前9.0不支持BaseClasses,定制命令:Baseclasses,框架提供了创建自定义tools的机制无缝地加载到ToolbarControl作为CommandItems加载允许与界面的交互步骤1.创建一个类2.实现ICommand和ITool3.把类加载到工具条,实现定制工具,IToolOnMouseDownOnMouseMoveOnMouseUpOnKeyDownOnKeyUpOnContextMenuDeactivateCursor,定制工具:实现成员,发布ArcGISEngine应用程序,开发和发布的过程ArcGISEngineRuntime产品MSI安装程序测试发布发布方案,Lesson6概述,1.开发应用程序安装并授权ArcGISEngineDeveloperKit代码编写2.测试应用程序安装并授权ArcGISEngineRuntime测试应用程序3.创建一个setup和发布的程序将ArcGISEngineRuntime和你的应用程序打包配置所有的数据,MXDs,和所需的符号库4.安装并授权最终用户安装软件并授权,开发和发布的过程,开发者在ArcMap中可以创建自己的StyleSets(.style)ServerStyles随着Engine一起安装ServerStyleGallery对象能够访问stylesMakeServerStyles工具可以转换定制的.style文件,创建和分发stylesets,ArcGISEngineRuntime必须安装在你的应用程序运行的每一台机器上也包括安装了ArcGISDesktop和Server的机器随ArcGISEngineDeveloperKit的购买而自由分配,ArcGISEngineRuntime产品,一个MSI包,它会安装所有必须的特征来支持ArcGISEngineapplications位于ArcGISEngineRuntimeCD上包含什么内容?ArcGISEngineLibrariesandcomponentsArcGISEngineJavaRuntimeJavaArchivesArcGISEngine.NETRuntime.NETAssemblies大约150MB安装以后约270MB,ArcGISEngineRuntime的安装,MSI可以被放在一张CD盘中,你也可以把它作为你的安装程序的一部分CD分发的应用程序光盘最终用户从光盘上安装runtime运行安装程序Scriptedsetup(MSI安装后再运行)批处理文件Managedsetupruntime必须成功运行,配置ArcGISEngineRuntime,操作系统WindowsNTSP6a,2000,XPProfessional,2003ServerWindowsInstallerversion2.0inst

温馨提示

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

评论

0/150

提交评论