利用arcgis engine、vs .net和windows控件开发gis应用13867

上传人:腾**** 文档编号:40466679 上传时间:2018-05-26 格式:DOC 页数:13 大小:91.50KB
返回 下载 相关 举报
利用arcgis engine、vs .net和windows控件开发gis应用13867_第1页
第1页 / 共13页
利用arcgis engine、vs .net和windows控件开发gis应用13867_第2页
第2页 / 共13页
利用arcgis engine、vs .net和windows控件开发gis应用13867_第3页
第3页 / 共13页
利用arcgis engine、vs .net和windows控件开发gis应用13867_第4页
第4页 / 共13页
利用arcgis engine、vs .net和windows控件开发gis应用13867_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《利用arcgis engine、vs .net和windows控件开发gis应用13867》由会员分享,可在线阅读,更多相关《利用arcgis engine、vs .net和windows控件开发gis应用13867(13页珍藏版)》请在金锄头文库上搜索。

1、利用 ArcGIS Engine、VS .NET 和 Windows 控件开发 GIS 应用 Dixon 整理此过程说 明适合那些使用.NET 建立和部署应用的开发者,它描述了使用 ArcGIS 控件建立和部署 应用的方法和步骤。你可以在下面的目录下找到相应的样例程序: DeveloperKitSamplesDeveloper_Guide_Scenarios ArcGIS_EngineBuilding_an_ArcGIS_Control_ApplicationMap_Viewer 注: ArcGIS 样例程序不包含在 ArcGIS Engine 开发工具包“典型”安装方式中。如果你没有安 装它

2、们,则可以重新运行开发工具包安装向导,选择“定制”或“修改”方式,并选择软件开 发包下的样例项进行安装。一、项目描述利用视窗控件建立应用程序的目标是演示并使你 熟悉在微软 Visual Studio .NET API 中使用标准 ArcGIS 控件开发和部署 GIS 应用所需 的步聚。本节中使用了 Visual Studio .NET 开发环境中的 MapControl、 PageLayoutControl、TOCControl 和 ToolbarControl 等视窗控件。COM、Java 和 C+程序员应该参考如下章节:利用 ActiveX 建立应用程序、利用可视化 JavaBeans 建

3、 立应用程序、建立命令行方式的 Java 应用和建立命令行方式的 C+应用。本节演示了创 建查看 ArcMap 和 ArcGIS 桌面应用图形文档的 GIS 应用程序的步骤。此节包含了以下 技术: l 在微软 Visual Studio .NET 中加载和嵌入 ArcGIS 控件。 l 向 PageLayoutControl 和 MapControl 中加载图形文档。 l 设置 ToolbarControl 和 TOCControl 的绑定控件。 l 处理窗口缩放。 l 向 ToolbarControl 添加 ArcGIS Engine 命令和工具。 l 创建弹出式菜单 l 在 TOCCont

4、rol 中管理标签编辑 l 在 MapControl 中绘制图形。 l 为 MapControl、PageLayoutControl 和 ToolbarControl 创建定制工具。 l 用户化 ToolbarControl。 l 在 Windows 操作 系统中部署应用。二、概述本方案使用微软 Visual Studio .NET 开发环境加以实现,并 使用了 ESRI interop 程序集(Interop Assemblies),它服务于被放置在.NET 窗体上的、 位于.NET 窗体控件(.NET Windows Controls)中的 ArcGIS 控件,这些程序集在托管的. NET

5、 代码和非托管的 COM 代码之间起了桥梁作用。对 COM ArcGIS 控件(COM ArcGIS Controls)成员的引用都要经过 Interop 程序集,然后到达实际的 COM 对象。同样,也 从 COM 对象经过 Interop 程序集到达.NET 应用程序。每个 ArcGIS Engine 控件具有方 法、属性与事件,它们能够被控件嵌入的容器(如,.NET 窗体)访问。每个控件对象及其功 能可以与其他 ESRI ArcObjects 和自定义控件组合使用,创建用户化的客户应用程序。 此方案是使用了 C#和 Visual Basic .NET 两种语言创建,但以下技术实现集中倾向于

6、 C#方案。许多开发者可能会感觉用 Visual Basic .NET 更舒服,那是因为他们已经比较 熟悉 Visual Basic 6.0 代码,然而,对于 Java 和 C+程序员来说,他们将会觉得对 C# 程序语言的语法更熟悉。无论你使用哪种开发环境,对于使用 ArcGIS 控件的好坏既依赖 于你的编程环境技术,也依赖于你所掌握的 ArcObjects 技术。在本方案中,使用 ToolbarControl、TOCControl、PageLayoutControl 和 MapControl 来为应用程序提 供用户界面。这些 ArcGIS 控件与其他 ArcObjects 和 ArcGIS

7、Engine 命令被开发者一 起使用,用来创建一个 GIS 视窗应用。三、设计此方案在设计时,首先强调了 ArcGIS 控件如何互相之间进行交互,其次,向开发者解释说明了 ArcGIS 控件对象模型的一部分。 每个.NET ArcGIS Engine 控件包含有一套能够被嵌入其内的窗口即时访问的属性页。这 些属性些为控件属性和方法的选择提供了捷径,并且允许开发者不写任何代码即可创建一 个应用程序。本方案并没有使用属性页,而是采用写代码的方式建立应用程序。关于属性 页的更进一步的信息,请参考 ArcGIS 开发帮助(ArcGIS Developer Help)。四、条件需 求要顺利地完成以下方案

