组件式GIS二次开发 丁利旺.docx

上传人:b****4 文档编号:3739948 上传时间:2022-11-25 格式:DOCX 页数:13 大小:18.37KB
下载 相关 举报
组件式GIS二次开发 丁利旺.docx_第1页
第1页 / 共13页
组件式GIS二次开发 丁利旺.docx_第2页
第2页 / 共13页
组件式GIS二次开发 丁利旺.docx_第3页
第3页 / 共13页
组件式GIS二次开发 丁利旺.docx_第4页
第4页 / 共13页
组件式GIS二次开发 丁利旺.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

组件式GIS二次开发 丁利旺.docx

《组件式GIS二次开发 丁利旺.docx》由会员分享,可在线阅读,更多相关《组件式GIS二次开发 丁利旺.docx(13页珍藏版)》请在冰豆网上搜索。

组件式GIS二次开发 丁利旺.docx

组件式GIS二次开发丁利旺

南阳师范学院

 

本科学生实验报告

 

姓名丁利旺院(系)环境科学与旅游学院

专业地理信息科学班级13级4班

实验课程名称组件式GIS二次开发

指导教师及职称李丹

开课时间2015至2016学年一学期

 

南阳师范学院教务处编印

 

实验名称目录

实验一:

ArcGISEngine及VisualStudio2010开发环境设置

实验二:

地图显示与浏览

实验三:

地图数据加载

实验四:

地图数据访问

实验五:

地图制图及输出

实验六:

空间数据查询

学生姓名:

专业:

班级:

课程名称:

组件式GIS二次开发

实验名称:

ArcGISEngine及VisualStudio2010开发环境设置

实验编号:

No1

指导教师:

李丹

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握ArcGISEngine软件和VisualStudio2010软件的安装方法,能够完成开发环境的配置。

实验设备:

普通PC

实验内容及步骤:

(可插入图片)

(1)安装VisualStudio2010

选择VisualStudio2010安装程序文件夹中的Setup.exe,在弹出的对话框中选择

“安装MicrosoftVisualStudio2010”。

在弹出的安装向导中单击“下一步”。

在显示的界面中选中“我已阅读并接受条款”,然后单击下一步。

在显示界面的左侧面板中选择“自定义”,可以改变默认的安装路径。

在安装组件选择的界面中根据实际情况选择需要安装的组件,确保VisualC#被

选中,然后点击安装开始整个安装过程。

等待整个安装过程的完成。

安装完成后,点击完成结束整个安装过程。

在开始菜单中或桌面选择运行VisualStudio2010。

第一次运行VisualStudio2010,需要选择默认环境设置。

选择“VisualC#开发

设置”,然后点击“启动VisualStudio”。

显示的界面即是VisualStudio2010集成开发环境。

(2)安装ArcGISEngine

在ArcGISEngineDeveloperKit10安装目录下点击ESRI.exe,在弹出的安装向导

对话框中单击“ArcObjectsSDKfortheMicrosoft.NETFramework”。

在弹出的对话框中选择Next。

在弹出的对话框中选择“Iacceptlicenseagreement”,并单击“Next”。

根据需要在弹出界面中的功能组件选择对话框中选择要安装的功能组件,并在定

义好安装路径后单击“Next”。

在安装信息确认对话框中单击Next,开始安装过程。

在安装信息确认对话框中单击Next。

在安装完成对话框中单击Finish完成安装过程。

在弹出的对话框中对安装软件进行注册。

点击“RegisterNow”。

选择“RegistrationOptions”中的“IhavereceivedanauthorizationfromESRIandam

nowreadytofinishtheregistrationprocess.”,点击“下一步”继续

在弹出的对话框中选择license文件进行注册。

点击“完成”按钮,完成ArcGISEngine的安装。

实验小结:

通过本实验的学习我掌握了ArcGISEngine软件和VisualStudio2010软件的安装方法,以及能够完成开发环境的配置。

 

指导教师评语及成绩:

 

学生姓名:

丁利旺专业:

地理信息科学班级:

13级4班

课程名称:

组件式GIS二次开发

实验名称:

地图显示与浏览

实验编号:

No2

指导教师:

