static void addAtomsToRoute(Route route, AtomGenerator generator, int count) { for (int i = 0; i < count; i++) { double scatterLength = 0.0000; double offset = Util.rand.NextDouble(); double firstLegDeltaX = route.routePoints[1].x - route.routePoints[0].x; double firstLegDeltaY = route.routePoints[1].y - route.routePoints[0].y; double length = Math.Sqrt(firstLegDeltaX * firstLegDeltaX + firstLegDeltaY * firstLegDeltaY); double scatterX = (scatterLength / length) * firstLegDeltaX; double scatterY = (scatterLength / length) * firstLegDeltaY; AtomObject atom = new AtomObject(route.name + i, 0, route.routePoints[0].x - scatterX * offset, route.routePoints[0].y - scatterY * offset); // generate new random number for start time - for now between 0:01 to 1:30 int minutes = Util.rand.Next(2); int seconds = Util.rand.Next(1, 60); int speed = Util.rand.Next(3, 11); String secondsString = seconds >= 10 ? seconds.ToString() : "0" + seconds; Activity activity = new Activity(100 + i, atom.guid, 1, 1, "00:0" + minutes + ":" + secondsString, "00:00:01", speed, route.guid, route.routePoints[0].x, route.routePoints[0].y); generator.createAtom(atom); generator.createActivityToAtom(activity, atom); generator.addAtomToTreeObject(atom); } }
static void addAtomsToRoute(Route route, AtomGenerator generator, int count) { for (int i = 0; i < count; i++) { double scatterLength = 0.0000; double offset = Util.rand.NextDouble(); double firstLegDeltaX = route.routePoints[1].x - route.routePoints[0].x; double firstLegDeltaY = route.routePoints[1].y - route.routePoints[0].y; double length = Math.Sqrt(firstLegDeltaX * firstLegDeltaX + firstLegDeltaY * firstLegDeltaY); double scatterX = (scatterLength / length) * firstLegDeltaX; double scatterY = (scatterLength / length) * firstLegDeltaY; AtomObject atom = new AtomObject(route.name + i, 0, route.routePoints[0].x - scatterX*offset, route.routePoints[0].y - scatterY*offset); // generate new random number for start time - for now between 0:01 to 1:30 int minutes = Util.rand.Next(2); int seconds = Util.rand.Next(1, 60); int speed = Util.rand.Next(3, 11); String secondsString = seconds >= 10 ? seconds.ToString() : "0" + seconds; Activity activity = new Activity(100 + i, atom.guid, 1, 1, "00:0" + minutes + ":" + secondsString, "00:00:01", speed, route.guid, route.routePoints[0].x, route.routePoints[0].y); generator.createAtom(atom); generator.createActivityToAtom(activity, atom); generator.addAtomToTreeObject(atom); } }
private static void addAtoms(String connectionParams) { NpgsqlConnection connection = new NpgsqlConnection(connectionParams); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); try { RoutesReader routesReader = new RoutesReader(connection); AtomGenerator generator = new AtomGenerator(connection); RouteGenerator routeGenerator = new RouteGenerator(connection); generator.deleteAllAtomsAndActivities(); //Route source1 = routesReader.readRouteByName("Escape3"); //Route source2 = routesReader.readRouteByName("Escape3_reversed"); //Route source3 = routesReader.readRouteByName("Source3"); //Route cornerRoute = routesReader.readRouteByName("Corner"); //addAtomsToRoute(source1, generator, 100); //addAtomsToRoute(source2, generator, 100); //addAtomsToRoute(source3, generator, 100); //addAtomsToRoute(cornerRoute, generator); //AtomObject ambulance = new AtomObject("Ambulance1", -1, 34.8514473088014, 32.1008536878526); //generator.createAtom(ambulance); //generator.addAtomToTreeObject(ambulance); //routeGenerator.generateReversedRoute("Escape3"); transaction.Commit(); } catch (Exception exception) { try { transaction.Rollback(); } catch (Exception rollbackException) { Console.WriteLine("Rollback failed :("); } } connection.Close(); }
private static void addAtoms(String connectionParams) { NpgsqlConnection connection = new NpgsqlConnection(connectionParams); connection.Open(); NpgsqlTransaction transaction = connection.BeginTransaction(); try { RoutesReader routesReader = new RoutesReader(connection); AtomGenerator generator = new AtomGenerator(connection); RouteGenerator routeGenerator = new RouteGenerator(connection); generator.deleteAllAtomsAndActivities(); Route source1 = routesReader.readRouteByName("Escape3"); Route source2 = routesReader.readRouteByName("Escape3_reversed"); //Route source3 = routesReader.readRouteByName("Source3"); //Route cornerRoute = routesReader.readRouteByName("Corner"); //addAtomsToRoute(source1, generator, 100); //addAtomsToRoute(source2, generator, 100); //addAtomsToRoute(source3, generator, 100); //addAtomsToRoute(cornerRoute, generator); //AtomObject ambulance = new AtomObject("Ambulance1", -1, 34.8514473088014, 32.1008536878526); //generator.createAtom(ambulance); //generator.addAtomToTreeObject(ambulance); //routeGenerator.generateReversedRoute("Escape3"); transaction.Commit(); } catch (Exception exception) { try { transaction.Rollback(); } catch (Exception rollbackException) { Console.WriteLine("Rollback failed :("); } } connection.Close(); }