(GIS设计与开发实验报告)Word格式文档下载.docx

上传人:聆听****声音 文档编号:268165 上传时间:2023-04-28 格式:DOCX 页数:42 大小:9.12MB
下载 相关 举报
(GIS设计与开发实验报告)Word格式文档下载.docx_第1页
第1页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第2页
第2页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第3页
第3页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第4页
第4页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第5页
第5页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第6页
第6页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第7页
第7页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第8页
第8页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第9页
第9页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第10页
第10页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第11页
第11页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第12页
第12页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第13页
第13页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第14页
第14页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第15页
第15页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第16页
第16页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第17页
第17页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第18页
第18页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第19页
第19页 / 共42页
(GIS设计与开发实验报告)Word格式文档下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

(GIS设计与开发实验报告)Word格式文档下载.docx

《(GIS设计与开发实验报告)Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《(GIS设计与开发实验报告)Word格式文档下载.docx(42页珍藏版)》请在冰点文库上搜索。

(GIS设计与开发实验报告)Word格式文档下载.docx

1.2、添加控件 2

1.3、控件绑定 2

1.4、添加工具 2

1.5、编译运行 2

2.1、添加shp数据 2

2.2、代码处理 2

2.3、编译运行 2

实验三:

代码加载Mxd文档 2

1、添加事件 2

2、编译运行 2

实验四:

调用新创建类封装方法实现Mxd文档操作 2

1、新建类库 2

2、用新创建类封装方法 2

3、封装方法的调用 2

4、调试运行 2

实验五:

ArcGISEngine实现视窗联动 2

1、新建一个Windows窗体应用程序 2

2、新建类和加载代码 2

3、添加相应的代码 2

4、编译运行 2

实验六:

ArcGISEngine实现标签编辑与右键菜单 2

实验1、实现标签编辑 2

实验2、实现右键菜单 2

初识ArcGISEngine开发环境

安装Visualstudio2010和ArcGISEngine10.2,搭建开发环境,新建Windows窗体应用程序,实现简单地图浏览。

1、新建一个Windows窗体应用程序

启动VS2010,选择“文件|新建|项目|Windos窗体应用程序”,在项目类型中选择VisualC#,再选择Windows应用程序模板,输入名称“mymap”,点击确定。

2、添加控件

AxToolbarControl(工具栏Tool)、AxTOCControl(目录树Layout)、AxMapControl(地图Map),并调整位置;

最后将LicenseControl(许可控件)拖入窗体任意位置:

3、设置属性

右击ToolbarControl控件,选择“属性|Items(选择工具)|AddCommands”,选择常用工具。

设置控件的关联

将ToolbarControl、TOCControl控件,将Buddy设置为axMapControl1

5、编译运行

按F5即可编译运行程序,至此桌面GIS应用程序框架基本框架已经搭建好了,你可以通过工具条的工具打开地图文档,浏览地图了。

本次实验主要为了认识ArcGISEngine开发环境,并学习简单的窗口搭建、控件绑定以及添加引用。

建立ArcGISEngine应用程序框架

搭建Windows应用程序窗口,实现打开shapefile文件功能。

1.1、新建项目

启动VS2010,选择“文件|新建|项目”,在项目类型中选择VisualC#,再选择Windows应用程序模板,输入名称“mymap2”,点击确定。

1.2、添加控件

选择工具箱中的“菜单和工具栏|StatusStrip(状态栏)”,将其拖入到窗体。

选择工具箱中的“ArcGISWindowsForms”节,将“AxToolbarControl”控件拖入窗体,并将其属性中的Dock设置为Top。

选择工具箱中的“容器|SplitContainer(容器)”拖入窗体,并将其属性中的Dock设置为fill。

将TabControl控件拖入Panel1,将Alignment属性设置为Bottom,Dock属性设置为Fill。

点击TabPages属性右边的按钮,弹出TabPage集合编辑器,将tabPage1的Name设置为“Layer”,Text设置为“图层”;

将tabPage2的Name设置为“Property”,Text设置为“属性”。

如下所示:

1.3、控件绑定

通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。

分别右击ToolbarControl、TOCControl控件,将Buddy设置为axMapControl1,如下图所示:

1.4、添加工具

右击ToolbarControl,选择“属性|Items”,点击Add,选择Commands选项卡中的Generic,双击Open、SaveAs、Redo、Undo将相应工具添加到工具条。

