internal static string ToJson(ServiceAreaParam 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("\"isCenterMutuallyExclusive\":{0}", param.IsCenterMutuallyExclusive)); list.Add(string.Format("\"isFromCenter\":{0}", param.IsFromCenter)); list.Add(string.Format("\"weights\":{0}", JsonHelper.FromIList((IList)param.Weights))); json += string.Join(",", list.ToArray()); json += "}"; return json; }
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 = 300, NodeIDField = "SMNODEID", EdgeIDField = "SmID", WeightFieldInfos = list, TNodeIDField = "SMTNODE", FNodeIDField = "SMFNODE", }; //设置网络分析参数 NetworkAnalystParam networkAnalystParam = new NetworkAnalystParam { Point2Ds = points, //IsPathsReturn = true, WeightName = "length", }; //设置服务区分析子参数 ServiceAreaParam serviceArea = new ServiceAreaParam { NetworkAnalystParam = networkAnalystParam, Weights = listweights }; //设置服务区分析参数 ServiceAreaParameters parameters = new ServiceAreaParameters { MapName = "Changchun", NetworkSetting = networkModelSetting, ServiceAreaParam = serviceArea }; //与服务器交互 ServiceAreaService service = new ServiceAreaService("http://localhost:7080/demo"); service.ProcessAsync(parameters); service.Failed += new EventHandler<ServiceFailedEventArgs>(service_Failed); service.ProcessCompleted += new EventHandler<ServiceAreaEventArgs>(service_ProcessCompleted); }