AE课程设计.doc

上传人:b****2 文档编号:1648163 上传时间:2022-10-23 格式:DOC 页数:14 大小:694KB
下载 相关 举报
AE课程设计.doc_第1页
第1页 / 共14页
AE课程设计.doc_第2页
第2页 / 共14页
AE课程设计.doc_第3页
第3页 / 共14页
AE课程设计.doc_第4页
第4页 / 共14页
AE课程设计.doc_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

AE课程设计.doc

《AE课程设计.doc》由会员分享,可在线阅读,更多相关《AE课程设计.doc(14页珍藏版)》请在冰豆网上搜索。

AE课程设计.doc

Arcgisengine课程设计

院系:

建筑与测绘工程系

专业:

地理信息系统

小组名称:

第一组

成员姓名:

GIS二次开发课程设计

目录

一、项目描述:

3

二、项目概述:

3

三、系统的总体设计:

…………………………………………………………………..3

3.1系统设计目标与原则 3

3.2系统设计路线 4

3.3、条件需求 4

四、部分属性代码的实现 5

五、心得体会 13

致谢 14

一、项目描述:

利用视窗控件建立应用程序的目标是演示并使你熟悉在微软VisualStudio.NETAPI中使用标准ArcGIS控件开发和部署GIS应用所需的步聚。

本节中使用了VisualStudio.NET开发环境中的MapControl、PageLayoutControl、TOCControl和ToolbarControl等视窗控件。

二、项目概述:

本方案使用微软VisualStudio.NET开发环境加以实现,并使用了ESRIinterop程序集(InteropAssemblies),它服务于被放置在.NET窗体上的、位于.NET窗体控件(.NETWindowsControls)中的ArcGIS控件,这些程序集在托管的.NET代码和非托管的COM代码之间起了桥梁作用。

对COMArcGIS控件(COMArcGISControls)成员的引用都要经过Interop程序集,然后到达实际的COM对象。

同样,也从COM对象经过Interop程序集到达.NET应用程序。

每个ArcGISEngine控件具有方法、属性与事件,它们能够被控件嵌入的容器(如,.NET窗体)访问。

每个控件对象及其功能可以与其他ESRIArcObjects和自定义控件组合使用,创建用户化的客户应用程序。

此方案是使用了C#和VisualBasic.NET两种语言创建,但以下技术实现集中倾向于C#方案。

在本方案中,使用ToolbarControl、TOCControl、PageLayoutControl和MapControl来为应用程序提供用户界面。

这些ArcGIS控件与其他ArcObjects和ArcGISEngine命令被开发者一起使用,用来创建一个GIS视窗应用。

三、系统的总体设计

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

每个.NETArcGISEngine控件包含有一套能够被嵌入其内的窗口即时访问的属性页。

这些属性些为控件属性和方法的选择提供了捷径,并且允许开发者不写任何代码即可创建一个应用程序。

本方案并没有使用属性页,而是采用写代码的方式建立应用程序。

3.1系统设计目标与原则

本系统根据系统工程的设计思想,满足实用性可靠性、可扩展性和开放性原则,组建完整的信息化应用管理平台。

通过系统研发。

实现在区域尺度上对农业资源信息的有效组织和管理,并通过灵活运用功能模块,从而提高对区域农业资源的管理水平和利用效率。

系统的功能结构分析根据对系统的分析结果,本系统由数据层、应用逻辑层、表现层3层结构模式组成。

系统框架图如图3-1所示。

系统数据层分为空间数据和非空间数据两个部分.空间数据划分不同层级,分别存储矢量、栅格数据,非空间数据也分类进行划分以便于管理。

应用逻辑层主要是为用户提供各种基本的地图及地图属性库操作,如地图的缩放、属性表操作,地理信息数据的统计功能及可视化的输入界面,让用户输入必要数据进行专业的评价、监测、辅助决策等。

表现层由AE中的mapcontrol和报表等控件来表现、输出结果。

3.2系统设计路线

系统设计

运行平台设计

数据库设计

功能模块设计

框架结构图

系统实现

数据库管理与更新

栅格数据的处理与计算

研究基础

基本资料的获取

数据分析处理

图3-1

3.3、条件需求

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

安装具有授权文件的ArcGISEngine开发工具包(DeveloperKit),使之能够用于开发。

安装有微软VisualStudio.NET2003开发环境和软.NETFramework3.5及其相应协议。

熟悉微软Windows操作系统和MicrosoftVisualStudio.NET的工作知识,会用C#或VisualBasic.NET编程语言。

当然,此方案中提供了一些如何在MicrosoftVisualStudio.NET中使用ArcGIS控件的信息,但它不能替代对开发环境的培训。

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