1.5、编译运行

按F5即可编译运行程序。

2.1、添加shp数据

在VS2010的工具箱中,展开菜单和工具栏,双击MenuStrip控件,这样就在窗体上添加了一个菜单控件;

同样双击添openFileDialog控件,置于窗体任何位置。

在菜单上点击,输入“添加SHP数据”作为菜单的标题,输入“AddShpData”作为菜单的名称。

2.2、代码处理

选中“添加SHP数据”菜单,在属性框中点击事件按钮,在事件列表中双击Click事件;

或者双击“添加SHP数据”菜单自动生成的事件处理方法如下图所示,我们将在方法内输入处理代码。

privatevoid添加SHP数据ToolStripMenuItem_Click(objectsender,EventArgse)

{

//使用openFileDialog获取shapefile文件

openFileDialog1.Filter="

shapefile文件(*.shp)|*.shp"

;

//不允许openFileDialog同时选择多个文件

openFileDialog1.Multiselect=false;

//返回值为openFileDialog所打开文件的窗体

DialogResultpDialogResult=openFileDialog1.ShowDialog();

//如果弹出窗口点击的不是确定的话就return

if(pDialogResult!

=DialogResult.OK)

return;

stringpPath=openFileDialog1.FileName;

stringpFolder=System.IO.Path.GetDirectoryName(pPath);

stringpFileName=System.IO.Path.GetFileName(pPath);

//新建一个Shapefile的工作空间工厂

IWorkspaceFactorypWorkspaceFactory=newShapefileWorkspaceFactory();

//打开Shapefile的工作空间

IWorkspacepWorkspace=pWorkspaceFactory.OpenFromFile(pFolder,0);

IFeatureWorkspacepFeatureWorkspace=pWorkspaceasIFeatureWorkspace;

//QI跳转

//打开要素类

IFeatureClasspFC=pFeatureWorkspace.OpenFeatureClass(pFileName);

//可实例化类

//创建要素图层

IFeatureLayerpFLayer=newFeatureLayerClass();

//关联图层和要素类

pFLayer.FeatureClass=pFC;

pFLayer.Name=pFC.AliasName;

ILayerpLayer=pFLayerasILayer;

//将图层和要素类添加到地图控件中

IMappMap=axMapControl1.Map;

pMap.AddLayer(pLayer);

//刷新axMapControl1的视图

axMapControl1.ActiveView.Refresh();

}

2.3、编译运行

在键盘上按F5键,运行调试,点击“添加SHP数据”菜单,在弹出的对话框中,选中任意一个shp文件,点击确定,即可把shp文件加载到地图控件中。

本次实验目的主要在于使用工作空间打开shapefile文件,之后也可以将其引申到打开栅格数据等功能!

代码加载Mxd文档

使用代码加载Mxd文档。

1、添加事件

按照实验二的方式添加菜单“打开Mxd文档”,菜单的Name属性为OpenMxdDoc.添加Click事件。

在菜单的Click事件处理方法中添加如下代码:

首先在头部定义IMapDocumentpMapDocument,如下图所示:

代码如下:

privatevoidOpenMxdDoc_Click(objectsender,EventArgse)

//使用openFileDialog获取mxd文件

地图文档(*.mxd)|*.mxd"

return;

//将数据加载入pMapDocument并与map控件联系起来

pMapDocument=newMapDocumentClass();

pMapDocument.Open(pPath,"

"

);

for(inti=0;

i<

pMapDocument.MapCount;

i++)

{

//遍历可能的Map对象

axMapControl1.Map=pMapDocument.get_Map(i);

}

//刷新地图

axMapControl1.Refresh();

2、编译运行

按F5即可编译运行程序,你可以通过菜单“打开Mxd文档”打开地图文档,浏览地图.

熟悉帮助文档的使用和对象模型图的使用对基于ArcGISEngine的开发有很大帮助。

调用新创建类封装方法实现Mxd文档操作

新建自定义类,封装对Mxd文档的各类操作,提高代码重用性与程序安全性。

1、新建类库

1.1打开实验2-3所建项目,在解决方案管理器中右击选择“mymap2|添加|新建项”;

1.2在弹出对话框中点击“VisualC#模板”,选择“类”命名为“MyMaxDocClass1.cs”.

2、用新创建类封装方法

