private void btnRoute_Click(object sender, EventArgs e) { ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(@"..\..\SampleData\Austinstreets.shp"); RoutingSource routingSource = new RtgRoutingSource(@"..\..\SampleData\routeDataForFastest.rtg"); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingResult routingResult = routingEngine.GetShortestPath(txtStartId.Text, txtEndId.Text); InMemoryFeatureLayer routingLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; winformsMap1.Overlays["RoutingOverlay"].Lock.EnterWriteLock(); try { routingLayer.InternalFeatures.Clear(); foreach (Feature feature in routingResult.Features) { routingLayer.InternalFeatures.Add(feature); } } finally { winformsMap1.Overlays["RoutingOverlay"].Lock.ExitWriteLock(); } winformsMap1.Refresh(); }
protected override BaseShape CreateAccessibleAreaCore() { string rtgFilePathName = Path.ChangeExtension(StreetShapeFilePathName, ".rtg"); RtgRoutingSource routingSource = new RtgRoutingSource(rtgFilePathName); FeatureSource featureSource = new ShapeFileFeatureSource(StreetShapeFilePathName); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); if (!featureSource.IsOpen) { featureSource.Open(); } ManagedProj4Projection proj = new ManagedProj4Projection(); proj.InternalProjectionParametersString = ManagedProj4Projection.GetBingMapParametersString(); proj.ExternalProjectionParametersString = ManagedProj4Projection.GetEpsgParametersString(4326); proj.Open(); StartLocation = proj.ConvertToExternalProjection(StartLocation) as PointShape; Feature feature = featureSource.GetFeaturesNearestTo(StartLocation, GeographyUnit, 1, ReturningColumnsType.NoColumns)[0]; PolygonShape polygonShape = routingEngine.GenerateServiceArea(feature.Id, new TimeSpan(0, DrivingTimeInMinutes, 0), 100, GeographyUnit.Feet); polygonShape = proj.ConvertToInternalProjection(polygonShape) as PolygonShape; proj.Close(); return(polygonShape); }
public static void Add <T>(this RoutingEngine engine) where T : class, IController { string name = typeof(T).Name.Replace("Controller", string.Empty); var controllerDetails = typeof(T).GetCustomAttributes(typeof(ControllerDetailsAttribute), true).FirstOrDefault() as ControllerDetailsAttribute; string area = string.Empty; if (controllerDetails != null) { area = controllerDetails.Area; } PatternRoute patternIdRoute = new PatternRoute(string.Format("{1}/{0}/<id>/<action>", name, string.IsNullOrEmpty(area) ? string.Empty : string.Format("/{0}", area))) .DefaultForController().Is <T>() .Restrict("id").ValidInteger .DefaultForAction().Is("index"); PatternRoute patternRoute = new PatternRoute(string.Format("{1}/{0}/<action>", name, string.IsNullOrEmpty(area) ? string.Empty : string.Format("/{0}", area))) .DefaultForController().Is <T>() .DefaultForAction().Is("index"); if (!string.IsNullOrEmpty(area)) { patternIdRoute.DefaultForArea().Is(area); patternRoute.DefaultForArea().Is(area); } engine.Add(patternIdRoute); engine.Add(patternRoute); }
/// <summary> /// Creates a DefaultHttpSysService instance with the specified host and port. /// </summary> /// <param name="isSecured">NOT_SUPPORTED_YET</param> /// <param name="host">host</param> /// <param name="port">port</param> public DefaultHttpSysService(bool isSecured, string host, int port) { _inputPipe = new BlockingCollection <HttpContext>(); _outputPipe = new BlockingCollection <HttpContext>(); _httpInboundAdapter = new HttpSysInboundAdapter(); _httpOutboundAdapter = new HttpSysOutboundAdapter(); _httpRouter = new HttpRouter(this); _httpProcessors = new Dictionary <string, IHttpProcessor>(); //set names _httpInboundAdapter.Name = "TxHTTP_Inbound_Adapter"; _httpOutboundAdapter.Name = "TxHTTP_Outbound_Adapter"; _httpRouter.Name = "TxHTTP_Router"; //HttpInboundAdapter ----<TaggedContext>----> HttpRouter _httpInboundAdapter.OutputPipe = _inputPipe; _httpRouter.InputPipe = _inputPipe; //---<HttpContext>---> HttpOutboundAdapter _httpOutboundAdapter.InputPipe = _outputPipe; _routingEngine = new RoutingEngine(); AddController(new HttpInternalController(), INTERNAL_PROCESSING_GROUP); //create ServiceConfiguration _serviceConfiguration = new ServiceConfiguration(); _serviceConfiguration.IsSecured = isSecured; _serviceConfiguration.Host = host; _serviceConfiguration.Port = port; }
private void SetupWizardController(bool useCurrentRouteForRedirects) { helper.WizardController = repository.DynamicMock <IWizardController>(); SetupResult.For(helper.WizardController.UseCurrentRouteForRedirects).Return(useCurrentRouteForRedirects); repository.Replay(helper.WizardController); if (useCurrentRouteForRedirects) { repository.BackToRecord(controllerContext, BackToRecordOptions.None); var routeMatch = new RouteMatch(); routeMatch.AddNamed("manufacturer", "Ford"); routeMatch.AddNamed("model", "Falcon"); SetupResult.For(controllerContext.RouteMatch).Return(routeMatch); SetupResult.For(controllerContext.AreaName).Return("Cars"); repository.Replay(controllerContext); var routingEngine = new RoutingEngine(); routingEngine.Add( new PatternRoute("/<area>/<manufacturer>/AddOptionsWizard/<model>/[action]") .DefaultForController().Is("AddOptionsWizardController") .DefaultForAction().Is("start")); helper.UrlBuilder = new DefaultUrlBuilder(new StubServerUtility(), routingEngine); helper.CurrentUrl = new UrlInfo("Cars", "CarsController", "View", String.Empty, "rails"); helper.UrlBuilder.UseExtensions = false; } }
public void Should_properly_invoke_the_message_receiver() { var fiber = new PoolFiber(); _engine = new DynamicRoutingEngine(fiber); _receivedA = new Future <A>(); _receivedB = new Future <B>(); _receivedC = new Future <C>(); _receivedMessageB = new Future <Message <B> >(); _receivedMessageC = new Future <Message <C> >(); _engine.Configure(x => { x.Receive <A>(_receivedA.Complete); x.Receive <B>(_receivedB.Complete); x.Receive <C>(_receivedC.Complete); x.Receive <Message <B> >(_receivedMessageB.Complete); x.Receive <Message <C> >(_receivedMessageC.Complete); }); _engine.Send(new B()); _engine.Send(new C()); _engine.Send(new B()); _engine.Send(new C()); fiber.Shutdown(5.Minutes()); }
private void Route() { FeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingLayer routingLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; Collection <LineShape> paths = new Collection <LineShape>(); if (cbxAddStop.Checked) { paths.Add(routingEngine.GetRoute(routingLayer.StartPoint, routingLayer.StopPoints[0]).Route); paths.Add(routingEngine.GetRoute(routingLayer.StopPoints[0], routingLayer.EndPoint).Route); } else { paths.Add(routingEngine.GetRoute(routingLayer.StartPoint, routingLayer.EndPoint).Route); } RoutingLayer inmemoryLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; inmemoryLayer.Routes.Clear(); foreach (LineShape item in paths) { inmemoryLayer.Routes.Add(item); } }
private void btnRoute_Click(object sender, EventArgs e) { RtgRoutingSource routingSource = new RtgRoutingSource(@"..\..\SampleData\Austinstreets.rtg"); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); routingEngine.GeneratingServiceArea += new EventHandler <GeneratingServiceAreaRoutingEngineEventArgs>(routingEngine_GeneratingServiceArea); float averageSpeed = float.Parse(txtAverageSpeed.Text); int drivingMinutes = int.Parse(txtDrivingMinutes.Text); PolygonShape polygonShape = routingEngine.GenerateServiceArea(txtStartId.Text, new TimeSpan(0, drivingMinutes, 0), averageSpeed); InMemoryFeatureLayer routingLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; routingLayer.InternalFeatures.Remove("ServiceArea"); if (polygonShape.Validate(ShapeValidationMode.Simple).IsValid) { routingLayer.InternalFeatures.Add("ServiceArea", new Feature(polygonShape)); routingLayer.Open(); winformsMap1.CurrentExtent = routingLayer.GetBoundingBox(); routingLayer.Close(); } winformsMap1.Overlays["RoutingOverlay"].Lock.IsDirty = true; winformsMap1.Refresh(); }
public override void ViewDidLoad() { base.ViewDidLoad(); mapView = new MapView(View.Frame); View.Add(mapView); ComposeTableControl(); mapView.MapUnit = GeographyUnit.Meter; mapView.ZoomLevelSet = ThinkGeoCloudMapsOverlay.GetZoomLevelSet(); mapView.MapSingleTap += MapViewMapSingleTap; ThinkGeoCloudMapsOverlay thinkGeoCloudMapsOverlay = new ThinkGeoCloudMapsOverlay(); mapView.Overlays.Add(thinkGeoCloudMapsOverlay); layerOverlay = new LayerOverlay(); routingLayer = new RoutingLayer(); layerOverlay.Layers.Add(routingLayer); mapView.Overlays.Add(layerOverlay); string shapeFilePath = Path.Combine("AppData", "DallasCounty-3857.shp"); string rtgPath = Path.Combine("AppData", "DallasCounty-3857.rtg"); var routingSource = new RtgRoutingSource(rtgPath); var featureSource = new ShapeFileFeatureSource(shapeFilePath); routingEngine = new RoutingEngine(routingSource, featureSource); routingEngine.GeographyUnit = GeographyUnit.Meter; routingEngine.SearchRadiusInMeters = 200; mapView.CurrentExtent = new RectangleShape(-10781100.2970769, 3875007.18710502, -10767407.8727504, 3854947.78546675); mapView.Refresh(); }
private void InitalizeMap() { mapView.MapUnit = GeographyUnit.Meter; mapView.ZoomLevelSet = new ThinkGeoCloudMapsZoomLevelSet(); mapView.SingleTap += MapView_SingleTap; // Please input your ThinkGeo Cloud Client ID / Client Secret to enable the background map. ThinkGeoCloudRasterMapsOverlay baseOverlay = new ThinkGeoCloudRasterMapsOverlay("ThinkGeo Cloud Client ID", "ThinkGeo Cloud Client Secret"); mapView.Overlays.Add(baseOverlay); layerOverlay = new LayerOverlay(); routingLayer = new RoutingLayer(); layerOverlay.Layers.Add(routingLayer); mapView.Overlays.Add(layerOverlay); var routingSource = new RtgRoutingSource(DataManager.GetDataPath("DallasCounty-3857.rtg")); var featureSource = new ShapeFileFeatureSource(DataManager.GetDataPath("DallasCounty-3857.shp")); routingEngine = new RoutingEngine(routingSource, featureSource); routingEngine.GeographyUnit = GeographyUnit.Meter; routingEngine.SearchRadiusInMeters = 100; mapView.CurrentExtent = new RectangleShape(-10781100.2970769, 3875007.18710502, -10767407.8727504, 3854947.78546675); }
public void Should_properly_invoke_the_message_receiver() { var fiber = new PoolFiber(); _engine = new DynamicRoutingEngine(fiber); _receivedA = new Future<A>(); _receivedB = new Future<B>(); _receivedC = new Future<C>(); _receivedMessageB = new Future<Message<B>>(); _receivedMessageC = new Future<Message<C>>(); _engine.Configure(x => { x.Receive<A>(_receivedA.Complete); x.Receive<B>(_receivedB.Complete); x.Receive<C>(_receivedC.Complete); x.Receive<Message<B>>(_receivedMessageB.Complete); x.Receive<Message<C>>(_receivedMessageC.Complete); }); _engine.Send(new B()); _engine.Send(new C()); _engine.Send(new B()); _engine.Send(new C()); fiber.Shutdown(5.Minutes()); }
public void Init() { engine = new RoutingEngine(); urlBuilder = new DefaultUrlBuilder { ServerUtil = new StubServerUtility(), RoutingEngine = engine }; }
private void ShowTheShortestPath(RoutingLayer routingLayer) { RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasWithOneWayRoad.rtg")); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingResult routingResult = routingEngine.GetRoute(txtStartId.Text, txtEndId.Text); routingLayer.Routes.Clear(); routingLayer.Routes.Add(routingResult.Route); }
private void UserControl_Load(object sender, EventArgs e) { ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingSourceForShortest = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.rtg")); routingEngine = new RoutingEngine(RoutingSourceForShortest, featureSource); RenderMap(); }
public static void Add <T>(this RoutingEngine <T> engine, Activation <T> activation) where T : class { RootNode <T> match = engine.Match <RootNode <T> >().FirstOrDefault(); if (match == null) { return; } match.Add(activation); }
private void UserControl_Load(object sender, EventArgs e) { featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); routingEngine = new RoutingEngine(routingSource, featureSource); routingEngine.RoutingAlgorithm.FindingRoute += new EventHandler <FindingRouteRoutingAlgorithmEventArgs>(RoutingAlgorithm_FindingRoute); isAddingRoadblocks = false; avoidableFeatureIds = new Collection <string>(); RenderMap(); Route(); }
private void UserControl_Load(object sender, EventArgs e) { ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-3857.shp")); RoutingSourceForShortest = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-3857.shortest.rtg")); RoutingSourceForFastest = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-3857.fastest.rtg")); routingEngine = new RoutingEngine(RoutingSourceForShortest, featureSource); routingEngine.GeographyUnit = GeographyUnit.Meter; RenderMap(); FindPath(); }
private void UserControl_Load(object sender, EventArgs e) { featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); routingEngine = new RoutingEngine(routingSource, featureSource); featureSource.Open(); routingSource.Open(); isInEditMode = false; RenderMap(); }
private void UserControl_Load(object sender, EventArgs e) { RenderMap(); featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); featureSource.Open(); RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "HighwayFirst.rtg")); routingEngine = new RoutingEngine(routingSource, featureSource); routingEngine.RoutingAlgorithm.FindingRoute += new EventHandler <FindingRouteRoutingAlgorithmEventArgs>(Algorithm_FindingPath); this.cbmPrioritiy.Text = "On Foot"; }
private void UserControl_Load(object sender, EventArgs e) { RenderMap(); ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(shapeFilePathName); RoutingSourceForShortest = new RtgRoutingSource(shortestRtgFilePathName); RoutingSourceForFastest = new RtgRoutingSource(fastestRtgFilePathName); routingEngine = new RoutingEngine(RoutingSourceForShortest, featureSource); // Search the route between default source and target. FindPath(); }
private void btnRoute_Click(object sender, EventArgs e) { ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingSource routingSource = new CustomRoutingSource(featureSource); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingResult routingResult = routingEngine.GetRoute(txtStartId.Text, txtEndId.Text); RoutingLayer routingLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; routingLayer.Routes.Clear(); routingLayer.Routes.Add(routingResult.Route); winformsMap1.Refresh(winformsMap1.Overlays["RoutingOverlay"]); }
private void btnRoute_Click(object sender, EventArgs e) { RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); ShapeFileFeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingLayer routingLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; RoutingResult routingResult = routingEngine.GetRoute(routingLayer.StartPoint, routingLayer.EndPoint); routingLayer.Routes.Clear(); routingLayer.Routes.Add(routingResult.Route); winformsMap1.Refresh(winformsMap1.Overlays["RoutingOverlay"]); }
void cbmAlgorithm_SelectedIndexChanged(object sender, EventArgs e) { FeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); RoutingEngine routingEngine = new RoutingEngine(routingSource, GetAlgorithm(), featureSource); RoutingResult routingResult = routingEngine.GetRoute(txtStartId.Text, txtEndId.Text); RoutingLayer routingLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; routingLayer.Routes.Clear(); routingLayer.Routes.Add(routingResult.Route); winformsMap1.Refresh(winformsMap1.Overlays["RoutingOverlay"]); }
/// <summary> /// Creates a new instance of the EditRuleWindow. /// </summary> /// <param name="router">A reference to the current RoutingEngine instance.</param> /// <param name="rule">Either a MatchAction to edit, or null to crate a new MatchAction.</param> public EditRuleWindow(RoutingEngine router, MatchAction rule) { this.router = router; InitializeComponent(); this.cmbSource.ItemsSource = this.router.Sources; this.cmbDest.ItemsSource = this.router.Destinations; if (rule != null) { this.rule = rule; this.cmbSource.SelectedValue = rule.MatchSource; if (rule.GetMatchType().IsEnum) { ((ComboBox)this.matchBorder.Child).SelectedValue = rule.Match; } else { ((TextBox)this.matchBorder.Child).Text = rule.Match.ToString(); } this.cmbDest.SelectedValue = rule.ActionDestination; this.cmbAction.SelectedValue = rule.Action.ToString(CultureInfo.InvariantCulture); if (rule.GetArgsType().IsEnum) { ((ComboBox)this.argsBorder.Child).SelectedValue = rule.Args; } else { ((TextBox)this.argsBorder.Child).Text = rule.Args.ToString(); } this.CheckEnabled.IsChecked = rule.Enabled; } else { this.Title = Properties.Resources.NEW_RULE; this.rule = new MatchAction(); this.matchBorder.IsEnabled = false; this.cmbAction.IsEnabled = false; this.argsBorder.IsEnabled = false; } this.initializing = false; CheckOK(); }
private void RenderPathBetweenPoints() { FeatureSource featureSource = new ShapeFileFeatureSource(@"..\..\SampleData\Austinstreets.shp"); RoutingSource routingSource = new RtgRoutingSource(@"..\..\SampleData\Austinstreets.rtg"); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); RoutingResult routingResult = null; InMemoryFeatureLayer stopLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["StopOverlay"]).Layers["StopLayer"]; if (stopLayer.InternalFeatures.Count > 2) { string startId = stopLayer.InternalFeatures[0].Id; string stopId = stopLayer.InternalFeatures[1].Id; string endId = stopLayer.InternalFeatures[2].Id; routingResult = routingEngine.GetRoute(startId, stopId); RoutingResult secondRoutingResult = routingEngine.GetRoute(stopId, endId); foreach (Feature item in secondRoutingResult.Features) { routingResult.Features.Add(item); } } else { routingResult = routingEngine.GetRoute("4716", "9638"); } //winformsMap1.Overlays["RoutingOverlay"].Lock.EnterWriteLock(); //try //{ InMemoryFeatureLayer inmemoryLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; inmemoryLayer.InternalFeatures.Clear(); foreach (Feature feature in routingResult.Features) { inmemoryLayer.InternalFeatures.Add(feature); } //} //finally //{ // winformsMap1.Overlays["RoutingOverlay"].Lock.ExitWriteLock(); //} winformsMap1.Overlays["RoutingOverlay"].Lock.IsDirty = true; winformsMap1.Refresh(); }
public void Init() { engine = new RoutingEngine(); engine.Add(new PatternRoute("<controller>/[action]"). DefaultForAction().Is("index")); engine.Add(new PatternRoute("<area>/<controller>/[action]/[key]"). DefaultForAction().Is("index")); engine.Add(new PatternRoute("admin/<customer>/<controller>/[action]"). DefaultForAction().Is("index")); engine.Add( new PatternRoute("/projects/<project>/<controller>/<key>"). DefaultFor("action").Is("view"). DefaultForArea().Is("projects")); engine.Add( new PatternRoute("/projects/<project>/<controller>/[action]/[key]"). DefaultForArea().Is("projects"). DefaultForAction().Is("list")); }
private void UserControl_Load(object sender, EventArgs e) { featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); allowArea = new PolygonShape(txtAvoidWkt.Text); featureSource.Open(); Collection <Feature> features = featureSource.SpatialQuery(allowArea, QueryType.Within, ReturningColumnsType.NoColumns); featureSource.Close(); allowFeatureIds = new Collection <string>(); foreach (Feature item in features) { allowFeatureIds.Add(item.Id); } RoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); routingEngine = new RoutingEngine(routingSource, new AStarRoutingAlgorithm(), featureSource); RenderMap(); }
private void btnRoute_Click(object sender, EventArgs e) { RoutingSource routingSource = new RtgRoutingSource(@"..\..\SampleData\AustinStreetFromOleDb.rtg"); RoutingEngine routingEngine = new RoutingEngine(routingSource, new DijkstraRoutingAlgorithm(), featureSource); RoutingResult routingResult = routingEngine.GetRoute(txtStartId.Text, txtEndId.Text); RoutingLayer routingLayer = (RoutingLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; winformsMap1.Overlays["RoutingOverlay"].Lock.EnterWriteLock(); try { routingLayer.Routes.Clear(); routingLayer.Routes.Add(routingResult.Route); } finally { winformsMap1.Overlays["RoutingOverlay"].Lock.ExitWriteLock(); } winformsMap1.Refresh(); }
public static void Start(IMvcApplication application) { CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; var dependencyContainer = new ServiceCollection(); dependencyContainer.AddService <IHashService, HashService>(); dependencyContainer.AddService <IUserCookieService, UserCookieService>(); dependencyContainer.AddService <ILogger>(() => new FileLogger($"log.txt")); application.ConfigureServices(dependencyContainer); var settings = application.Configure(); var serverRoutingTable = new ServerRoutingTable(); var routingEngine = new RoutingEngine(); routingEngine.RegisterRoutes(serverRoutingTable, application, settings, dependencyContainer); var server = new Server(settings.PortNumber, serverRoutingTable); server.Run(); }
private void Route() { RtgRoutingSource routingSource = new RtgRoutingSource(Path.Combine(rootPath, "DallasCounty-4326.shortest.rtg")); FeatureSource featureSource = new ShapeFileFeatureSource(Path.Combine(rootPath, "DallasCounty-4326.shp")); RoutingEngine routingEngine = new RoutingEngine(routingSource, featureSource); float averageSpeed = float.Parse(txtAverageSpeed.Text); int drivingMinutes = int.Parse(txtDrivingMinutes.Text); SpeedUnit speedUnit = GetSpeedUnit(); PolygonShape polygonShape = routingEngine.GenerateServiceArea(txtStartId.Text, new TimeSpan(0, drivingMinutes, 0), averageSpeed, speedUnit); InMemoryFeatureLayer routingLayer = (InMemoryFeatureLayer)((LayerOverlay)winformsMap1.Overlays["RoutingOverlay"]).Layers["RoutingLayer"]; routingLayer.InternalFeatures.Remove("ServiceArea"); if (polygonShape.Validate(ShapeValidationMode.Simple).IsValid) { routingLayer.InternalFeatures.Add("ServiceArea", new Feature(polygonShape)); routingLayer.Open(); winformsMap1.CurrentExtent = routingLayer.GetBoundingBox(); routingLayer.Close(); } winformsMap1.Refresh(winformsMap1.Overlays["RoutingOverlay"]); }
public void Using_the_factory_dsl_to_create_a_routing_engine() { RoutingEngine <Context> engine = RoutingEngineFactory.New <Context>(x => { // specify the Uri accessor from the context type x.Uri(context => context.Uri); x.Route("version").To(context => { }); //x.Route<int, int, int>((year, month, day) => "archive/{year}/{month}/{day}"); // x.Route("archive/{year}/{month}/{day}", r => // { // r.Default("year", DateTime.Now.Year); // // r.Constrain("year").To<int>(1970, 2099); // r.Constrain("month").To<int>(1, 12); // r.Constrain("day").To<int>() // .Where(k => k >= 1) // .Where((y,m,d) => k <= ) // r.Default("month", DateTime.Now.Month); // r.Default("day", DateTime.Now.Day); // // }); }); engine.ShouldNotBeNull(); /* * Route reportRoute = new Route("{locale}/{year}", new ReportRouteHandler()); * reportRoute.Defaults = new RouteValueDictionary { { "locale", "en-US" }, { "year", DateTime.Now.Year.ToString() } }; * reportRoute.Constraints = new RouteValueDictionary { { "locale", "[a-z]{2}-[a-z]{2}" }, { "year", @"\d{4}" } }; * reportRoute.DataTokens = new RouteValueDictionary { { "format", "short" } }; * routes.Add(reportRoute); * */ }
private void SetupWizardController(bool useCurrentRouteForRedirects) { helper.WizardController = repository.DynamicMock<IWizardController>(); SetupResult.For(helper.WizardController.UseCurrentRouteForRedirects).Return(useCurrentRouteForRedirects); repository.Replay(helper.WizardController); if (useCurrentRouteForRedirects) { repository.BackToRecord(controllerContext, BackToRecordOptions.None); var routeMatch = new RouteMatch(); routeMatch.AddNamed("manufacturer", "Ford"); routeMatch.AddNamed("model", "Falcon"); SetupResult.For(controllerContext.RouteMatch).Return(routeMatch); SetupResult.For(controllerContext.AreaName).Return("Cars"); repository.Replay(controllerContext); var routingEngine = new RoutingEngine(); routingEngine.Add( new PatternRoute("/<area>/<manufacturer>/AddOptionsWizard/<model>/[action]") .DefaultForController().Is("AddOptionsWizardController") .DefaultForAction().Is("start")); helper.UrlBuilder = new DefaultUrlBuilder(new StubServerUtility(), routingEngine); helper.CurrentUrl = new UrlInfo("Cars", "CarsController", "View", String.Empty, "rails"); helper.UrlBuilder.UseExtensions = false; } }
public void Init() { engine = new RoutingEngine(); }
public void Show(RoutingEngine engine) { Trace.WriteLine(new StringRoutingEngineVisitor(engine).ToString()); }
public static void Show(RoutingEngine engine) { RoutingEngineGraphData graphData = engine.GetGraphData(); Show(graphData); }