Exemple #1
0
        /// <summary>
        /// Builds a transitdb from a GTFS or loads it if it's there already.
        /// </summary>
        public static TransitDb RunOrLoad(string gtfsFolder)
        {
            TransitDb transitDb     = null;
            var       transitDbFile = gtfsFolder + ".transitdb";

            if (File.Exists(transitDbFile))
            {
                try
                {
                    using (var stream = File.OpenRead(transitDbFile))
                    {
                        transitDb = TransitDb.Deserialize(stream);
                    }
                    Itinero.Logging.Logger.Log("TransitDbBuilder", Itinero.Logging.TraceEventType.Warning, "Existing TransitDb found, not rebuilding, delete file to retest.");
                }
                catch
                {
                    Itinero.Logging.Logger.Log("TransitDbBuilder", Itinero.Logging.TraceEventType.Warning, "Invalid existing TransitDb file, could not load file.");
                    transitDb = null;
                }
            }

            if (transitDb == null)
            {
                transitDb = TransitDbBuilder.Run(gtfsFolder);

                using (var stream = File.Open(transitDbFile, FileMode.Create))
                {
                    transitDb.Serialize(stream);
                }
            }
            return(transitDb);
        }
Exemple #2
0
 /// <summary>
 /// Merges this given transit db's into one.
 /// </summary>
 public static TransitDb Merge(params TransitDb[] transitDbs)
 {
     return(TransitDbBuilder.GetTestMergeTransitDbs(transitDbs).TestPerf(
                "Testing merging all transit db's."));
 }
Exemple #3
0
 /// <summary>
 /// Builds a transit db from a GTFS folder.
 /// </summary>
 public static TransitDb Run(string gtfsFolder)
 {
     return(TransitDbBuilder.GetTestBuildTransitDb(gtfsFolder).TestPerf(
                string.Format("Testing loading GTFS: {0}", gtfsFolder)));
 }