毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

网络分析系统设计

更新时间:2009-3-20:  来源:毕业论文

网络分析系统设计
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(naLayers[0]) 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(naLayers[0]) 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(naLayers[0]) 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

[1] [2] [3] 下一页

网络分析系统设计下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©lwfree.cn 六维论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。