8、,你需要以下条件(对于部署的需求将在后续的部署章节涉及到) : l 安装具有授权文件的 ArcGIS Engine 开发工具包(Developer Kit),使之能够 用于开发。 l 安装有微软 Visual Studio .NET 2003 开发环境和微软.NET Framework 1.1 及其相应协议。 l 熟悉微软 Windows 操作系统和 Microsoft Visual Studio .NET 的工作知识,会用 C#或 Visual Basic .NET 编程语言。当然,此方 案中提供了一些如何在 Microsoft Visual Studio .NET 中使用 ArcGIS 控

9、件的信息,但 它不能替代对开发环境的培训。 l 不需要对 ESRI 其它软件有足够的经验,但如果以 前对 ArcObjects 有所接触并对 ArcGIS 应用(如,ArcCatalog,ArcMap)有一个基本了 解,则对于开发更有利。 l 访问来自本方案的样例数据和代码,它位于: DeveloperKitSamplesDeveloper_Guide_Scenarios ArcGIS_EngineBuilding_an_ArcGIS_Control_ApplicationMap_Viewer 本方案中 使用到的控件和库如下: l AxMapControl l AxTOCControl l A

10、xPageLayoutControl l AxToolbarControl l ESRI.ArcGIS.Carto l ESRI.ArcGIS.System l ESRI.ArcGIS.Display l ESRI.ArcGIS.SystemUI l ESRI.ArcGIS.Geometry l ESRI.ArcGIS.Utility l esriMapControl l esriTOCControl l esriPageLayoutControl l esriToolbarControl 五、 实现下面的实现过程中提供了你成功完成方案所需所有代码。假设你对于开发环境已经有 了一定的知识,所以

11、下面没有逐步地详细介绍如何用 Microsoft Visual Studio .NET 开 发应用。 (一) 加载 ArcGIS 控件在你为应用程序编写代码之前,应该先将应用程序将用 到的 ArcGIS 控件和其他 ArcGIS Engine 库引用装载到开发环境之中。 1. 启动 Visual Studio .NET,并从新建项目对话框中创建一个新的 Visual C# “Windows 应用 程序”项目。 2. 将项目命名为“Controls”,并选择位置存取该项目。 3. 在“工具 箱”的“Windows 窗体”标签栏中单击右键,然后从上下文菜单中选择“添加/移除项(I)”。4. 在“自

12、定义工具箱”中选择“.NET Framework 组件”,并复选“AxMapControl”, “AxPageLayoutControl”, “AxTOCControl”和“AxToolbarControl”,单击确定按钮。 这样所选择的控件将显示在工具箱的 Windows 窗体标签栏中。 5. 单击项目菜单,并 选择“添加引用(R)”。 6. 在添加引用对话框中,双击“ESRI.ArcGIS.Carto”, “ESRI.ArcGIS.Display”, “ESRI.ArcGIS.Geometry”, “ESRI.ArcGIS.System”, “ESRI.ArcGIS.SystemUI”,

13、“ESRI.ArcGIS.Utility”。单击确定。 注:对于 ESRI .NET 程序集,将通过具体实例来说明,并使用.NET 框架提供的 COM 传送服务从你的 C#项目 中调用 ESRI 对象库中的实体对象。 (二) 在容器中嵌入 ArcGIS 控件在你能够访问每个 控件的事件、属性和方法之前,需要将控件嵌入到.NET 容器中。一旦将控件嵌入窗体内, 它们将图形化应用程序的用户界面。 1. 在设计模式下打开.NET 窗体。 2. 双 击工具箱 Windows 标签栏中的 AxMapControl 控件,将 MapControl 加入到窗体上。 3. 再将 AxPageLayoutCon

14、trol、AxTOCControl 和 AxToolbarControl 如上添加 到窗体中。 4. 重新调整窗体上各个控件的大小和位置,调整结果如下所示。 5.在窗体上双击显示窗体代码窗口,在代码窗口的顶部增加“using”命令: using System; using System.Windows.Forms; / ArcGIS Engine 引用 using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Display; using ESRI.ArcGIS.Geometry; using ESRI.Arc

15、GIS.esriSystem; using ESRI.ArcGIS.ToolbarControl; using ESRI.ArcGIS.TOCControl; 注:需注意 C#是 区分大小写的。当你键入“ESRI.”时,智能敏感的自动完成功能将允许你通过按 Tab 键完 成下一节。 (三) 加载 Map 文档到 MapControl 与 PageLayoutControl 单独的数据层 或者使用 ArcMap、ArcGIS 桌面应用程序产生的图形文档,能够被加载到 MapControl 和 PageLayoutControl 中。你可以加载样例图形文档,或者加载你自己的图形文档。后 面你将增加一个浏览图形文档的对话框。 1. 选择 Form_Load 事件,并输入下列代 码(如果你使用你自己的图形文档,要替换为正确的文件名): / 使用相对路径向PageLayoutControl 加载一个图形文档 string filename = “.DataArcGIS_Engine_Developer_Guidegulf of st. lawrence.mxd“; if ( axPageLayoutControl1.CheckMxFile

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号