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

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

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

1、利用利用 ArcGISArcGIS EngineEngine、VSVS .NET.NET 和和 WindowsWindows 控件开发控件开发 GISGIS 应应本文由 10353427181 贡献doc 文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT,或下载源文件到本机查看。此过程说明适合那些使用.NET 建立和部署应用的开发者,它描述了使用 ArcGIS 控件 建立和部署应用的方法和步骤。 你可以在下面的目录下找到相应的样例程序: DeveloperKitSamplesDeveloper_Guide_Scenarios ArcGIS_EngineBuilding_an_ArcG

2、IS_Control_ApplicationMap_Viewer 注:ArcGIS 样例程序不包含在 ArcGIS Engine 开发工具包“典型”安装方式中。如 果你没有安装它们,则可以重新运行开发工具包安装向导,选择“定制”或“修改 ”方式,并选择软件开发包下的样例项进行安装。 一、项目描述 利用视窗控件建立应用程序的目标是演示并使你熟悉在微软 Visual Studio .NET API 中使用标准 ArcGIS 控件开发和部署 GIS 应用所需的步聚。本节中使用了 Visual Studio .NET 开发环境中的 MapControl、 PageLayoutControl、TOCCo

3、ntrol 和 ToolbarControl 等视窗控件。COM、Java 和 C+程序员应该参考如下章节:利用 ActiveX 建立应用程序、利用可视化 JavaBeans 建立应用程序、建立命令行方式的 Java 应用和建立命令行方式的 C+应用。 本节演示了创建查看 ArcMap 和 ArcGIS 桌面应用图形文档的 GIS 应用程序的步骤。此 节包含了以下技术: l l l l l l l l l l 在微软 Visual Studio .NET 中加载和嵌入 ArcGIS 控件。 向 PageLayoutControl 和 MapControl 中加载图形文档。 设置 Toolbar

4、Control 和 TOCControl 的绑定控件。 处理窗口缩放。 向 ToolbarControl 添加 ArcGIS Engine 命令和工具。 创建弹出式菜单 在 TOCControl 中管理标签编辑 在 MapControl 中绘制图形。 为 MapControl、PageLayoutControl 和 ToolbarControl 创建定制工具。 用户化 ToolbarControl。l在 Windows 操作系统中部署应用。二、概述 本方案使用微软 Visual Studio .NET 开发环境加以实现,并使用了 ESRI interop 程 序集(Interop Assemb

5、lies),它服务于被放置在.NET 窗体上的、位于.NET 窗体控 件(.NET Windows Controls)中的 ArcGIS 控件,这些程序集在托管的.NET 代码和非 托管的 COM 代码之间起了桥梁作用。对 COM ArcGIS 控件(COM ArcGIS Controls)成员 的引用都要经过 Interop 程序集,然后到达实际的 COM 对象。同样,也从 COM 对象经 过 Interop 程序集到达.NET 应用程序。每个 ArcGIS Engine 控件具有方法、属性与事 件,它们能够被控件嵌入的容器(如,.NET 窗体)访问。每个控件对象及其功能可以 与其他 ESR

6、I ArcObjects 和自定义控件组合使用,创建用户化的客户应用程序。 此方案是使用了 C#和 Visual Basic .NET 两种语言创建,但以下技术实现集中倾向 于 C#方案。许多开发者可能会感觉用 Visual Basic .NET 更舒服,那是因为他们已 经比较熟悉 Visual Basic 6.0 代码,然而,对于 Java 和 C+程序员来说,他们将会 觉得对 C#程序语言的语法更熟悉。无论你使用哪种开发环境,对于使用 ArcGIS 控件 的好坏既依赖于你的编程环境技术,也依赖于你所掌握的 ArcObjects 技术。 在本方案中,使用 ToolbarControl、TOC

7、Control、PageLayoutControl 和 MapControl 来为应用程序提供用户界面。这些 ArcGIS 控件与其他 ArcObjects 和 ArcGIS Engine 命令被开发者一起使用,用来创建一个 GIS 视窗应用。 三、设计 此方案在设计时,首先强调了 ArcGIS 控件如何互相之间进行交互,其次,向开发 者解释说明了 ArcGIS 控件对象模型的一部分。 每个.NET ArcGIS Engine 控件包含有一套能够被嵌入其内的窗口即时访问的属性页 。这些属性些为控件属性和方法的选择提供了捷径,并且允许开发者不写任何代码 即可创建一个应用程序。本方案并没有使用属性

