- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用.net或Java进行ArcGIS Engine开发课件
使用.Net或Java进行ArcGIS Engine开发 ;ArcGIS Engine 概览
基于.Net或Java构建Engine应用程序
版本迁移
高级功能开发;ArcGIS Engine 概览;ArcGIS Overview;ArcObjects是一套组件的统称
ESRI用ArcObjects开发软件及应用
开发者可以使用ArcObjects来自定义软件或构建自己的应用系统
ArcObjects是ArcGIS的核心;ArcGIS产品与ArcObjects;用于构建定制应用的一个完整的嵌入式GIS组件库
ArcObjects中的核心类库及组件是AO的一个子集
开发语言上支持
COM
.Net
Java
C++;ArcGIS Engine Developer Kit
开发者用于创建自定义的GIS和制图应用的开发包
ArcGIS Engine Runtime
运行自定义的Engine应用的可分发的ArcObejcts
ArcGIS Desktop 9.2后其中已经包含ArcGIS Engine Runtime
开发者与最终用户部署都需要安装
;基本服务
应用层需要用到的ArcObjects核心对象
几何图形的操作与显示
数据访问
地理数据集,矢量,栅格数据
地图分析
属性、空间查询,地理数据处理
地图显示
渲染、标注、制图表达
开发组件
各种应用层面上的Control及CommandsTools;ArcGIS Engine总览;ArcGIS Engine应用程序类型;基于.Net或Java构建Engine应用程序;安装Visual Studio
2005或2008
.NET2.0 SDK和Runtime(3.0WPF)
安装ArcGIS Engine Runtime 和SDK for .NET
Runtime也需要独立注册许可
Runtime与SDK许可差别:是否有Designer
ArcGIS Desktop已经包含了Runtime
;帮助文档
示例以及代码片段
Visual Studio IDE集成
开发控件
预先创建好的Commands、Tools、Toolbars和Menus;什么是WPF?
客户端展现技术
极炫的可视化效果
设计理念:用户界面和程序实现分离
在ArcGIS Engine开发中使用WPF
将WPF用户控件放到AE应用程序中
将AE控件放到WPF应用程序中;创建一个WPF应用程序
添加AE引用
将AE控件对象装载在
WindowsFormsHost
globeControl = new AxGlobeControl ();
mapHost.Child = globeControl;
globeControl.BackColor = System.Drawing.Color.Black;
globeControl.BorderStyle = 0;
;引用 ESRI.ArcGIS.Geoprocessor
所使用工具的引用,如ESRI.ArcGIS.AnalysisTools
GP调用方式
使用GP工具的名字
GP.Execute(kriging_3d, pArray, null);
使用AE提供的GP类
SpatialAnalystTools.Idw idw = new ESRI.ArcGIS.SpatialAnalystTools.Idw();
GP.Execute(idw, null);
GpDispatch反射方式调用
;调用GP的优越性
高效率、方便易用
Tips
返回GP执行结果信息用于排查错误
数据存储在SDE库中的时候如何调用GP?;Engine .NET API都是直接通过RCW(runtime callable wrapper)方式调用AO底层的组件,这些托管组件由CLR(Common Language Runtime)来管理,即通过GC(Garbage ollection)机制自动回收;
AE for .NET释放方法
ESRI.ArcGIS.ADF.ComReleaser.ReleaseCOMObject(comObject);
ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown() ;
CLR中的释放方法
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
;常见问题——组件注册;AE中的COM组件都是STA线程模式的(强线程相关性) ,跨线程使用AE的Com对象会有问题;
强烈不推荐在AE中采用多线程操作AE对象,因此一般将一些独立的耗时较长
文档评论(0)