李丹

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握使用MapControl控件及其它控件进行基本的地图浏览和显示的实现方法。

掌握与地图浏览和显示的相关组件的功能和使用方法。

实验设备:

普通PC

实验内容及步骤:

(可插入图片)

(1)使用向导创建一个ArcGISEngine应用程序

打开VS2010,点击文件菜单下的新建→项目菜单项,弹出新建项目对话框。

在已安装的模版一栏选择VisualC#下面的ArcGIS,选择ExtendingArcobjects,在中间栏将.NETFramework调整至3.5版本,然后选择WindowsApplication(Engine)项目,选择创建位置和名称,点击确定,就建立了一个基于C#和ArcGISEngine的二次开发程序模版。

(2)在窗体上添加Windows菜单,LicenseControl,MapControl,TOCControl,ToolbarControl等控件,并摆放整齐,设置好控件的属性,使其能够加载并显示实例数据,则完成了最基本的地图数据显示和浏览。

(3)添加放大、缩小和全图功能。

privatevoid放大ToolStripMenuItem_Click(objectsender,EventArgse)

{

//使用IMap接口得到当前地图

IMapmap=this.axMapControl1.Map;

//使用IActiveView得到当前的视图

IActiveViewactiveView=mapasIActiveView;

//得到当前视图的显示范围

IEnvelopeenvelope=activeView.Extent;

//新定义一个IEnvelope接口的对象,来存储新的视图范围

IEnvelopenewEnvelope=newEnvelopeClass();

//分别得到当前视图的宽度和高度

doublemapWidth=envelope.XMax-envelope.XMin;

doublemapHeight=envelope.YMax-envelope.YMin;

//计算新视图范围的四个坐标值

newEnvelope.XMin=envelope.XMin+mapWidth/4;

newEnvelope.XMax=envelope.XMax-mapWidth/4;

newEnvelope.YMin=envelope.YMin+mapHeight/4;

newEnvelope.YMax=envelope.YMax-mapHeight/4;

//将新的视图范围赋值给当前视图,从而更新视图范围

activeView.Extent=newEnvelope;

//刷新当前视图,从而显示放大效果

activeView.Refresh();

}

privatevoid缩小ToolStripMenuItem_Click(objectsender,EventArgse)

{

//使用IMap接口得到当前地图

IMapmap=this.axMapControl1.Map;

//使用IActiveView得到当前的视图

IActiveViewactiveView=mapasIActiveView;

//得到当前视图的显示范围

IEnvelopeenvelope=activeView.Extent;

//新定义一个IEnvelope接口的对象,来存储新的视图范围

IEnvelopenewEnvelope=newEnvelopeClass();

//分别得到当前视图的宽度和高度

doublemapWidth=envelope.XMax-envelope.XMin;

doublemapHeight=envelope.YMax-envelope.YMin;

//计算新视图范围的四个坐标值

newEnvelope.XMin=envelope.XMin-mapWidth/4;

newEnvelope.XMax=envelope.XMax+mapWidth/4;

newEnvelope.YMin=envelope.YMin-mapHeight/4;

newEnvelope.YMax=envelope.YMax+mapHeight/4;

//将新的视图范围赋值给当前视图,从而更新视图范围

activeView.Extent=newEnvelope;

//刷新当前视图,从而显示放大效果

activeView.Refresh();

}

privatevoid全图ToolStripMenuItem_Click(objectsender,EventArgse)

{

IMapmap=this.axMapControl1.Map;

IActiveViewactiveView=mapasIActiveView;

activeView.Extent=activeView.FullExtent;

activeView.Refresh();

}

实验小结:

通过本实验的学习掌握了使用MapControl控件及其它控件进行基本的地图浏览和显示的实现方法。

掌握了与地图浏览和显示的相关组件的功能和使用方法。

 

指导教师评语及成绩:

 

学生姓名:

丁利旺专业:

地理信息科学班级:

13级4班

课程名称:

组件式GIS二次开发

实验名称:

地图数据加载

实验编号:

No3

指导教师:

李丹

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握使用空间数据访问组件进行基本的空间数据加载的实现方法。

掌握与地图数据加载的相关组件的功能和使用方法。

实验设备:

普通PC

