GIS开发实习报告

上传人:夏** 文档编号:490292606 上传时间:2022-12-19 格式:DOC 页数:21 大小:792KB
返回 下载 相关 举报
GIS开发实习报告_第1页
第1页 / 共21页
GIS开发实习报告_第2页
第2页 / 共21页
GIS开发实习报告_第3页
第3页 / 共21页
GIS开发实习报告_第4页
第4页 / 共21页
GIS开发实习报告_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《GIS开发实习报告》由会员分享,可在线阅读,更多相关《GIS开发实习报告(21页珍藏版)》请在金锄头文库上搜索。

1、学 号实习报告GI程序设计实习起止日期: 年 月13日 至 年 7 月 9日学生姓名吴馁班级1级地信2班成绩指引教师(签字)地质与测绘学院月0日GIS程序设计实习一、实习目的通过GI程序设计实习,使学生理解需求分析、项目管理方案设计、系统总体设计以及系统具体设计、系统实行、运营和维护等阶段要完毕的具体工作;掌握在C和ArEngine环境下构建应用型地理信息系统的措施。二、实习内容l 熟悉开发环境:Vsuldi ; C#; Acngine 10.l 功能需求分析l 基于组件技术开发应用型地理信息系统组件式技术已成为当今软件技术的潮流之一。组件式GIS软件的基本思想是把GIS各大功能模块划分为几种

2、控件。各个GIS控件之间,以及GIS控件与其她非GS控件之间,可以以便地通过可视化的软件开发工具集成起来,形成最后的IS应用。重点完毕的工作涉及:) 建立ArcGIS ngine 应用程序框架;2) 实现对矢量数据(Shpeile格式)的访问;)实现采用简朴、唯一值、分类等多种方式对面状矢量数据进行渲染(Rener)。三、实习环节:实习一: 初识rGIEgi 开发环境1、新建一种Windows窗体应用程序2、在新建窗体中添加控件在工具箱中选择添加tolbacontrol,OCContro,MaContr控件在解决方案资源管理器中双击progra.s在主函数中添加ESIArGIS.Runtime

3、MangerBind(ER.AcGI.rutCodEngne);使得文献可以加载到MapContol中。右击olacontrol选择属性,如图选择tems选项,添加如图控件右击MapControl属性,在Gnera的map ocmet中添加要加载的地图文献通过以上环节添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。分别右击ToolbCtrol、TCConto控件,将Bddy设立为axMaonrol1。试运营一下如图可以看出基本框架已经搭建好了,但是还得调节一下布局在工具箱的所有Window窗体下选择控件,放在窗体里,如图分别选择窗体里TOCCtrol,Mpont

4、r的属性,将其Doc值设立为fil,如图调节窗体布局如图实习二:建立AcGI Engie 应用程序框架2.1 地图浏览1、新建项目,添加控件新建wdo窗体应用程序,选择工具箱中SatuStrip(状态栏),将其拖入到窗体,再选择工具箱中的ToobarCoro控件拖入窗体,修改ock值为T,再将pltCotainr控件拖入窗体,Dck设立为Fil,将TbContrl控件拖入Panel1,将mn属性设立为Boto,Dock属性设立为Fll。点击TabPages属性右边的按钮,弹出bge集合编辑器,将tabage1的Nae设立为“Laye”,Tex设立为“图层”;将tabage的Nam设立为“Pro

5、er”,Text设立为“属性”。选择“图层”选项卡,拖入TOCControl控件,设立Doc属性为Fl,选择“属性”选项卡,拖入所有Wiows窗体|PropeGrid控件,设立Doc属性为Fi。 拖入abCntro控件到Panel2,设立Dck属性为Fil。成果如图所示:2、加shp 数据在工具箱中选择Mnur控件,添加到左上角,命名为文献,下拉选项为打开矢量数据和打开栅格数据,如图:同样添加地图渲染,及其下拉选项简朴渲染、唯一值渲染、分级渲染,如图:3、代码解决选中文献控件下的加入矢量数据控件,双击事件并写入代码,在开始使用cGI Engine进行编码前,一方面需要添加rcS的引用,在解决方

