已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络分析系统设计-课程设计1.1系统网络分析功能模块的实现1.1.1 最优路径查询的实现本模块是对最短路径的求解, 给定的两个点之间找到一个最短路径, 下拉框里列出了用于分析的街道名称,供用户来选择起点和终点.下面是最优查询的主程序: try / 取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) if (naServer = null) throw (new System.Exception(Could not find the web service.); / 取得网络分析参数 string naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers0) as NAServerSolverParams; / 设置网络分析路径参数 NAServerRouteParams routeParams = solverParams as NAServerRouteParams; /对起点和终点地理编码 LoadLocations(solverParams);/自定义函数 / 解决问题 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); / 显示结果 OutputResults(solverResults); /自定义函数 1.1.2 设置障碍点的实现在GIS网络分析中,如何寻找避开障碍点而到达目的地最近或最快的道路.如下是核心代码: private void Solvebarriers() try / 取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) if (naServer = null) throw (new System.Exception(Could not find the web service.); / 取得网络分析参数 string naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers0) as NAServerSolverParams; / 设置网络分析路径参数NAServerRouteParams routeParams = solverParams as NAServerRouteParams; LoadLocationsbarriers(solverParams);/与最优路径最大的不同 / 解决问题-查找路径 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); /显示结果 OutputResults(solverResults); 请与最优路径的结果图对比,便可发现路线不同.1.1.3 通达性分析的实现本系统的通达性分析是分析两个地点之间的通达,如果两点之间是通达的那么分析最短路径的时候会返回一系列的路径方向,这个方向是让用户明白怎样走,如果不能够通达,那么就不能返回,或者返回的为空,根据这一思路,设计程序如下: private void SolveArrive() try / 取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) if (naServer = null)throw (new System.Exception(Could not find the web service.); / 取得网络分析参数 string naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers0) as NAServerSolverParams; / 设置网络分析参数 NAServerRouteParams routeParams = solverParams as NAServerRouteParams; LoadLocationsArrive(solverParams); / 查找路径 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); NAServerRouteResults RouteSolverResults = solverResults as NAServerRouteResults;/显示结果 if (RouteSolverResults.Directions != null) this.Label20.Text = 分析结果:能够成功到达; else this.Label20.Text = 分析结果:不能到达; 255 基于ARCGIS SERVER的网络分析功能实现及应用资源配送的实现资源分配问题,就是将数量一定的资源(如原材料、资金、机器设备、劳动力、食品等)恰当地分配给若干个使用者, 使总的路径值最优private void SolveSource() try /取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) if (naServer = null)throw (new System.Exception(Could not find the web service.); /取得网络分析参数 string naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers0) as NAServerSolverParams; /设置网络分析参数NAServerRouteParams routeParams = solverParams as NAServerRouteParams; /对起点和终点地理编码 LoadLocationsSource(solverParams); /查找路径 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); /显示结果 OutputSourceResults(solverResults); 1.1.5 道路分析与建议根据道路的统计数据分析各条道路的现状,以及给行人分析行走路线或者给政府部门进行各种整顿工作.如下代码是显示道路数据的明细情况: string strQuery = select * from streetculture ; DataSet ds = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter(); adapter.SelectCommand = new OleDbCommand(strQuery, conn); adapter.Fill(ds); this.GridView3.DataSource = ds; this.GridView3.DataBind();如下代码是综合得分的代码: while (reader.Read() scorei = (int)100 - (int)reader.GetValue(1) * 2 - (int)reader.GetValue(2) * 3 - (int)reader.GetValue(3); namei = (string)reader.GetValue(0); i+; 如下代码是给各个部门的建议: string strQuery1 = select * from streetculture where 堵车次数10; OleDbCommand cmd = new OleDbCommand(strQuery1, conn); OleDbDataReader reader = cmd.ExecuteReader();this.TextBox8.Text = 以下地方请政府部门注意,希望能够加强道路分流; while (reader.Read() this.TextBox8.Text += (string)reader.GetValue(0) + ,; reader.Close(); conn.Close();1.2 综合实例的实现1.2.1 道路通之一:轿车助手本实例是综合了最优路径查询与设置障碍点, 障碍点可以用户自己设置,可以增加也可以删除.系统默认有四个障碍,列在表中,当用户设置完成后,只要点击确定就可以找到最优路径.其核心代码如下:private void SolveCAR() try /取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) if (naServer = null)throw (new System.Exception(Could not find the /取得网络分析参数 string naLayers = naServer.GetNALayerNames(esriNAServerLayerType.esriNAServerRouteLayer); NAServerSolverParams solverParams = naServer.GetSolverParameters(naLayers0) as NAServerSolverParams; /设置网络分析参数 NAServerRouteParams routeParams = solverParams as NAServerRouteParams; /对起点和终点地理编码LoadLocationsCar(solverParams); /查找路径 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); /显示结果 OutputResults(solverResults); 网络分析系统1.2.2 道路通之二:货运助手本实例是综合了资源配送与设置障碍点, 只要用户选择资源点与需求点,同样障碍点可以用户自己设置,可以增加也可以删除.系统默认有四个障碍,列在表中,当用户设置完成后,只要点击确定就可以找到最优路径.其核心代码有:private void SolveDriverSource() try /取得网络分析服务 using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) /设置网络分析参数NAServerRouteParams routeParams = solverParams as NAServerRouteParams; /对起点和终点地理编码LoadLocationsDriverSource(solverParams); /查找路径 NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); /显示结果 OutputSourceResults(solverResults); 1.2.3 应急响应之一:急救先锋本实例是实现查找最近设施,其主要应用就是应急响应,这个实例是服务病人或者医院,为了应急,各样应从简,更合实际.如下是核心代码: protected void Button39_Click(object sender, EventArgs e) /取得网络分析服务using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) /取得网络分析参数NAServerSolverParams solverParams = naServer.GetSolverParameters(Closest Facility) as NAServerSolverParams;/设置网络分析参数 NAServerClosestFacilityParams closestfacilityParams = solverParams as NAServerClosestFacilityParams; /查找路径 LoadLocationsHospital(solverParams); NAServerSolverResults solverResults; solverResults = naServer.Solve(solverParams); /显示结果 OutputhospitalResults(solverResults); 1.2.4 应急响应之二:消防助手本实例是实现查找最近设施,其主要应用就是应急响应,这个实例是服务消防部门, 确定火灾的严重程度,再决定派遣的小分队数,再从小分队所在地出发,找到最为合适的路径,同时会给出详细的说明来引导消防部门protected void Button37_Click(object sender, EventArgs e) /取得网络分析服务using (NAServerProxy naServer = NAServerProxy.Create(SERVER_NAME, ROUTE_SERVICE_NAME, null) /取得网络分析参数NAServerSolverParams solverParams = naServer.GetSolverParameters(Closest Facility) as NAServerSolverParams; NAServerClosestFacilityParams closestfacilityParams = solverParams as NAServerClosestFacilityParams;/设置分析参数 /查找路径 LoadLocationsFiretry(solverParams); solverRes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁道党校面试题目及参考答案展示
- 连铸设备培训习题及答案展示
- 水果功效相关试题与答案全解
- 心理专业常见试题及深度分析
- 2026年共青团业务岗位模拟复习题(含答案)
- 2026年电力企业安全生产培训考试试卷试题及答案
- 2026年出租厂房消防安全管理考试试卷试题及答案
- 2026年统计专业技术中级资格考试(统计工作实务)模拟测试卷及答案(广东省)
- 2026年卫健系统安全生产+卫生法规综合题库及答案
- 2026年水库大坝安全管理条例运维题库
- 《糖尿病足:内科与外科治疗》札记
- 砂石料运输合作协议书范本
- 初中语文现代文阅读训练及答案二十篇
- FZT 90097-2017 染整机械轧车线压力
- 唐山机务段新建整备棚吊装施工方案样本
- 工程建设施工协议示范文本GF-2023-0201
- 康复护理专科技术
- GB/T 13871.3-2023密封元件为弹性体材料的旋转轴唇形密封圈第3部分:贮存、搬运和安装
- 消防知识互动问答
- 测绘法规与工程管理(第2版)PPT完整全套教学课件
- 高尿酸血症与痛风规培讲座
评论
0/150
提交评论