http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> ArcGIS >> ArcObjects开发 >> 正文

利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

作者:3STECH    文章来源:中国3S网站(httpwww.863s.com)    点击数:    更新时间:2006-12-15
摘要:

此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方法和步骤。

你可以在下面的目录下找到相应的样例程序:

<安装目录>\DeveloperKit\Samples\Developer_Guide_Scenarios\ ArcGIS_Engine\Building_an_ArcGIS_Control_Application\Map_Viewer

注:ArcGIS样例程序不包含在ArcGIS Engine开发工具包“典型”安装方式中。如果你没有安装它们,则可以重新运行开发工具包安装向导,选择“定制”或“修改”方式,并选择软件开发包下的样例项进行安装。

一、项目描述

利用视窗控件建立应用程序的目标是演示并使你熟悉在微软Visual Studio .NET API中使用标准ArcGIS控件开发和部署GIS应用所需的步聚。本节中使用了Visual Studio .NET开发环境中的MapControl PageLayoutControlTOCControlToolbarControl等视窗控件。COMJavaC++程序员应该参考如下章节:利用ActiveX建立应用程序利用可视化JavaBeans建立应用程序建立命令行方式的Java应用建立命令行方式的C++应用

本节演示了创建查看ArcMapArcGIS桌面应用图形文档的GIS应用程序的步骤。此节包含了以下技术:

l    在微软Visual Studio .NET中加载和嵌入ArcGIS控件。

l    PageLayoutControlMapControl中加载图形文档。

l    设置ToolbarControlTOCControl的绑定控件。

l    处理窗口缩放。

l    ToolbarControl添加ArcGIS Engine命令和工具。

l    创建弹出式菜单

l    TOCControl中管理标签编辑

l    MapControl中绘制图形。

l    MapControlPageLayoutControlToolbarControl创建定制工具。

l    用户化ToolbarControl

l    Windows操作系统中部署应用。

二、概述

本方案使用微软Visual Studio .NET开发环境加以实现,并使用了ESRI interop程序集(Interop Assemblies),它服务于被放置在.NET窗体上的、位于.NET 窗体控件(.NET Windows Controls)中的ArcGIS控件,这些程序集在托管的.NET代码和非托管的COM代码之间起了桥梁作用。对COM ArcGIS控件(COM ArcGIS Controls)成员的引用都要经过Interop程序集,然后到达实际的COM对象。同样,也从COM对象经过Interop程序集到达.NET应用程序。每个ArcGIS Engine控件具有方法、属性与事件,它们能够被控件嵌入的容器(如,.NET窗体)访问。每个控件对象及其功能可以与其他ESRI ArcObjects和自定义控件组合使用,创建用户化的客户应用程序。

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

在本方案中,使用ToolbarControlTOCControlPageLayoutControlMapControl来为应用程序提供用户界面。这些ArcGIS控件与其他ArcObjectsArcGIS Engine命令被开发者一起使用,用来创建一个GIS视窗应用。

三、设计

此方案在设计时,首先强调了ArcGIS 控件如何互相之间进行交互,其次,向开发者解释说明了ArcGIS 控件对象模型的一部分。

每个.NET ArcGIS Engine控件包含有一套能够被嵌入其内的窗口即时访问的属性页。这些属性些为控件属性和方法的选择提供了捷径,并且允许开发者不写任何代码即可创建一个应用程序。本方案并没有使用属性页,而是采用写代码的方式建立应用程序。关于属性页的更进一步的信息,请参考ArcGIS开发帮助(ArcGIS Developer Help)

四、条件需求

要顺利地完成以下方案,你需要以下条件(对于部署的需求将在后续的部署章节涉及到):

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控件的信息,但它不能替代对开发环境的培训。

l       不需要对ESRI其它软件有足够的经验,但如果以前对ArcObjects有所接触并对ArcGIS应用(如,ArcCatalogArcMap)有一个基本了解,则对于开发更有利。

l       访问来自本方案的样例数据和代码,它位于:

<安装目录>\DeveloperKit\Samples\Developer_Guide_Scenarios\ ArcGIS_Engine\Building_an_ArcGIS_Control_Application\Map_Viewer

本方案中使用到的控件和库如下:

l       AxMapControl

l       AxTOCControl

l       AxPageLayoutControl

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

Tags:ArcGIS Engine  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图