GIS课程设计.docx

上传人:p** 文档编号:726826 上传时间:2024-01-29 格式:DOCX 页数:23 大小:339.43KB
下载 相关 举报
GIS课程设计.docx_第1页
第1页 / 共23页
GIS课程设计.docx_第2页
第2页 / 共23页
GIS课程设计.docx_第3页
第3页 / 共23页
GIS课程设计.docx_第4页
第4页 / 共23页
GIS课程设计.docx_第5页
第5页 / 共23页
GIS课程设计.docx_第6页
第6页 / 共23页
GIS课程设计.docx_第7页
第7页 / 共23页
GIS课程设计.docx_第8页
第8页 / 共23页
GIS课程设计.docx_第9页
第9页 / 共23页
GIS课程设计.docx_第10页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《GIS课程设计.docx》由会员分享,可在线阅读,更多相关《GIS课程设计.docx(23页珍藏版)》请在第壹文秘上搜索。

1、本科生实验报告实验课程GIS课程设计学院名称地球科学学院专业名称地理信息科学摘要针对本专业目前所学的GIS应用与GIS开发课程的要求,本次课程设计主要是对GlS二次开发与GlS软件应用进行相关编码和上机实验,主要利用ArCEngine二次开发平台和VS2013开发工具完成了地物统计的GIS二次开发实验、利用ArcGIS和Envi等相关软件完成了甘孜水利侵蚀的计算,旨在培养GIS的开发与应用能力,实际的问题解决能力和动手能力,加强了学生对GlS相关应用领域的理解。关键词:空间分析、算法、GIS应用、ArcEngineArcMapEnVi、甘孜、水利侵蚀目录实验一:ArCEngine二次开发实验:

2、地物分类统计11.1. 实验目的11.2. 实验内容11.3. 地物分类统计技术流程11.3.1 算法思想及算法流程图11.3.2 关键代码21.3.3 算法实现111.4. 实验总结12实验二:GIS应用实验:甘孜县水利侵蚀132. 1.实验目的133. 2.实验内容134. 3.甘孜县水利侵蚀统计技术流程132.3.1流程图132.3.2技术流程132.3.3技术成果192.4.实验总结20实验一:ArCEngine二次开发实验:地物分类统计1.1. 实验目的(I)熟练搭建ArCEngine开发环境,了解ArCEngine和ArCObjeCtS相关接口和实体类(2)利用ArCEngine实

3、现地物分类统计,缓冲区运算,拓扑运算和地图导出等功能(3)进一步熟悉ArCEngine开发接口以及高级功能,加深对GIS空间分析和空间统计的理解1.2. 实验内容利用C#语言、VS开发工具、ArCEngine开发平台实现地物分类统计1.3. 地物分类统计技术流程1.4. 1算法思想及算法流程图算法基本思想:(1)二次开发Com组件TTool,分别是用于线统计和面统计两类的工具(2)数据输入及相关初始化,选择统计工具(3)如果统计工具是面统计,则获取地图控件的轨迹多边形,否则就是线统计,获取地图控件的轨迹线,并对线做35的缓冲区。使用IElement接口绘图,然后使用IActivView导出地图

4、(4)使用TQueryFilter进行空间查询,然后使用IDataStatiStiCS接口统计地类名称字段的值集合(5)遍历上步中的值集合,每个迭代中通过值构造SqI语句Where条件”地类名称二值”,同时结合(3)步中的轨迹多边形或者缓冲区,运用ISPatialFilter进行空间查询。遍历每个要素,统计该要素与轨迹多边形或缓冲区的相交图形的距离,从而得出每类地物的面积(6)使用IArea求出轨迹多边形或者缓冲区的总面积(7)相关结果可视化展示,算法结束算法流程图:图1-1地物分类统计流程图1.5. 2关键代码实现该算法的核心代码如下:统计工具核心:/Summarydescriptionfo

5、rStaticTool./Guid(*0428808a-4782-4f81-a0b3-93be6e9226dc*)Classinterface(ClassInterfaceType.None)ProgId(wGisStatistics.Com.StaticTool*)publicsealedclassPolygonStaticTool:BaseToolprivateIHookHelperm_hookHelper=null;privateIMapControlSmapControl=null;privateIToolbarControltooIBarControl=null;publicPoly