􀁺访问来自本方案的样例数据和代码,所需要的的控件、类、接口等:

􀁺AxMapControl􀁺AxTOCControl

􀁺AxPageLayoutControl􀁺AxToolbarControl

􀁺ESRI.ArcGIS.Carto􀁺ESRI.ArcGIS.System

ESRI.ArcGIS.Display􀁺ESRI.ArcGIS.SystemU

􀁺ESRI.ArcGIS.Geometry􀁺ESRI.ArcGIS.Utility

􀁺esriMapControl􀁺esriTOCControl

􀁺esriPageLayoutControl􀁺esriToolbarControl

四、部分属性代码的实现

下面的实现过程中提供了你成功完成方案所需所有代码。

假设你对于开发环境已经有了一定的知识,所以下面没有逐步地详细介绍如何用MicrosoftVisualStudio.NET开发应用。

(一)加载ArcGIS控件

在你为应用程序编写代码之前,应该先将应用程序将用到的ArcGIS控件和其他ArcGISEngine库引用装载到开发环境之中。

1.启动VisualStudio.NET,并从新建项目对话框中创建一个新的VisualC#

“Windows应用程序”项目。

2.将项目命名为“Controls”,并选择位置存取该项目。

3.在“工具箱”的“Windows窗体”标签栏中单击右键,然后从上下文菜单中

选择“添加/移除项(I)…”。

4.在“自定义工具箱”中选择“.NETFramework组件”,并复选“AxMapControl”,

“AxPageLayoutControl”,“AxTOCControl”和“AxToolbarControl”,单击确定

按钮。

这样所选择的控件将显示在工具箱的Windows窗体标签栏中。

5.单击项目菜单,并选择“添加引用(R)…”。

6.在添加引用对话框中,双击“ESRI.ArcGIS.Carto”,“ESRI.ArcGIS.Display”,

“ESRI.ArcGIS.Geometry”,“ESRI.ArcGIS.System”,“ESRI.ArcGIS.SystemUI”,

“ESRI.ArcGIS.Utility”。

单击确定。

7.在窗体上双击显示窗体代码窗口,在代码窗口的顶部增加“using”命令:

usingSystem;

usingSystem.Windows.Forms;

//ArcGISEngine引用

usingESRI.ArcGIS.SystemUI;

usingESRI.ArcGIS.Carto;

usingESRI.ArcGIS.Display;

usingESRI.ArcGIS.Geometry;

usingESRI.ArcGIS.esriSystem;

usingESRI.ArcGIS.ToolbarControl;

usingESRI.ArcGIS.TOCControl

(二)加载Map文档到MapControl与PageLayoutControl

单独的数据层或者使用ArcMap、ArcGIS桌面应用程序产生的图形文档,能够被加载到MapControl和PageLayoutControl中。

你可以加载样例图形文档,或者加载你自己的图形文档。

后面你将增加一个浏览图形文档的对话框。

1.选择Form_Load事件,并输入下列代码(如果你使用你自己的图形文档,

要替换为正确的文件名):

//使用相对路径向PageLayoutControl加载一个图形文档

stringfilename=

@"\Data\\ArcGIS_Engine_Developer_Guide\\gulfofst.

lawrence.mxd";

if(axPageLayoutControl1.CheckMxFile(filename))

{

axPageLayoutControl1.LoadMxFile(filename,"");

}

2、在设计模式显示窗体并从属性窗选择axPageLayoutControl1控件,显示

axPageLayoutControl事件。

在OnPageLayoutReplaced事件上双击向代码窗

口添加该事件的处理函数。

3.在axPageLayoutControl1_OnPageLayoutReplaced事件中键入以下向

MapControl加载样例图形文档的代码。

当文档被装载入PageLayoutControl时

OnPageLayoutReplaced事件将会被触发。

privatevoidaxPageLayoutControl1_OnPageLayoutReplaced(objectsender,

ESRI.ArcGIS.PageLayoutControl.IPageLayoutControlEvents_OnPageLayoutReplacedEvente)

{

//加载同样的文档到MapControl

axMapControl1.LoadMxFile(axPageLayoutControl1.DocumentFilename,

null,null);

//设置MapControl显示范围至数据的全局范围

axMapControl1.Extent=axMapControl1.FullExtent;

}

(三)在TOCControl中控制标签编辑

TOCControl默认允许用户自动地切换图层的可见性并改变显示在目录表中的名称。

你可以增加代码防止用户在编辑名称时输入空的字符串。

1.在Form_Load事件的开始增加下列代码。

privatevoidForm1_Load(objectsender,System.EventArgse)

{

//当缩放时禁止重绘

this.SetStyle(ControlStyles.EnableNotifyMe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1