实验内容及步骤:

(1)使用向导创建一个ArcGISEngine应用程序

打开VS2010,点击文件菜单下的新建→项目菜单项,弹出新建项目对话框。

在已安装的模版一栏选择VisualC#下面的ArcGIS,选择ExtendingArcobjects,在中间栏将.NETFramework调整至3.5版本,然后选择WindowsApplication(Engine)项目,选择创建位置和名称,点击确定,就建立了一个基于C#和ArcGISEngine的二次开发程序模版。

(2)在窗体上添加Windows菜单,LicenseControl,MapControl,TOCControl,ToolbarControl等控件,并摆放整齐,设置好控件的属性,使其能够加载并显示实例数据,则完成了最基本的地图数据显示和浏览。

(3)添加加载shapefile文件的功能。

privatevoidfileGeodatabaseToolStripMenuItem_Click(objectsender,EventArgse)

{

IWorkspaceFactorywf=newFileGDBWorkspaceFactoryClass();

IPropertySetps=newPropertySetClass();

ps.SetProperty("DATABASE",@"D:

\Software\ArcGIS\ArcTutor\ArcTutor\BuildingaGeodatabase\Montgomery.gdb");

IWorkspacews=wf.Open(ps,0);

//MessageBox.Show(ws.Exists().ToString());

IFeatureWorkspacefw=wsasIFeatureWorkspace;

IFeatureClassfc=fw.OpenFeatureClass("parcels");

MessageBox.Show(fc.FeatureCount(null).ToString());

}

实验小结:

通过本实验的学习我掌握了使用空间数据访问组件进行基本的空间数据加载的实现方法以及掌握了与地图数据加载的相关组件的功能和使用方法。

指导教师评语及成绩:

 

学生姓名:

丁利旺专业:

地理信息科学班级:

13级4班

课程名称:

组件式GIS二次开发

实验名称:

地图数据访问

实验编号:

No4

指导教师:

李丹

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握使用空间数据访问组件进行基本的空间数据访问的实现方法。

掌握与地图数据访问的相关组件的功能和使用方法。

实验设备:

普通PC

实验内容及步骤:

(1)使用向导创建一个ArcGISEngine应用程序

打开VS2010,点击文件菜单下的新建→项目菜单项,弹出新建项目对话框。

在已安装的模版一栏选择VisualC#下面的ArcGIS,选择ExtendingArcobjects,在中间栏将.NETFramework调整至3.5版本,然后选择WindowsApplication(Engine)项目,选择创建位置和名称,点击确定,就建立了一个基于C#和ArcGISEngine的二次开发程序模版。

(2)在窗体上添加Windows菜单,LicenseControl,MapControl,TOCControl,ToolbarControl等控件,并摆放整齐,设置好控件的属性,使其能够加载并显示实例数据,则完成了最基本的地图数据显示和浏览。

(3)添加打开图层数据的功能。

privatevoidlayerNameToolStripMenuItem_Click(objectsender,EventArgse)

{

IMapmap=this.axMapControl1.Map;

ILayerlayer=map.get_Layer(0);

MessageBox.Show(layer.Name);

IFeatureLayerfeatureLayer=layerasIFeatureLayer;

IFeatureClassfeatureClass=featureLayer.FeatureClass;

MessageBox.Show(featureClass.AliasName);

}

实验小结:

通过本实验的学习我掌握了使用空间数据访问组件进行基本的空间数据访问的实现方法。

掌握了与地图数据访问的相关组件的功能和使用方法。

 

指导教师评语及成绩:

 

学生姓名:

丁利旺专业:

地理信息科学班级:

13级4班

课程名称:

组件式GIS二次开发

实验名称:

地图制图及输出

实验编号:

No5

指导教师:

李丹

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握使用地图制图和输出组件进行基本地图制图和地图输出的实现方法。

掌握与地图制图和输出的相关组件的功能和使用方法。

实验设备:

普通PC

实验内容及步骤:

(1)使用向导创建一个ArcGISEngine应用程序

打开VS2010,点击文件菜单下的新建→项目菜单项,弹出新建项目对话框。

在已安装的模版一栏选择VisualC#下面的ArcGIS,选择ExtendingArcobjects,在中间栏将.NETFramework调整至3.5版本,然后选择WindowsApplication(Engine)项目,选择创建位置和名称,点击确定,就建立了一个基于C#和ArcGISEngine的二次开发程序模版。

(2)在窗体上添加Windows菜单,LicenseControl,MapControl,TOCControl,ToolbarControl等控件,并摆放整齐,设置好控件的属性,使其能够加载并显示实例数据,则完成了最基本的地图数据显示和浏览。

(3)添加从地图输出图像的功能。

privatevoidprintToolStripMenuItem_Click(objectsender,EventArgse)

{

IPrintAndExportprintAndExport=newPrintAndExportClass();

IExportexport=newExportBMPClass();

export.ExportFileName=@"c:

\1.bmp";

printAndExport.Export(axPageLayoutControl1.ActiveView,export,300,true,null);

}

实验小结:

通过本实验的学习我掌握了使用空间数据访问组件进行基本的空间数据访问

的实现方法并且掌握了与地图数据访问的相关组件的功能和使用方法。

 

指导教师评语及成绩:

 

学生姓名:

丁利旺专业:

地理信息科学班级:

13级4班

课程名称:

组件式GIS二次开发

实验名称:

空间数据查询

实验编号:

No6

指导教师:

实验地点:

逸夫楼6楼机房1

实验时间:

小组合作:

是()

否(√)

小组成员:

实验目的:

掌握使用GIS分析组件进行基本查询功能的实现方法。

掌握与GIS查询的相关组件的功能和使用方法。

实验设备:

普通PC

实验内容及步骤:

(可插入图片)

(1)使用向导创建一个ArcGISEngine应用程序

打开VS2010,点击文件菜单下的新建→项目菜单项,弹出新建项目对话框。

在已安装的模版一栏选择VisualC#下面的ArcGIS,选择ExtendingArcobjects,在中间栏将.NETFramework调整至3.5版本,然后选择WindowsApplication(Engine)项目,选择创建位置和名称,点击确定,就建立了一个基于C#和ArcGISEngine的二次开发程序模版。

(2)在窗体上添加Windows菜单,LicenseControl,MapControl,TOCControl,ToolbarControl等控件,并摆放整齐,设置好控件的属性,使其能够加载并显示实例数据,则完成了最基本的地图数据显示和浏览。

(3)添加查询统计的功能。

privatevoid查询ToolStripMenuItem_Click(objectsender,EventArgse)

{

IQueryFilterqueryFilter=newQueryFilterClass();

stringwhereClause="NAME='郑州'";

queryFilter.WhereClause=whereClause;

IFeatureLayerfeatureLayer=this.axMapControl1.Map.get_Layer

(2)asIFeatureLayer;

IFeatureCursorfeatureCursor=featureLayer.Search(queryFilter,true);

IFeaturefeature=featureCursor.NextFeature();

while(feature!

=null)

{

MessageBox.Show(feature.get_Value(11).ToString());

feature=featureCursor.NextFeature();

}

IFeatureSelectionfeatureSelection=featureLayerasIFeatureSelection;

featureSelection.SelectFeatures(queryFilter,esriSelectionResultEnum.esriSelectionResultNew,true);

this.axMapControl1.ActiveView.Refresh();

}

privatevoid统计ToolStripMenuItem_Click(objectsender,EventArgse)

{

IDataStatisticsdataStatistics=newDataStatisticsClass();

IFeatureLayerfeatureLayer=this.axMapControl1.Map.get_Layer(4)asIFeatureLayer;

dataStatistics.Cursor=(ICursor)featureLayer.FeatureClass.Search(null,false);

dataStatistics.Field="AREA";

IStatisticsResultsstatisticsResult=dataStatistics.Statistics;

MessageBox.Show(statisticsResult.Maximum.ToString());

MessageBox.Show(statisticsResult.Minimum.ToString());

}

 

实验小结:

通过本实验的学习我掌握了使用GIS分析组件进行基本查询功能的实现方

法以及掌握了与GIS查询的相关组件的功能和使用方法。

 

指导教师评语及成绩:

 

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

当前位置:首页 > 初中教育 > 科学

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

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