6、gonStaticToolO(/TODO:Definevaluesforthepublicproperties/base.m_category=*;/localizabletextbase.m_caption=面统计;/localizabletextbase.m_message=而统计;/localizabletext(e. g.base.m,toolTip=使用多边形进行统计;/localizabletextbase,mname=面统计;/uniqueid,non-localizable*MyCategory_MyTool*)try/TODO:changeresourcenameifnece

7、ssary/stringbitmapResourceNamc=GetTypeO.Name+”.bmp;base.m_bitmap=newBitmap(GetTypeO,bitmapResourceNamc);base.m_cursor=newSystem.Windows.Forms.Cursor(GetTypeO,GetType().Name)catch(Exceptionex)System.Diagnostics.Trace.WriteLine(ex.Message,“InvalidBitmap);#regionOverriddenClassMethods/Occurswhenthistoo

8、liscreated/InstanceofthealicationpublicoverridevoidOnCreateCobjecthook)(try(m_hookllelper=newHookHelperClassO;m_hookllelper.Hook=hook;if(m_hookllelper.ActiveView=null)(m_hookHelper=null;catchm_hookllelper=null;)if(m-hook11elper=null)base.m_enabled=false;elsebase.m_enabled=true;/TODO:Addotherinitiali

9、zationcodethis.toolBarControl=hookasIToolbarControl;this.mapControl=this.toolBarControl.BuddyasIMapControl3;/Occurswhenthistoolisclicked/publicoverridevoidOnClickO(/TODO:AddStaticTool.OnClickimplementationthis.mapControl.CurrentTool=this;)publicoverridevoidOnMouseDown(intButton,intShift,intX,intY)(/

10、TODO:AddStaticTool.OnMouseDownimplementationif(Button=1)!GeometrypGeometry=this.mapControl.TrackPolygonO;SymbolUtil.InsertNormalLineElement(mapControl,TopologicOpreatorUtil.GetGeometryBoundary(PGeometry),255,O,O);newStatisForm(pGeometry,this.mapControl,OutputImage(pGeometry).ShowDialogO;SymbolUtiLCl

11、earElement(mapContro1);)privatevoidoutPutArea(IGeometrypGeometry)(ITopologicalOperatorpTopoIogicOperator=pGeometryasITopologicalOperator;pTopo1ogicOperator.Simplify();/pTopologicOperator.ClipIActiveViewpActiveView=this.mapControlasIActiveView;/PictureBoxp=newPictureBoxO;/pActiveView.Output();private

12、ImageOutputImagedGeometrypGeometry)(returnMapImageUtil.SaveCurrentToImage(mapControl.Map,331,151,pGeometry.Envelope);#CndregiOn/IllSummarydescriptionforPolylineStaticTool./Guid(*62751d8d-07b3-4d84-a559-5ebdafbb4e0e*)Classinterface(ClassInterfaceType.None)ProgId(wGisStatistics.Com.PolylineStaticTool*

13、)publicsealedclassPolylineStaticTool:BaseToolprivateIHookHelperm_hookHelper=null;privateIMapContro13mapControl=null;privateIToolbarControltooIBarControl=null;publicPolylineStaticToolO(/TODO:Definevaluesforthepublicproperties/base.m_category=;/localizabletextbase.m_caption=线统计;/localizabletextbase.m_

14、message=线统计;/localizabletextbase.m_toolTip=使用线段缓冲区进行统计;/localizabletextbase.m_name=线统计;/uniqueid,non-localizable(e.g.*MyCategory_MyTool*)try(/TODO:changeresourcenameifnecessary/stringbitmapResourceName=GetType().Name+”.bmp;base.m_bitmap=newBitmap(GetTypeO,bitmapResourceName);base.m_cursor=newSystem.Windows.Forms.Cursor(GetTypeO,GetType().Name+”.cur*);)catch(Exceptionex)System.Diagnostics.Trace.WriteLine(ex.Message,*InvalidBitmap*);)regionOverriddenClassMethods/OccurswhenthistooliscreatedIII/Instanceoftheapplicationp

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

当前位置:首页 > 办公文档 > 课程设计

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!