internal static string ToJson(TSPPathParam param) { if (param == null) { return null; } string json = "{"; List<string> list = new List<string>(); list.Add(string.Format("\"networkAnalystParam\":{0}", NetworkAnalystParam.ToJson(param.NetworkAnalystParam))); list.Add(string.Format("\"isEndNodeAssigned\":{0}", param.IsEndNodeAssigned)); json += string.Join(",", list.ToArray()); json += "}"; return json; }
private void PathAnalyst_Click(object sender, RoutedEventArgs e) { TSPPathParam pathParam = new TSPPathParam(); //设置权重字段列表 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 = 300, NodeIDField = "SMNODEID", EdgeIDField = "SmID", WeightFieldInfos = list, TNodeIDField = "SMTNODE", FNodeIDField = "SMFNODE", }; //设置网络分析参数 NetworkAnalystParam networkAnalystParam = new NetworkAnalystParam { Point2Ds = points, IsPathsReturn = true, WeightName = "length", }; //设置旅行商参数,判断是否指定终点 if (terminal.IsChecked == true) { pathParam = new TSPPathParam { NetworkAnalystParam = networkAnalystParam, IsEndNodeAssigned = true }; } else { pathParam = new TSPPathParam { NetworkAnalystParam = networkAnalystParam, }; } //设置旅行商分析参数 FindTSPPathParameters parameters = new FindTSPPathParameters { MapName = "Changchun", NetworkSetting = networkModelSetting, TSPPathParam = pathParam }; //与服务器交换 FindTSPPathService service = new FindTSPPathService("http://localhost:7080/demo"); service.ProcessAsync(parameters); service.Failed += new EventHandler<ServiceFailedEventArgs>(service_Failed); service.ProcessCompleted += new EventHandler<NetworkAnalystEventArgs>(service_ProcessCompleted); }