private void SolveButton_Click(object sender, RoutedEventArgs e) { List <AttributeParameter> aps = new List <AttributeParameter>(); AttributeParameter ap = GetAttributeParameterValue(AttributeParameterValues3.SelectionBoxItem.ToString()); if (ap != null) { aps.Add(ap); } GenerateBarriers(); RouteServiceAreaParameters routeParams = new RouteServiceAreaParameters() { Barriers = pointBarriers.Count > 0 ? pointBarriers : null, PolylineBarriers = polylineBarriers.Count > 0 ? polylineBarriers : null, PolygonBarriers = polygonBarriers.Count > 0 ? polygonBarriers : null, Facilities = facilitiesGraphicsLayer.Graphics, //AttributeParameterValues = aps, DefaultBreaks = DefaultBreaks.Text, ExcludeSourcesFromPolygons = ExculdeSourcesFromPolygons.Text, MergeSimilarPolygonRanges = MergeSimilarPolygonRanges.IsChecked.HasValue ? MergeSimilarPolygonRanges.IsChecked.Value : false, OutputLines = GetOutputLines(OutputLines3.SelectionBoxItem.ToString()), OutputPolygons = GetOutputPolygons(OutputPolygons.SelectionBoxItem.ToString()), OverlapLines = OverlapLines3.IsChecked.HasValue ? OverlapLines3.IsChecked.Value : false, OverlapPolygons = OverlapPolygons3.IsChecked.HasValue ? OverlapPolygons3.IsChecked.Value : false, SplitLineAtBreaks = SplitLinesAtBreaks.IsChecked.HasValue ? SplitLinesAtBreaks.IsChecked.Value : false, SplitPolygonsAtBreaks = SplitPolygonsAtBreaks.IsChecked.HasValue ? SplitPolygonsAtBreaks.IsChecked.Value : false, TravelDirection = GetFacilityTravelDirections(TravelDirections3.SelectionBoxItem.ToString()), TrimOuterPolygon = TrimOuterPolygons.IsChecked.HasValue ? TrimOuterPolygons.IsChecked.Value : false, TrimPolygonDistance = string.IsNullOrEmpty(TrimPolygonDistance.Text) ? 0 : double.Parse(TrimPolygonDistance.Text), TrimPolygonDistanceUnits = GetUnits(TrimPolygonDistanceUnits.SelectionBoxItem.ToString()), ReturnFacilities = ReturnFacilities3.IsChecked.HasValue ? ReturnFacilities3.IsChecked.Value : false, ReturnBarriers = ReturnBarriers3.IsChecked.HasValue ? ReturnBarriers3.IsChecked.Value : false, ReturnPolylineBarriers = ReturnPolylineBarriers3.IsChecked.HasValue ? ReturnPolylineBarriers3.IsChecked.Value : false, ReturnPolygonBarriers = ReturnPolygonBarriers3.IsChecked.HasValue ? ReturnPolygonBarriers3.IsChecked.Value : false, OutSpatialReference = string.IsNullOrEmpty(OutputSpatialReference3.Text) ? MyMap.SpatialReference : new SpatialReference(int.Parse(OutputSpatialReference3.Text)), AccumulateAttributes = string.IsNullOrEmpty(AccumulateAttributeNames3.Text) ? null : AccumulateAttributeNames3.Text.Split(','), ImpedanceAttribute = string.IsNullOrEmpty(ImpedanceAttributeName3.Text) ? string.Empty : ImpedanceAttributeName3.Text, RestrictionAttributes = string.IsNullOrEmpty(RestrictionAttributeNames3.Text) ? null : RestrictionAttributeNames3.Text.Split(','), RestrictUTurns = GetRestrictUTurns(RestrictUTurns3.SelectionBoxItem.ToString()), OutputGeometryPrecision = string.IsNullOrEmpty(OutputGeometryPrecision3.Text) ? 0 : double.Parse(OutputGeometryPrecision3.Text), OutputGeometryPrecisionUnits = GetUnits(OutputGeometryPrecisionUnits3.SelectionBoxItem.ToString()) }; if (myRouteTask.IsBusy) { myRouteTask.CancelAsync(); } myRouteTask.SolveServiceAreaAsync(routeParams); }
private void SolveButton_Click(object sender, RoutedEventArgs e) { List<AttributeParameter> aps = new List<AttributeParameter>(); AttributeParameter ap = GetAttributeParameterValue( AttributeParameterValues3.SelectionBoxItem.ToString().Trim() ); if (ap != null) aps.Add( ap ); GenerateBarriers(); try { RouteServiceAreaParameters routeParams = new RouteServiceAreaParameters() { Barriers = pointBarriers.Count > 0 ? pointBarriers : null, PolylineBarriers = polylineBarriers.Count > 0 ? polylineBarriers : null, PolygonBarriers = polygonBarriers.Count > 0 ? polygonBarriers : null, Facilities = facilitiesGraphicsLayer.Graphics, //AttributeParameterValues = aps, DefaultBreaks = DefaultBreaks.Text, ExcludeSourcesFromPolygons = ExculdeSourcesFromPolygons.Text, MergeSimilarPolygonRanges = MergeSimilarPolygonRanges.IsChecked.HasValue ? MergeSimilarPolygonRanges.IsChecked.Value : false, OutputLines = GetOutputLines (OutputLines3.SelectionBoxItem.ToString()), OutputPolygons = GetOutputPolygons (OutputPolygons.SelectionBoxItem.ToString()), OverlapLines = OverlapLines3.IsChecked.HasValue ? OverlapLines3.IsChecked.Value : false, OverlapPolygons = OverlapPolygons3.IsChecked.HasValue ? OverlapPolygons3.IsChecked.Value : false, SplitLineAtBreaks = SplitLinesAtBreaks.IsChecked.HasValue ? SplitLinesAtBreaks.IsChecked.Value : false, SplitPolygonsAtBreaks = SplitPolygonsAtBreaks.IsChecked.HasValue ? SplitPolygonsAtBreaks.IsChecked.Value : false, TravelDirection = GetFacilityTravelDirections (TravelDirections3.SelectionBoxItem.ToString().Trim()), TrimOuterPolygon = TrimOuterPolygons.IsChecked.HasValue ? TrimOuterPolygons.IsChecked.Value : false, TrimPolygonDistance = string.IsNullOrEmpty(TrimPolygonDistance.Text) ? 0 : double.Parse(TrimPolygonDistance.Text), TrimPolygonDistanceUnits = GetUnits (TrimPolygonDistanceUnits.SelectionBoxItem.ToString().Trim()), ReturnFacilities = ReturnFacilities3.IsChecked.HasValue ? ReturnFacilities3.IsChecked.Value : false, ReturnBarriers = ReturnBarriers3.IsChecked.HasValue ? ReturnBarriers3.IsChecked.Value : false, ReturnPolylineBarriers = ReturnPolylineBarriers3.IsChecked.HasValue ? ReturnPolylineBarriers3.IsChecked.Value : false, ReturnPolygonBarriers = ReturnPolygonBarriers3.IsChecked.HasValue ? ReturnPolygonBarriers3.IsChecked.Value : false, OutSpatialReference = string.IsNullOrEmpty(OutputSpatialReference3.Text) ? MyMap.SpatialReference : new SpatialReference(int.Parse( OutputSpatialReference3.Text )), AccumulateAttributes = string.IsNullOrEmpty(AccumulateAttributeNames3.Text) ? null : AccumulateAttributeNames3.Text.Split(','), ImpedanceAttribute = string.IsNullOrEmpty(ImpedanceAttributeName3.Text) ? string.Empty : ImpedanceAttributeName3.Text, RestrictionAttributes = string.IsNullOrEmpty(RestrictionAttributeNames3.Text) ? null : RestrictionAttributeNames3.Text.Split(','), RestrictUTurns = GetRestrictUTurns (RestrictUTurns3.SelectionBoxItem.ToString()), OutputGeometryPrecision = string.IsNullOrEmpty(OutputGeometryPrecision3.Text) ? 0 : double.Parse(OutputGeometryPrecision3.Text), OutputGeometryPrecisionUnits = GetUnits (OutputGeometryPrecisionUnits3.SelectionBoxItem.ToString().Trim()) }; if (myRouteTask.IsBusy) myRouteTask.CancelAsync(); myRouteTask.SolveServiceAreaAsync(routeParams); } catch (Exception ex) { MessageBox.Show( ex.Message + '\n' + ex.StackTrace); } }
private void CalculateDriveTime(MapPoint mapPoint) { double dDriveTime = 0; if (Double.TryParse(tbDriveTimeValue.Text, out dDriveTime) == false) { return; } if (dDriveTime <= 0) { return; } // make sure the facilities graphic layer has the only one new graphic, based on the mapPoint click location Graphic clickGraphic = new Graphic(); //clickGraphic.Symbol = LayoutRoot.Resources["DefaultMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; clickGraphic.Geometry = mapPoint; int facilityNumber = 1; clickGraphic.Attributes.Add("FacilityNumber", facilityNumber); _facilitiesGraphicsLayer.Graphics.Clear(); _facilitiesGraphicsLayer.Graphics.Add(clickGraphic); GenerateBarriers(); try { RouteServiceAreaParameters routeParams = new RouteServiceAreaParameters() { Facilities = _facilitiesGraphicsLayer.Graphics, DefaultBreaks = tbDriveTimeValue.Text, TravelDirection = EncodeFacilityTravelDirections(comboFacilityTravelDirection.SelectionBoxItem.ToString()), //Barriers = _pointBarriers.Count > 0 ? _pointBarriers : null, //PolylineBarriers = _polylineBarriers.Count > 0 ? _polylineBarriers : null, //PolygonBarriers = _polygonBarriers.Count > 0 ? _polygonBarriers : null, //ExcludeSourcesFromPolygons = null, //MergeSimilarPolygonRanges = false, //OutputLines = EncodeOutputLines("None"), //"esriNAOutputLineNone" //OverlapLines = true, //OverlapPolygons = true, //SplitLineAtBreaks = false, //SplitPolygonsAtBreaks = true, OutputPolygons = EncodeOutputPolygons("Simplified"), //"esriNAOutputPolygonSimplified", TrimOuterPolygon = true, TrimPolygonDistance = 100.0, TrimPolygonDistanceUnits = esriUnits.esriMeters, ReturnFacilities = false, ReturnBarriers = false, ReturnPolylineBarriers = false, ReturnPolygonBarriers = false, OutSpatialReference = Map.SpatialReference, AccumulateAttributes = null, //ImpedanceAttribute = "TravelTime" //RestrictionAttributes = "Non-routeable segments,Avoid passenger ferries,TurnRestriction,OneWay".Split(','), //RestrictUTurns = EncodeRestrictUTurns("Allow Backtrack"), //"esriNFSBAllowBacktrack" OutputGeometryPrecision = 100.0, OutputGeometryPrecisionUnits = esriUnits.esriMeters }; if (_routeTask.IsBusy) { _routeTask.CancelAsync(); } _routeTask.SolveServiceAreaAsync(routeParams); } catch (Exception ex) { MessageBox.Show(ex.Message + '\n' + ex.StackTrace); } }
private void CalculateDriveTime(MapPoint mapPoint) { double dDriveTime = 0; if (Double.TryParse(tbDriveTimeValue.Text, out dDriveTime) == false) return; if (dDriveTime <= 0) return; // make sure the facilities graphic layer has the only one new graphic, based on the mapPoint click location Graphic clickGraphic = new Graphic(); //clickGraphic.Symbol = LayoutRoot.Resources["DefaultMarkerSymbol"] as ESRI.ArcGIS.Client.Symbols.Symbol; clickGraphic.Geometry = mapPoint; int facilityNumber = 1; clickGraphic.Attributes.Add("FacilityNumber", facilityNumber); _facilitiesGraphicsLayer.Graphics.Clear(); _facilitiesGraphicsLayer.Graphics.Add(clickGraphic); GenerateBarriers(); try { RouteServiceAreaParameters routeParams = new RouteServiceAreaParameters() { Facilities = _facilitiesGraphicsLayer.Graphics, DefaultBreaks = tbDriveTimeValue.Text, TravelDirection = EncodeFacilityTravelDirections(comboFacilityTravelDirection.SelectionBoxItem.ToString()), //Barriers = _pointBarriers.Count > 0 ? _pointBarriers : null, //PolylineBarriers = _polylineBarriers.Count > 0 ? _polylineBarriers : null, //PolygonBarriers = _polygonBarriers.Count > 0 ? _polygonBarriers : null, //ExcludeSourcesFromPolygons = null, //MergeSimilarPolygonRanges = false, //OutputLines = EncodeOutputLines("None"), //"esriNAOutputLineNone" //OverlapLines = true, //OverlapPolygons = true, //SplitLineAtBreaks = false, //SplitPolygonsAtBreaks = true, OutputPolygons = EncodeOutputPolygons("Simplified"), //"esriNAOutputPolygonSimplified", TrimOuterPolygon = true, TrimPolygonDistance = 100.0, TrimPolygonDistanceUnits = esriUnits.esriMeters, ReturnFacilities = false, ReturnBarriers = false, ReturnPolylineBarriers = false, ReturnPolygonBarriers = false, OutSpatialReference = Map.SpatialReference, AccumulateAttributes = null, //ImpedanceAttribute = "TravelTime" //RestrictionAttributes = "Non-routeable segments,Avoid passenger ferries,TurnRestriction,OneWay".Split(','), //RestrictUTurns = EncodeRestrictUTurns("Allow Backtrack"), //"esriNFSBAllowBacktrack" OutputGeometryPrecision = 100.0, OutputGeometryPrecisionUnits = esriUnits.esriMeters }; if (_routeTask.IsBusy) _routeTask.CancelAsync(); _routeTask.SolveServiceAreaAsync(routeParams); } catch (Exception ex) { MessageBox.Show(ex.Message + '\n' + ex.StackTrace); } }