6、案管理器中右键点击“添加引用”,如图:usingESRI.ArS.Crto;usin ERI.cGIS.Conrols; singERIArcGS.sriSysem;usigESRIArcIS.Display;usg R.ArcGISGeometry; usi ES.ArcGIS.ystmUI; usig ESI.ArcGIS.DataSoresRaster; /为SH数据功能 增长的类库 uig ESI.AGIS.DataSoresFile;singEI.AGI.Godatabase; usng Systm.IO;键入的代码如图:实习三:矢量要素符号化1、 简朴渲染选中“简朴渲染”菜单,在属

7、性框中点击事件按钮,在事件列表中双击Cick事件;或者双击“简朴渲染”菜单,在措施内输入解决代码。部分代码如下:private void简朴渲染TlStripMuem_lk(object endr, EeArs e) Ieaturayer LoReder = axMapConrl.et_Laye(0) aIeaturLa; SimplRnde(LForender,); pivae voidSmpleRnder(IetLaye pFeatureayer, srng FeldNme) /设立用于渲染的颜色 IRgColor plor new RgColr(); Colo.e = 255; Colo

8、r.Blue = 0; Colo.Geen= 0; /设立用于渲染的符号的基本属性(面状符号) SimpellSymbl pSFSBe e SimpleFillSybl(); pSFSBse.Style = esiSipleiltyle.riSFSSolid; /设立填充方式 pSFSBas.utlie.idth 0.4; /设立边框的宽度 pSaeColo = pCor a ICoo; /设立简朴渲染的有关属性 ISimplRnderer pSR new pleRenderer(); R.ybl = pSFSBasas ISymbol; /接口转换,对渲染方式进行设立 IGeoFaturea

9、yerFL = pFeatreLayer IGeoatureLayer; pGFLRender = pSR aseatreRender; /地图刷新 axMapCntro1.efreh(); 2、 唯一值渲染prte void 唯一值渲染ToolSpMeuIeClick(object sende, Eventrg e) IFeatureaye pLorRener = aMontrol.get_Lae(0) as Featraer; iniueleRender(FLFRendr, CONTNNT); priate voi DfineUniueValuener(IFeatureLayer pFea

10、tureLar, strnsFieldName) /变量声明 bol bValFund; /判断要素值与否存在 n ildIndex; /用于存储字段所在的索引值 /设立颜色列表,用于随机生成颜色(用于填充面状要素) /设立颜色的基本属性,涉及色调(H)、饱和度(S)以及亮度(V) IRndmColrRm pC newRandomCorRamp(); pRR.SatHue = 76; pC.EndHu 18; pRMnSaurtin = 20; RMaSataton 4; pCR.MVle =85; CR.aalue = 10; pRRUseSeed rue; pRC.Seed =43; /设

11、立唯一值渲染的有关属性 InuVaueederer pUV =nw UiuealeRederer(); pUV.Fidout=1; pUVRse_Field(, sFeldNae); /遍历要素类的所有要素,并为每个要素设立基本的渲染形式 /遍历要素类中的所有要素 IFeaturClss pC= pFeaureLayer.FeatureClas; IFeatureCursor pursor = p.Search(ull, fase); 通过遍历,返回要素指针(FeaureCrsor) IFeatuepeatre = pFursrexFature(); /获取目前第一种要素 /获得指定字段的索引值 Fiels pields =purso.Fd; iFeldnde= piels.FindFie(sieda); /为不同的要素,设立不同的填充颜色 pC.Size= FCFeatureCount(nul);/获得应产生的颜色的数目 bo bOK; pRCR.reateRmp(out bOK); /判断随机颜色生产

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号