8、页,而是采用写代码的方式建立应 用程序。关于属性页的更进一步的信息,请参考 ArcGIS 开发帮助(ArcGIS Developer Help)。 四、条件需求 要顺利地完成以下方案,你需要以下条件(对于部署的需求将在后续的部署章节涉 及到): l 安装具有授权文件的 ArcGIS Engine 开发工具包(Developer Kit),使之能够用于开发。 l 安装有微软 Visual Studio .NET 2003 开发环境和微软.NET Framework1.1 及其相应协议。l熟悉微软 Windows 操作系统和 Microsoft Visual Studio .NET 的工作知识,会

9、用 C#或 Visual Basic .NET 编程语言。当然,此方案中提供了一些如何在 Microsoft Visual Studio .NET 中使用 ArcGIS 控件的信息,但它不能替代对开发环 境的培训。 l 不需要对 ESRI 其它软件有足够的经验,但如果以前对 ArcObjects 有所接触并对 ArcGIS 应用(如,ArcCatalog,ArcMap)有一个基本了解,则对于开发更有利。l访问来自本方案的样例数据和代码,它位于:DeveloperKitSamplesDeveloper_Guide_Scenarios ArcGIS_EngineBuilding_an_ArcGIS

10、_Control_ApplicationMap_Viewer 本方案中使用到的控件和库如下: l l l l l l l l l l l l l l AxMapControl AxTOCControl AxPageLayoutControl AxToolbarControl ESRI.ArcGIS.Carto ESRI.ArcGIS.System ESRI.ArcGIS.Display ESRI.ArcGIS.SystemUI ESRI.ArcGIS.Geometry ESRI.ArcGIS.Utility esriMapControl esriTOCControl esriPageLayou

11、tControl esriToolbarControl五、实现 下面的实现过程中提供了你成功完成方案所需所有代码。假设你对于开发环境已经 有了一定的知识,所以下面没有逐步地详细介绍如何用 Microsoft Visual Studio .NET 开发应用。(一) 加载 ArcGIS 控件 在你为应用程序编写代码之前,应该先将应用程序将用到的 ArcGIS 控件和其他 ArcGIS Engine 库引用装载到开发环境之中。 1. 启动 Visual Studio .NET,并从新建项目对话框中创建一个新的 Visual C#“Windows 应用程序”项目。 2. 3. 将项目命名为“Contr

12、ols” ,并选择位置存取该项目。 在“工具箱”的“Windows 窗体”标签栏中单击右键,然后从上下文菜单中选择“添加/移除项(I)” 。 4. 在“自定义工具箱”中选择“.NET Framework 组件” ,并复选“AxMapControl” , “AxPageLayoutControl” , “AxTOCControl”和“ AxToolbarControl” ,单击确定按钮。这样所选择的控件将显示在工具箱的 Windows 窗体标签栏中。5. 6.单击项目菜单,并选择“添加引用(R)” 。 在添加引用对话框中,双击“ESRI.ArcGIS.Carto” , “ESRI.ArcGIS.

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

14、xPageLayoutControl、AxTOCControl 和 AxToolbarControl 如上添加 在设计模式下打开.NET 窗体。 双击工具箱 Windows 标签栏中的 AxMapControl 控件,将 MapControl 加入到到窗体中。 4. 重新调整窗体上各个控件的大小和位置,调整结果如下所示。5. :在窗体上双击显示窗体代码窗口,在代码窗口的顶部增加“using”命令using System; using System.Windows.Forms; / ArcGIS Engine 引用 using ESRI.ArcGIS.SystemUI; using ESRI.A

15、rcGIS.Carto; using ESRI.ArcGIS.Display; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.ToolbarControl; using ESRI.ArcGIS.TOCControl; 注:需注意 C#是区分大小写的。当你键入“ESRI.”时,智能敏感的自动完成功能 将允许你通过按 Tab 键完成下一节。 (三) 加载 Map 文档到 MapControl 与 PageLayoutControl 单独的数据层或者使用 ArcMap、ArcGIS 桌面应用程序

16、产生的图形文档,能够被加载 到 MapControl 和 PageLayoutControl 中。你可以加载样例图形文档,或者加载你自 己的图形文档。后面你将增加一个浏览图形文档的对话框。 1. 选择 Form_Load 事件,并输入下列代码(如果你使用你自己的图形文档,要替换为正确的文件名): / 使用相对路径向 PageLayoutControl 加载一个图形文档 string filename = “. DataArcGIS_Engine_Developer_Guidegulf of st. lawrence.mxd“; if ( axPageLayoutControl1.CheckMxFile(filename) ) axPageLayoutControl1.LoadMxFile(filename, “); 2. 在设计模式显示窗体并从属性窗选择 axPageLayoutControl1 控件,显示axPageLayoutControl 事件。在 OnPageLayout

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

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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