コード例 #1
0
        private void Mtsp_Click(object sender, RoutedEventArgs e)
        {
            FindMTSPPathsParameters<int> param = new FindMTSPPathsParameters<int>
            {
                Centers = new List<int> { 2, 5, 7 },
                Nodes = new List<int> { 1, 6, 21 },
                HasLeastTotalCost = false,

                Parameter = new TransportationAnalystParameter
                {
                    ResultSetting = new TransportationAnalystResultSetting
                    {
                        ReturnEdgeFeatures = true,
                        ReturnEdgeGeometry = true,
                        ReturnEdgeIDs = true,
                        //ReturnImage = false,
                        ReturnNodeFeatures = true,
                        ReturnNodeGeometry = true,
                        ReturnNodeIDs = true,
                        ReturnPathGuides = true,
                        ReturnRoutes = true
                    },
                    //MapParameter = new NAResultMapParameter
                    //{
                    //    Viewer = new Rect(0, 0, 256, 256),
                    //    Format = OutputFormat.PNG
                    //},
                    WeightFieldName = "length",
                    TurnWeightField = "TurnCost"
                }

            };
            FindMTSPPathsParameters<Point2D> paramPoint = new FindMTSPPathsParameters<Point2D>
            {
                Centers = new List<Point2D> { new Point2D(4737.65773280094, -3406.06007171244),
                    new Point2D(5645.28372661686, -3312.88173774655) },
                Nodes = new List<Point2D> { new Point2D(5737.65773280094, -3406.06007171244),
                    new Point2D(4645.28372661686, -3312.88173774655) },
                HasLeastTotalCost = false,

                Parameter = new TransportationAnalystParameter
                {
                    ResultSetting = new TransportationAnalystResultSetting
                    {
                        ReturnEdgeFeatures = true,
                        ReturnEdgeGeometry = true,
                        ReturnEdgeIDs = true,
                        //ReturnImage = false,
                        ReturnNodeFeatures = true,
                        ReturnNodeGeometry = true,
                        ReturnNodeIDs = true,
                        ReturnPathGuides = true,
                        ReturnRoutes = true
                    },
                    //MapParameter = new NAResultMapParameter
                    //{
                    //    Viewer = new Rect(0, 0, 256, 256),
                    //    Format = OutputFormat.PNG
                    //},
                    WeightFieldName = "length",
                    TurnWeightField = "TurnCost"
                }

            };
            FindMTSPPathsService mTSPPathsService = new FindMTSPPathsService(networkUrl);
            mTSPPathsService.ProcessAsync(paramPoint);
            mTSPPathsService.Failed += Failed;
            mTSPPathsService.ProcessCompleted += new EventHandler<FindMTSPPathsEventArgs>(mTSPPathsService_ProcessCompleted);
        }
        private void PathAnalyst_Click(object sender, RoutedEventArgs e)
        {
            if (points.Count == 0)
            {
                MessageBox.Show("请选择配送目标");
                return;
            }

            FindMTSPPathsParameters<Point2D> paramPoint2D = new FindMTSPPathsParameters<Point2D>
            {
                HasLeastTotalCost = false,

                //已选定的中心站点
                Centers = new List<Point2D> { new Point2D(4100, -4100), new Point2D(4500, -3000), new Point2D(5000, -3500) },
                Nodes = points,
                Parameter = new TransportationAnalystParameter
                {
                    BarrierEdgeIDs = null,
                    BarrierNodeIDs = null,
                    TurnWeightField = "TurnCost",
                    WeightFieldName = "length",
                    ResultSetting = new TransportationAnalystResultSetting
                    {
                        ReturnEdgeFeatures = true,
                        ReturnEdgeGeometry = true,
                        ReturnEdgeIDs = true,
                        ReturnNodeFeatures = true,
                        ReturnNodeGeometry = true,
                        ReturnNodeIDs = true,
                        ReturnPathGuides = true,
                        ReturnRoutes = true
                    }
                }
            };

            //与服务器交互
            FindMTSPPathsService findMTSPPathsService = new FindMTSPPathsService("http://*****:*****@Changchun");
            findMTSPPathsService.ProcessAsync(paramPoint2D);
            findMTSPPathsService.ProcessCompleted += new EventHandler<FindMTSPPathsEventArgs>(findMTSPPathsService_ProcessCompleted);
            findMTSPPathsService.Failed += new EventHandler<ServiceFailedEventArgs>(findMTSPPathsService_Failed);
        }
コード例 #3
0
        async private void PathAnalyst_Click(object sender, RoutedEventArgs e)
        {
            if (points.Count == 0)
            {
                await MessageBox.Show("请选择配送目标");
                return;
            }

            FindMTSPPathsParameters<Point2D> paramPoint2D = new FindMTSPPathsParameters<Point2D>
            {
                HasLeastTotalCost = false,

                //已选定的中心站点
                Centers = new List<Point2D> { new Point2D(4100, -4100), new Point2D(4500, -3000), new Point2D(5000, -3500) },
                Nodes = points,
                Parameter = new TransportationAnalystParameter
                {
                    BarrierEdgeIDs = null,
                    BarrierNodeIDs = null,
                    TurnWeightField = "TurnCost",
                    WeightFieldName = "length",
                    ResultSetting = new TransportationAnalystResultSetting
                    {
                        ReturnEdgeFeatures = true,
                        ReturnEdgeGeometry = true,
                        ReturnEdgeIDs = true,
                        ReturnNodeFeatures = true,
                        ReturnNodeGeometry = true,
                        ReturnNodeIDs = true,
                        ReturnPathGuides = true,
                        ReturnRoutes = true
                    }
                }
            };

            //与服务器交互
            try
            {
                FindMTSPPathsService findMTSPPathsService = new FindMTSPPathsService(url);
                var result = await findMTSPPathsService.ProcessAsync(paramPoint2D);
                //路径样式
                PredefinedLineStyle simpleLineStyle = new PredefinedLineStyle();
                simpleLineStyle.Stroke = new SolidColorBrush(Colors.Blue);
                simpleLineStyle.StrokeThickness = 2;

                if (result != null && result.MTSPathList != null)
                {
                    foreach (ServerPath p in result.MTSPathList)
                    {
                        //将要素添加到图层上
                        featuresLayer.Features.Add(new Feature { Geometry = p.Route.Line, Style = simpleLineStyle });
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }