GIS
二次开发实验报告 学 号: 姓 名: 班 级: 专 业: 指导老师:
二零一五年11月15日
目录
1
实验一:软件安装与AOI书签开发 .................................................................... 2 1.1 1.2 1.3 2
实验目的.......................................................................................................... 2 实验内容.......................................................................................................... 2 实验结果.......................................................................................................... 2
实验二:地图数据组织与访问 ............................................................................ 5 2.1 2.2 2.3
实验目的.......................................................................................................... 5 实验内容.......................................................................................................... 5 实验结果.......................................................................................................... 5
3 实验三:地图渲染与制图输出 ............................................................................ 9 3.1 3.2 3.3
实验目的.......................................................................................................... 9 实验内容.......................................................................................................... 9 实验结果.......................................................................................................... 9
4 实验四:空间数据处理 ...................................................................................... 14 4.1 4.2 4.3 5.1 5.2 5.3
实验目的........................................................................................................ 14 实验内容........................................................................................................ 14 实验结果........................................................................................................ 14 实验目的........................................................................................................ 20 实验内容........................................................................................................ 20 实验结果........................................................................................................ 20
5 实验五:GIS分析..................................................................................................20
6实验六:栅格数据处理............................................................................................25 4.1 实验目的........................................................................................................ 25 4.2 4.3
7
实验内容........................................................................................................ 25 实验结果........................................................................................................ 25
实验总结 .............................................................................................................. 31
1
1 实验一:软件安装与AOI书签开发
1.1 实验目的
? 掌握AOI书签程序开发
1.2 实验内容
? 实现AOI书签的创建 ? 实现AOI书签的调用
1.3 实验步骤与结果
安装程序后,新建地图显示项目。在程序的主窗体上端添加添加菜单项,文本属性为创建书签,控件名为miCreateBookmark,在旁边添加组合框,控件名为cbBookmarkList。
1.右击引用选择AddArcGIS Reference在弹出的对话框中添加引用在主窗体(即MainForm.cs)中添加代码;
(1)首先添加引用代码:using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.ADF; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesFile; using ESRI.ArcGIS.DataSourcesRaster;
(此引用代码都需添加引用后才可以使用,上述引用代码为本类中所需要的所有引用,在之后的编程中,可以不用重复引用) (2)添加“创建书签”函数
在MainForm类中添加成员函数CreateBookMark,代码如下:
public void CreateBookmark(string sBookmarkName)//参数为书签名
{
//通过IAOIBookmark接口创建一个变量,其类型为AOIBookmark,用于保存当前地图的范围
IAOIBookmark aoiBookmark = new AOIBookmarkClass(); if (aoiBookmark != null) {
aoiBookmark.Location = axMapControl1.ActiveView.Extent;
2
aoiBookmark.Name = sBookmarkName; }
//通过IMaoBookmarks接口访问当前地图,并向地图中加入新建书签 IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks; if (bookmarks != null) {
bookmarks.AddBookmark(aoiBookmark); }
//将新建书签名加入组合框中,用于之后调用对应书签 cbBookmarkList.Items.Add(aoiBookmark.Name); }
2.添加“书签名成设置”窗体
(1)点击项目添加Windows窗体,该窗体命名为“AdmitBookmarkName.cs”,点击添加后,转入设计窗口。
(2)设置窗体的文本属性为“书签名称设置”,尺寸设置为“200,100”,初始位置设置为“CenterScreen”
(3)添加控件,添加一个文本框,控件名为“tbBookmarkName”。一个按钮,文本属性为“确认”,控件名为“btnAdmit”
(4)双击“确认”按钮,自动生成点击事件响应函数,并转至窗体代码页。
3.添加成员变量m_frmMain,并为确认按钮输入代码,代码如下: //用于保存主窗体对象
public MainForm m_frmMain;
//用于传入主窗体对象
public AdmitBookmarkName(MainForm frm) {
InitializeComponent(); if (frm != null) {
m_frmMain = frm; } }
//\确认\按钮的“点击”事件响应函数,用于创建书签 private void btnAdmit_Click(object sender, EventArgs e) {
if (m_frmMain != null || tbBookmarkName.Text == \ {
m_frmMain.CreateBookmark(tbBookmarkName.Text); }
this.Close(); }
4.为主窗体的“创建书签”菜单生成“点击”事件响应函数,代码如下: AdmitBookmarkName frmABN = new AdmitBookmarkName(this); frmABN.Show();
5.为组合框cb_BookmarkList生成“选择索引更改”事件响应函数,代码如下
3