GIS软件工程实习报告(最短路径分析)..docx
文本预览下载声明
AE开发之基于几何网络的最短路径分析1、实习目的本次实习目的在于熟练掌握ArcGIS Engine开发工具并能够通过C#语言在VS 2010开发环境中完成查询几何网络的最短路径分析的功能。2、实习时间2015年5月23日星期六3、实习内容3.1实验环境操作系统:Windows 2007二次开发平台:VS 2010开发环境、ArcGIS Desktop10.0、AE开发组件3.2实验任务完成基于几何网络分析的最短路径查询功能,即实现通过在几何网络地图中指定起始点,能够查询经过起始点的最短路线,并能够通过缩放功能在地图窗口居中显示。3.3实验步骤3.3.1新建项目选择\文件\新建项目,如图选择项目类型中Visual C#,再选择Windows Application,记为“FindShortPath”,点击确定。3.3.2添加控件3.3.3控件绑定因为添加的控件只是单独存在,但是程序需要各控件间协同工作,因此要进行控件绑定。3.3.4创建几何网络1.在ArcCataLog中新建个人地理数据库—“甘地的个人地理数据库”,然后新建要素数据集“road”,接着,鼠标右键选择要素数据集“road”,选择“导入要素类”,导入需要创建几何网络的要素类“主要公路”,输出要素类的名字改为“road”,如下图所示:2.鼠标右键选择要素数据集“road”,选择新建“几何网络”,则出现“新建几何网络”对话框,作如下图所示的一系列设置,最终得到几何网络“road_Net”。 至此,得到几何网络“road_Net”,如下图所示:3.3.5代码实现最短路径分析设置ToolStrip1添加代码privateIActiveViewm_ipActiveView;private IMapm_ipMap;//地图控件中地图 private IGraphicsContainerpGC;//图形对象privatebool clicked = false;intclickedcount = 0; private double m_dblPathCost = 0; private IGeometricNetworkm_ipGeometricNetwork; private IPointCollectionm_ipPoints;//输入点集合privateIPointToEIDm_ipPointToEID; private IEnumNetEIDm_ipEnumNetEID_Junctions; private IEnumNetEIDm_ipEnumNetEID_Edges; private IPolylinem_ipPolyline;private IMapControl3 mapctrlMainMap = null;private void Form1_Load(object sender, EventArgs e) { //对象初始化mapctrlMainMap = (IMapControl3)this.axMapControl1.Object;m_ipActiveView = axMapControl1.ActiveView;m_ipMap = m_ipActiveView.FocusMap;clicked = false;pGC = m_ipMap as IGraphicsContainer; }private void Findpath_Click(object sender, EventArgs e) {mapctrlMainMap.CurrentTool = 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_ipMap as IGraphicsContainer;ILayeripLayer = m_ipMap.get_Layer(0);IFeatureLayeripFeatureLayer = ipLayer as IFeatureLayer;IF
显示全部