欢迎来到天天文库
浏览记录
ID:47429373
大小:861.81 KB
页数:21页
时间:2020-01-11
《GIS软件工程实习报告(最短路径分析)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AE开发之基于几何网络的最短路径分析1、实习目的本次实习目的在于熟练掌握ArcGISEngine开发工具并能够通过C#语言在VS2010开发环境中完成查询几何网络的最短路径分析的功能。2、实习时间2015年5月23日星期六3、实习内容3.1实验环境操作系统:Windows2007二次开发平台:VS2010开发环境、ArcGISDesktop10.0、AE开发组件3.2实验任务完成基于几何网络分析的最短路径查询功能,即实现通过在几何网络地图中指定起始点,能够查询经过起始点的最短路线,并能够通过缩放功能在地图窗口居中显示。3.3实验步骤3.3.1新建项目选择文件新
2、建项目,如图选择项目类型中VisualC#,再选择WindowsApplication,记为“FindShortPath”,点击确定。3.3.2添加控件3.3.3控件绑定因为添加的控件只是单独存在,但是程序需要各控件间协同工作,因此要进行控件绑定。3.3.4创建几何网络1.在ArcCataLog中新建个人地理数据库—“甘地的个人地理数据库”,然后新建要素数据集“road”,接着,鼠标右键选择要素数据集“road”,选择“导入要素类”,导入需要创建几何网络的要素类“主要公路”,输出要素类的名字改为“road”,如下图所示:2.鼠标右键选择要素数据集“road”,选择
3、新建“几何网络”,则出现“新建几何网络”对话框,作如下图所示的一系列设置,最终得到几何网络“road_Net”。至此,得到几何网络“road_Net”,如下图所示:3.3.5代码实现最短路径分析① 设置ToolStrip1② 添加代码privateIActiveViewm_ipActiveView;privateIMapm_ipMap;//地图控件中地图privateIGraphicsContainerpGC;//图形对象privateboolclicked=false;intclickedcount=0;privatedoublem_dblPathCost=0;
4、privateIGeometricNetworkm_ipGeometricNetwork;privateIPointCollectionm_ipPoints;//输入点集合privateIPointToEIDm_ipPointToEID;privateIEnumNetEIDm_ipEnumNetEID_Junctions;privateIEnumNetEIDm_ipEnumNetEID_Edges;privateIPolylinem_ipPolyline;privateIMapControl3mapctrlMainMap=null;privatevoidForm1
5、_Load(objectsender,EventArgse){//对象初始化mapctrlMainMap=(IMapControl3)this.axMapControl1.Object;m_ipActiveView=axMapControl1.ActiveView;m_ipMap=m_ipActiveView.FocusMap;clicked=false;pGC=m_ipMapasIGraphicsContainer;}privatevoidFindpath_Click(objectsender,EventArgse){mapctrlMainMap.Current
6、Tool=null;//设置鼠标样式axMapControl1.MousePointer=esriControlsMousePointer.esriPointerCrosshair;if(axMapControl1.LayerCount==0){MessageBox.Show("请先加载几何网络数据!");return;}m_ipActiveView=axMapControl1.ActiveView;m_ipMap=m_ipActiveView.FocusMap;clicked=false;pGC=m_ipMapasIGraphicsContainer;ILaye
7、ripLayer=m_ipMap.get_Layer(0);IFeatureLayeripFeatureLayer=ipLayerasIFeatureLayer;IFeatureDatasetipFDS=ipFeatureLayer.FeatureClass.FeatureDataset;OpenFeatureDatasetNetwork(ipFDS);clicked=true;clickedcount=0;pGC.DeleteAllElements();}privatevoidSolvePath_Click(objectsender,EventArgse){ax
8、MapCo
此文档下载收益归作者所有