//最佳路径分析 private void PathAnalyst_Click(object sender, RoutedEventArgs e) { //设置权重字段列表 WeightFieldInfo weightFieldInfo = new WeightFieldInfo { Name = "length", TFWeightField = "SmLength", FTWeightField = "SmLength" }; List<WeightFieldInfo> list = new List<WeightFieldInfo>(); list.Add(weightFieldInfo); //设置网络分析模型 NetworkModelSetting networkModelSetting = new NetworkModelSetting { NetworkDatasetName = "RoadNet", NetworkDataSourceName = "changchun", Tolerance = 30, NodeIDField = "SMNODEID", EdgeIDField = "SmID", WeightFieldInfos = list, TNodeIDField = "SMTNODE", FNodeIDField = "SMFNODE", }; //设置网络分析参数 NetworkAnalystParam networkAnalystParam = new NetworkAnalystParam { Point2Ds = points, IsPathsReturn = true, WeightName = "length", }; //设置路径分析参数 PathParam pathParam = new PathParam { NetworkAnalystParam = networkAnalystParam }; //设置最佳路径分析参数 FindPathParameters parameters = new FindPathParameters { MapName = "Changchun", NetworkSetting = networkModelSetting, PathParam = pathParam }; //与服务器交换 FindPathService service = new FindPathService("http://localhost:7080/demo"); service.ProcessAsync(parameters); service.Failed += new EventHandler<ServiceFailedEventArgs>(service_Failed); service.ProcessCompleted += new EventHandler<NetworkAnalystEventArgs>(service_ProcessCompleted); }
/// <overloads>${iServer2_FindPathService_method_ProcessAsync_overloads_D}</overloads> /// <summary>${iServer2_FindPathService_method_ProcessAsync_D}</summary> /// <param name="parameters">${iServer2_FindPathService_method_ProcessAsync_param_parameters}</param> public void ProcessAsync(FindPathParameters parameters) { ProcessAsync(parameters, null); }
/// <summary>${iServer2_FindPathService_method_ProcessAsync_D}</summary> /// <param name="parameters">${iServer2_FindPathService_method_ProcessAsync_param_parameters}</param> /// <param name="state">${iServer2_FindPathService_method_ProcessAsync_param_state}</param> public void ProcessAsync(FindPathParameters parameters, object state) { if (parameters == null) { //TODO:资源 // throw new ArgumentNullException("NetworkAnalystParameters is Null"); throw new ArgumentNullException(SuperMap.Web.iServerJava2.Resources.ExceptionStrings.ArgumentIsNull); } if (string.IsNullOrEmpty(this.Url)) { //TODO:资源 // throw new InvalidOperationException("Url is not set"); throw new InvalidOperationException(SuperMap.Web.iServerJava2.Resources.ExceptionStrings.InvalidUrl); } if (!base.Url.EndsWith("/")) { base.Url += '/'; } base.SubmitRequest(base.Url + "commonhandler?", GetParameters(parameters), new EventHandler<RequestEventArgs>(request_Completed), state, false); }
private System.Collections.Generic.Dictionary<string, string> GetParameters(FindPathParameters parameters) { Dictionary<string, string> dictionary = new Dictionary<string, string>(); string method = "FindPath"; dictionary.Add("method", method); dictionary.Add("mapName", parameters.MapName); Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("mapName", parameters.MapName); dict.Add("networkSetting", NetworkModelSetting.ToJson(parameters.NetworkSetting)); dict.Add("pathParam", PathParam.ToJson(parameters.PathParam)); dictionary.Add("params", Bridge.CreateParams(method, dict)); return dictionary; }