GIS开发实习报告Word下载.doc
- 文档编号:13161032
- 上传时间:2022-10-07
- 格式:DOC
- 页数:16
- 大小:791.50KB
GIS开发实习报告Word下载.doc
《GIS开发实习报告Word下载.doc》由会员分享,可在线阅读,更多相关《GIS开发实习报告Word下载.doc(16页珍藏版)》请在冰豆网上搜索。
掌握在C#和ArcEngine环境下构建应用型地理信息系统的方法。
二、实习内容
l熟悉开发环境:
VisualStudio2010;
C#;
ArcEngine10.1
l功能需求分析
l基于组件技术开发应用型地理信息系统
组件式技术已成为当今软件技术的潮流之一。
组件式GIS软件的基本思想是把GIS各大功能模块划分为几个控件。
各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。
重点完成的工作包括:
1)建立ArcGISEngine应用程序框架;
2)实现对矢量数据(ShapeFile格式)的访问;
3)实现采用简单、唯一值、分类等多种方式对面状矢量数据进行渲染(Render)。
三、实习步骤:
实习一:
初识ArcGISEngine开发环境
1、新建一个Windows窗体应用程序
2、在新建窗体中添加控件
在工具箱中选择添加toolbarcontrol,TOCControl,MapControl控件
在解决方案资源管理器中双击program.cs在主函数中添加ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);
使得文件可以加载到MapControl中。
右击toolbarcontrol选择属性,如图选择Items选项,添加如图控件
右击MapControl属性,在General的mapdocument中添加要加载的地图文件
通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。
分别右击ToolbarControl、TOCControl控件,将Buddy设置为axMapControl1。
试运行一下如图
可以看出基本框架已经搭建好了,但是还得调整一下布局
在工具箱的所有Windows窗体下选择控件,放在窗体里,如图
分别选择窗体里TOCControl,MapControl的属性,将其Dock值设置为fill,如图
调整窗体布局如图
实习二:
建立ArcGISEngine应用程序框架
2.1地图浏览
1、新建项目,添加控件
新建windows窗体应用程序,选择工具箱中StatusStrip(状态栏),将其拖入到窗体,再选择工具箱中的ToolbarControl控件拖入窗体,修改dock值为TOP,再将SplitContainer控件拖入窗体,Dock设置为Fill,将TabControl控件拖入Panel1,将Alignment属性设置为Bottom,Dock属性设置为Fill。
点击TabPages属性右边的按钮,弹出TabPage集合编辑器,将tabPage1的Name设置为“Layer”,Text设置为“图层”;
将tabPage2的Name设置为“Property”,Text设置为“属性”。
选择“图层”选项卡,拖入TOCControl控件,设置Dock属性为Fill,选择“属性”选项卡,拖入所有Windows窗体|PropertyGrid控件,设置Dock属性为Fill。
拖入TabControl控件到Panel2,设置Dock属性为Fill。
结果如图所示:
2、加shp数据
在工具箱中选择MenuStrip控件,添加到左上角,命名为文件,下拉选项为打开矢量数据和打开栅格数据,如图:
同样添加地图渲染,及其下拉选项简单渲染、唯一值渲染、分级渲染,如图:
3、代码处理
选中文件控件下的加入矢量数据控件,双击事件并写入代码,在开始使用ArcGISEngine进行编码前,首先需要添加ArcGIS的引用,在解决方案管理器中右键点击“添加引用”,如图:
usingESRI.ArcGIS.Carto;
usingESRI.ArcGIS.Controls;
usingESRI.ArcGIS.esriSystem;
usingESRI.ArcGIS.Display;
usingESRI.ArcGIS.Geometry;
usingESRI.ArcGIS.SystemUI;
usingESRI.ArcGIS.DataSourcesRaster;
///////////////为SHP数据功能增加的类库
usingESRI.ArcGIS.DataSourcesFile;
usingESRI.ArcGIS.Geodatabase;
usingSystem.IO;
键入的代码如图:
实习三:
矢量要素符号化
1、简单渲染
选中“简单渲染”菜单,在属性框中点击事件按钮,在事件列表中双击Click事件;
或者双击“简单渲染”菜单,在方法内输入处理代码。
部分代码如下:
privatevoid简单渲染ToolStripMenuItem_Click(objectsender,EventArgse)
{
IFeatureLayerpFLForRender=axMapControl1.get_Layer(0)asIFeatureLayer;
SimpleRender(pFLForRender,@"
"
);
}
privatevoidSimpleRender(IFeatureLayerpFeatureLayer,stringsFieldName)
//设置用于渲染的颜色
IRgbColorpColor=newRgbColor();
pColor.Red=255;
pColor.Blue=0;
pColor.Green=0;
//设置用于渲染的符号的基本属性(面状符号)
ISimpleFillSymbolpSFSBase=newSimpleFillSymbol();
pSFSBase.Style=esriSimpleFillStyle.esriSFSSolid;
//设置填充方式
pSFSBase.Outline.Width=0.4;
//设置边框的宽度
pSFSBase.Color=pColorasIColor;
//设置简单渲染的相关属性
ISimpleRendererpSR=newSimpleRenderer();
pSR.Symbol=pSFSBaseasISymbol;
//接口转换,对渲染方式进行设置
IGeoFeatureLayerpGFL=pFeatureLayerasIGeoFeatureLayer;
pGFL.Renderer=pSRasIFeatureRenderer;
//地图刷新
axMapControl1.Refresh();
2、唯一值渲染
privatevoid唯一值渲染ToolStripMenuItem_Click(objectsender,EventArgse)
IFeatureLayerpFLForRender=axMapControl1.get_Layer(0)asIFeatureLayer;
DefineUniqueValueRender(pFLForRender,@"
CONTINENT"
}
privatevoidDefineUniqueValueRender(IFeatureLayerpFeatureLayer,stringsFieldName)
{
//变量声明
boolbValFound;
//判断要素值是否存在
intiFieldIndex;
//用于存储字段所在的索引值
//设置颜色列表,用于随机生成颜色(用于填充面状要素)
//设置颜色的基本属性,包括色调(H)、饱和度(S)以及亮度(V)
IRandomColorRamppRCR=newRandomColorRamp();
pRCR.StartHue=76;
pRCR.EndHue=188;
pRCR.MinSaturation=20;
pRCR.MaxSaturation=40;
pRCR.MaxValue=85;
pRCR.MaxValue=100;
pRCR.UseSeed=true;
pRCR.Seed=43;
//设置唯一值渲染的相关属性
IUniqueValueRendererpUVR=newUniqueValueRenderer();
pUVR.FieldCount=1;
pUVR.set_Field(0,sFieldName);
//遍历要素类的所有要素,并为每个要素设置基本的渲染形式
//遍历要素类中的所有要素
IFeatureClasspFC=pFeatureLayer.FeatureClass;
IFeatureCursorpFCursor=pFC.Search(null,false);
//通过遍历,返回要素指针(FeatureCursor)
IFeaturepFeature=pFCursor.NextFeature();
//获取当前第一个要素
//获得指定字段的索引值
IFieldspFields=pFCursor.Fields;
iFieldIndex=pFields.FindField(sFieldName);
//为不同的要素,设置不同的填充颜色
pRCR.Size=pFC.FeatureCount(null);
//获得应产生的颜色的数目
boolbOK;
pRCR.Create
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GIS 开发 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)