bool Veh_Type_File::Create_Fields (void) { Add_Field ("TYPE", DB_INTEGER, 4, VEH_TYPE); Add_Field ("LENGTH", DB_DOUBLE, 5.1, FEET); Add_Field ("MAX_SPEED", DB_DOUBLE, 5.1, MPH); Add_Field ("MAX_ACCEL", DB_DOUBLE, 5.1, FPS2); Add_Field ("MAX_DECEL", DB_DOUBLE, 5.1, FPS2); Add_Field ("OP_COST", DB_DOUBLE, 5.1, CENT_MI); if (Code_Flag ()) { Add_Field ("USE", DB_UNSIGNED, 2, VEH_USE_CODE, true); } else { Add_Field ("USE", DB_STRING, 20, VEH_USE_CODE); } Add_Field ("CAPACITY", DB_UNSIGNED, 4, PPV); Add_Field ("MAX_LOAD", DB_UNSIGNED, 4, PPV); Add_Field ("OCCUPANCY", DB_DOUBLE, 8.2, PPV); Add_Field ("LOADING", DB_DOUBLE, 6.2, SPP); Add_Field ("UNLOADING", DB_DOUBLE, 6.2, SPP); if (Code_Flag ()) { Add_Field ("METHOD", DB_UNSIGNED, 1, LOADING_CODE, true); } else { Add_Field ("METHOD", DB_STRING, 20, LOADING_CODE); } Add_Field ("MIN_DWELL", DB_TIME, 6.1, SECONDS); Add_Field ("MAX_DWELL", DB_TIME, 6.1, SECONDS); Add_Field ("GRADE_FUNC", DB_INTEGER, 3); Add_Field ("FUEL_FUNC", DB_INTEGER, 3); Add_Field ("FUEL_CAP", DB_INTEGER, 5.1, GALLONS); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Link_Detail_File::Create_Fields (void) { Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); if (Code_Flag ()) { Add_Field ("CONTROL", DB_INTEGER, 1, CONTROL_CODE, true); } else { Add_Field ("CONTROL", DB_STRING, 12, CONTROL_CODE); } Add_Field ("GROUP", DB_INTEGER, 2); Add_Field ("LM_LENGTH", DB_DOUBLE, 6.1); Add_Field ("L_MERGE", DB_INTEGER, 2); Add_Field ("LT_LENGTH", DB_DOUBLE, 6.1); Add_Field ("LEFT", DB_INTEGER, 2); Add_Field ("LEFT_THRU", DB_INTEGER, 2); Add_Field ("THRU", DB_INTEGER, 2); Add_Field ("RIGHT_THRU", DB_INTEGER, 2); Add_Field ("RIGHT", DB_INTEGER, 2); Add_Field ("RT_LENGTH", DB_DOUBLE, 6.1); Add_Field ("R_MERGE", DB_INTEGER, 2); Add_Field ("RM_LENGTH", DB_DOUBLE, 6.1); if (Code_Flag ()) { Add_Field ("USE", DB_UNSIGNED, 2, USE_CODE, true); Add_Field ("LANES", DB_UNSIGNED, 2, LANE_RANGE_CODE, true); } else { Add_Field ("USE", DB_STRING, STRING_FIELD_SIZE, USE_CODE); Add_Field ("LANES", DB_STRING, 8, LANE_RANGE_CODE); } Add_Field ("PERIOD", DB_STRING, STRING_FIELD_SIZE); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Travel_Time_File::Create_Fields (void) { Add_Field ("HHOLD", DB_INTEGER, 4, NO_UNITS, true); Add_Field ("PERSON", DB_INTEGER, 2, NO_UNITS, true); Add_Field ("TOUR", DB_INTEGER, 1, NO_UNITS, true); Add_Field ("TRIP", DB_INTEGER, 1, NO_UNITS, true); if (Code_Flag ()) { Add_Field ("MODE", DB_INTEGER, 1, MODE_CODE, true); Add_Field ("PURPOSE", DB_INTEGER, 1, NO_UNITS, true); Add_Field ("CONSTRAINT", DB_INTEGER, 1, CONSTRAINT_CODE, true); } else { Add_Field ("MODE", DB_STRING, 12, MODE_CODE); Add_Field ("PURPOSE", DB_INTEGER, 2); Add_Field ("CONSTRAINT", DB_STRING, 14, CONSTRAINT_CODE); } Add_Field ("START_LINK", DB_INTEGER, 10); Add_Field ("END_LINK", DB_INTEGER, 10); Add_Field ("TRIP_START", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("BASE_START", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("STARTED", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("START_DIFF", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("TRIP_END", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("BASE_END", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("ENDED", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("END_DIFF", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("MID_TRIP", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("TTIME", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); return (Set_Field_Numbers ()); }
bool Sign_File::Create_Fields (void) { Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); if (Code_Flag ()) { Add_Field ("SIGN", DB_UNSIGNED, 1, CONTROL_CODE, true); } else { Add_Field ("SIGN", DB_STRING, 10, CONTROL_CODE); } if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Access_File::Create_Fields (void) { Add_Field ("LINK", DB_INTEGER, 10); Add_Field ("FROM_ID", DB_INTEGER, 10); Add_Field ("TO_ID", DB_INTEGER, 10); if (Code_Flag ()) { Add_Field ("FROM_TYPE", DB_UNSIGNED, 1, ID_CODE, true); Add_Field ("TO_TYPE", DB_UNSIGNED, 1, ID_CODE, true); } else { Add_Field ("FROM_TYPE", DB_STRING, 8, ID_CODE); Add_Field ("TO_TYPE", DB_STRING, 8, ID_CODE); } Add_Field ("DIR", DB_INTEGER, 1); Add_Field ("TIME", DB_TIME, 2, SECONDS, true); Add_Field ("COST", DB_UNSIGNED, 2, CENTS, true); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Fare_File::Set_Field_Numbers (void) { //---- required fields ---- from_zone = Required_Field ("FROM_ZONE", "FROMZONE", "FROM", "BOARD"); to_zone = Required_Field ("TO_ZONE", "TOZONE", "TO", "ALIGHT"); to_mode = Required_Field ("MODE", "TO_MODE", "TOMODE"); fare = Required_Field ("FARE", "COST"); if (from_zone < 0 || to_zone < 0 || to_mode < 0 || fare < 0) return (false); //---- optional fields ---- from_mode = Optional_Field ("FROM_MODE", "FROMMODE"); period = Optional_Field ("PERIOD", "TIME", "TIME_PERIOD", "TIME_RANGE"); type = Optional_Field ("CLASS", "TYPE"); Notes_Field (Optional_Field ("NOTES")); //---- set default units ---- if (Code_Flag ()) { Set_Units (from_zone, FARE_ZONE); Set_Units (to_zone, FARE_ZONE); Set_Units (from_mode, TRANSIT_CODE); Set_Units (to_mode, TRANSIT_CODE); Set_Units (period, TIME_PERIOD); Set_Units (type, CLASS_CODE); } else { Set_Units (from_zone, FARE_ZONE_RANGE); Set_Units (to_zone, FARE_ZONE_RANGE); Set_Units (from_mode, TRANSIT_CODE_RANGE); Set_Units (to_mode, TRANSIT_CODE_RANGE); Set_Units (period, TIME_PERIOD_RANGE); Set_Units (type, CLASS_CODE_RANGE); } Set_Units (fare, CENTS); return (true); }
bool Connect_File::Create_Fields (void) { Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); Add_Field ("TO_LINK", DB_INTEGER, 10); if (Code_Flag ()) { Add_Field ("LANES", DB_UNSIGNED, 2, LANE_RANGE_CODE, true); Add_Field ("TO_LANES", DB_UNSIGNED, 2, LANE_RANGE_CODE, true); Add_Field ("TYPE", DB_UNSIGNED, 1, CONNECT_CODE, true); } else { Add_Field ("LANES", DB_STRING, 8, LANE_RANGE_CODE); Add_Field ("TO_LANES", DB_STRING, 8, LANE_RANGE_CODE); Add_Field ("TYPE", DB_STRING, 8, CONNECT_CODE); } Add_Field ("PENALTY", DB_UNSIGNED, 2, IMPEDANCE, true); Add_Field ("SPEED", DB_DOUBLE, 5.1, MPH); Add_Field ("CAPACITY", DB_UNSIGNED, 8, VPH); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Fare_File::Create_Fields (void) { if (Code_Flag ()) { Add_Field ("FROM_ZONE", DB_UNSIGNED, 2, FARE_ZONE, true); Add_Field ("TO_ZONE", DB_UNSIGNED, 2, FARE_ZONE, true); Add_Field ("FROM_MODE", DB_UNSIGNED, 1, TRANSIT_CODE, true); Add_Field ("TO_MODE", DB_UNSIGNED, 1, TRANSIT_CODE, true); Add_Field ("PERIOD", DB_UNSIGNED, 1, TIME_PERIOD, true); Add_Field ("CLASS", DB_UNSIGNED, 1, CLASS_CODE, true); Add_Field ("FARE", DB_INTEGER, 2, CENTS, true); } else { Add_Field ("FROM_ZONE", DB_STRING, STRING_FIELD_SIZE, FARE_ZONE_RANGE); Add_Field ("TO_ZONE", DB_STRING, STRING_FIELD_SIZE, FARE_ZONE_RANGE); Add_Field ("FROM_MODE", DB_STRING, STRING_FIELD_SIZE, TRANSIT_CODE_RANGE); Add_Field ("TO_MODE", DB_STRING, STRING_FIELD_SIZE, TRANSIT_CODE_RANGE); Add_Field ("PERIOD", DB_STRING, STRING_FIELD_SIZE, TIME_PERIOD_RANGE); Add_Field ("CLASS", DB_STRING, STRING_FIELD_SIZE, CLASS_CODE_RANGE); Add_Field ("FARE", DB_INTEGER, 2, CENTS, true); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } } return (Set_Field_Numbers ()); }
bool Snapshot_File::Create_Fields (void) { if (compress) { Add_Field ("COMPRESS", DB_STRING, (int) sizeof (Compressed_Snapshot), METERS, true); } else { Add_Field ("HHOLD", DB_INTEGER, 10); Add_Field ("VEHICLE", DB_INTEGER, 4); if (Cell_Flag ()) { Add_Field ("CELL", DB_INTEGER, 1, NO_UNITS, true); } Add_Field ("TIME", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); if (Code_Flag ()) { Add_Field ("LANE", DB_UNSIGNED, 1, LANE_ID_CODE, true); } else { Add_Field ("LANE", DB_STRING, 4, LANE_ID_CODE); } Add_Field ("OFFSET", DB_DOUBLE, 8.1, METERS); Add_Field ("SPEED", DB_DOUBLE, 8.1, KPH); Add_Field ("PASSENGERS", DB_INTEGER, 4); Add_Field ("TYPE", DB_INTEGER, 4, VEH_TYPE); if (Status_Flag ()) { Add_Field ("WAIT", DB_INTEGER, 6, SECONDS); Add_Field ("TIME_DIFF", DB_INTEGER, 10, SECONDS); Add_Field ("USER", DB_INTEGER, 3); } if (Location_Flag ()) { Add_Field ("X_COORD", DB_DOUBLE, 14.1, METERS); Add_Field ("Y_COORD", DB_DOUBLE, 14.1, METERS); Add_Field ("Z_COORD", DB_DOUBLE, 14.1, METERS); Add_Field ("BEARING", DB_DOUBLE, 6.1, DEGREES); } } return (Set_Field_Numbers ()); }