2.1双击“MyMaxDocClass.cs”类,在代码框中导入命名空间.

2.2将新建类改为静态变量,并对文档命令进行封装.

namespacemymap2

{

//静态变量

publicstaticclassMyMxDocClass

{

//定义公有静态IMapDocument对象,并实例化

publicstaticIMapDocumentpMapDocument=newMapDocumentClass();

privatestaticSystem.Windows.Forms.OpenFileDialogOpenFileDialog2;

privatestaticSystem.Windows.Forms.SaveFileDialogSaveFileDialog2;

//新建地图文档

publicstaticvoidNewMapDoc(AxMapControlaxMapControl1)

//选择新建地图文档的位置

SaveFileDialog2=newSaveFileDialog();

SaveFileDialog2.Title="

新建地图文档"

SaveFileDialog2.Filter="

Mxd文档(*.mxd)|*.mxd"

//显示新建的地图文档

SaveFileDialog2.ShowDialog();

stringsFilePath=SaveFileDialog2.FileName;

//保证新建的文档命名不为空

if(sFilePath!

="

//创建并打开新的地图文档

pMapDocument.New(sFilePath);

pMapDocument.Open(sFilePath,"

//MapControl1显示的地图为MapDocument中的第一张

axMapControl1.Map=pMapDocument.get_Map(0);

else

//打开地图文档

publicstaticvoidOpenMapDoc(AxMapControlaxMapControl1)

//选择要打开的地图文档的路径

OpenFileDialog2=newOpenFileDialog();

OpenFileDialog2.Title="

打开地图文档"

OpenFileDialog2.Filter="

//显示新打开的地图文档

OpenFileDialog2.ShowDialog();

stringsFilePath=OpenFileDialog2.FileName;

//判断选中的地图文档是否有效

if(pMapDocument.get_IsMapDocument(sFilePath))

//打开地图文档

for(inti=0;

{

//添加地图文档到MapControl1中

axMapControl1.Map=pMapDocument.get_Map(i);

}

//刷新窗口

axMapControl1.Refresh();

//保存地图文档

publicstaticvoidSaveMapDoc()

//判断MapDocument中的地图文档是否为只读

if(pMapDocument.get_IsReadOnly(pMapDocument.DocumentFilename))

MessageBox.Show("

地图文档只读!

pMapDocument.Save(pMapDocument.UsesRelativePaths,true);

//相对路径保存

MessageBox.Show("

保存成功!

//另存为

publicstaticvoidSaveAsMapDoc()

//选择地图文档保存位置

地图文档另存为"

stringpFilePath=SaveFileDialog2.FileName;

//判断路径是否为空

if(pFilePath==null)

//如果保存路径和当前文档路径相同,就替换原文件保存

if(pFilePath==pMapDocument.DocumentFilename)

SaveMapDoc();

//否则另存为

else

pMapDocument.SaveAs(pFilePath,true,true);

//对话框显示保存成功

}

}

3、封装方法的调用

3.1同实验三中,在菜单上点击,依次输入“新建Mxd文档、另存Mxd文档、”作为菜单的标题,分别修改Name属性“NewMxdDoc、SaveAsMxdDoc”作为菜单的名称.

3.2双击菜单,在自动生成的事件处理方法中加载方法调用代码.

//保存Mxd文档

privatevoidSaveMxdDoc_Click(objectsender,EventArgse)

MyMxDocClass.SaveMapDoc();

//新建Mxd文档

privatevoidNewMxdDoc_Click(objectsender,EventArgse)

MyMxDocClass.NewMapDoc(axMapControl1);

//另存Mxd文档

privatevoidSaveAsMxdDoc_Click(objectsender,EventArgse)

MyMxDocClass.SaveAsMapDoc();

4、调试运行

点击“生成|生成解决方案”,然后点击运行按钮或在键盘上按F5键,运行调试.

该实验主要是实现使用封装类方法实现对Mxd文档的操作,提高代码重用性。

ArcGISEngine实现视窗联动

使用ArcGISEngine代码实现视窗联动。

1、新建一个Windows窗体应用程序

启动VS2010,选择“文件|新建|项目|Windos窗体应用程序”,在项目类型中选择VisualC#,再选择Windows应用程序模板,输入名称“FormsLinks”,点击确定。

1.2添加控件:

选择工具箱中的“容器|SplitContainer(容器)”拖入窗体,并将其属性中的D

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2