/// <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); }
/// <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.")); }
/// <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))); }