Exemplo n.º 1
0
        public static void DoRepair(string cityname, StaticDBCreater db, Action <int, string> log)
        {
            switch (cityname)
            {
            case "dc": doWashingtonRepair(db, log); break;

            case "la": doLosAngelesRepair(db, log); break;
            }
        }
Exemplo n.º 2
0
        private static void doWashingtonRepair(StaticDBCreater db, Action <int, string> log)
        {
            var rexRoute = db.GetTable <RouteGroup>().FirstOrDefault(r => r.Name == "Richmond Highway Express Bus");

            if (rexRoute != null)
            {
                rexRoute.Name        = "REX";
                rexRoute.Description = "Richmond Highway Express Bus";
            }
        }
Exemplo n.º 3
0
        public DbCreateTask(IGtfsDatabase gtfsDb, string outputPath, AppSourceConfig config)
        {
            this.outputPath = outputPath;
            this.gtfs       = gtfsDb;
            this.sdb        = new StaticDBCreater(outputPath, config.CreateString);
            this.config     = config;

            var tb = new TransitBaseComponent
            {
                LatitudeDegreeDistance  = config.LatitudeUnit,
                LongitudeDegreeDistance = config.LongitudeUnit,
                //FilterTravelRouteStops = config.FilterTravelRouteStops
            };
        }
Exemplo n.º 4
0
        private static void doLosAngelesRepair(StaticDBCreater db, Action <int, string> log)
        {
            foreach (var route in db.GetTable <RouteGroup>())
            {
                if (isInRange(route.Name, 1, 399) || isInRange(route.Name, 600, 699))
                {
                    if (route.BgColor == 0xffffff)
                    {
                        route.BgColor = 0xe67d43;
                    }
                }
                else if (isInRange(route.Name, 400, 599))
                {
                    if (route.BgColor == 0xffffff)
                    {
                        route.BgColor   = 0x103178;
                        route.FontColor = 0xffffff;
                    }
                }
                else if (isInRange(route.Name, 700, 799))
                {
                    if (route.BgColor == 0x000000)
                    {
                        route.BgColor   = 0xdf2a4d;
                        route.FontColor = 0x000000;
                    }
                }
            }
            foreach (var route in db.GetTable <RouteGroup>())
            {
                //var words = route.Name.Split(' ').Where(str => str != "").ToArray();
                var words = route.Name.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (words.Length >= 4 && words[0] == "Metro" && words[2] == "Line")
                {
                    route.Name = words[3].Substring(1, words[3].Length - 2);
                }

                if (route.Name.EndsWith("Dodger Stadium Express"))
                {
                    route.Description = route.Name;
                    route.Name        = new string(route.Name.Where(ch => char.IsUpper(ch)).ToArray());
                }
            }
            foreach (var trip in db.GetTable <TripType>())
            {
                var splittedName = trip.Name.Split(new string[] { " - " }, StringSplitOptions.None);
                trip.Name = String.Join(" - ", splittedName.Where(name => !isLineNameLabel(name, trip.Route.RouteGroup.Name)));
            }
            foreach (var route in db.GetTable <Route>())
            {
                var splittedName = route.Name.Split(new string[] { " - " }, StringSplitOptions.None);
                route.Name = String.Join(" - ", splittedName.Where(name => !isLineNameLabel(name, route.RouteGroup.Name)));
            }

            foreach (var entry in db.GetTable <TripType>().SelectMany(tt => tt.HeadsignEntries))
            {
                var splittedName = entry.Headsign.Split(new string[] { " - " }, StringSplitOptions.None);
                entry.Headsign = String.Join(" - ", splittedName.Where(name => !isLineNameLabel(name, entry.TripType.Route.RouteGroup.Name)));
            }
            var changingRoutes    = db.GetTable <TripType>().Where(tt => tt.HeadsignEntries.Select(e => e.Headsign).Distinct().Count() > 1).ToList();
            int changingCount     = changingRoutes.Count();
            int totalCount        = db.GetTable <TripType>().Count();
            int changingTripCount = changingRoutes.Sum(r => r.Trips.Count());
            int totalTripCount    = db.GetTable <Trip>().Count();

            log(0, String.Format("LA changing triptype count: {0}/{1} ({2:P}%)", changingCount, totalCount, changingCount / (double)totalCount));
            log(0, String.Format("LA changing trip count: {0}/{1} ({2:P}%)", changingTripCount, totalTripCount, changingTripCount / (double)totalTripCount));
        }