bool Veh_Type_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("VEHTYPE", INTEGER, 2); Add_Field ("VSUBTYPE", INTEGER, 2); Add_Field ("MAXVEL", DOUBLE, 6, 2); Add_Field ("MAXACCEL", DOUBLE, 6, 2); Add_Field ("LENGTH", DOUBLE, 6, 1); Add_Field ("CAPACITY", INTEGER, 4); } else { Add_Field ("TYPE", INTEGER, 2); Add_Field ("SUBTYPE", INTEGER, 2); Add_Field ("LENGTH", DOUBLE, 6, 1); Add_Field ("MAX_SPEED", DOUBLE, 6, 1); Add_Field ("MAX_ACCEL", DOUBLE, 6, 2); Add_Field ("MAX_DECEL", DOUBLE, 6, 2); Add_Field ("USE", STRING, 20); Add_Field ("CAPACITY", INTEGER, 4); Add_Field ("LOADING", DOUBLE, 6, 2); Add_Field ("UNLOADING", DOUBLE, 6, 2); Add_Field ("METHOD", STRING, 20); Add_Field ("MIN_DWELL", INTEGER, 4); Add_Field ("MAX_DWELL", INTEGER, 4); } 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 Parking_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("ID", INTEGER, 10); Add_Field ("NODE", INTEGER, 10); Add_Field ("LINK", INTEGER, 10); Add_Field ("OFFSET", DOUBLE, 10, 2); Add_Field ("STYLE", STRING, 16); Add_Field ("CAPACITY", INTEGER, 6); Add_Field ("GENERIC", CHAR, 1); Add_Field ("VEHICLE", STRING, FIELD_BUFFER); Add_Field ("STARTTIME", STRING, TIME_BUFFER); Add_Field ("ENDTIME", STRING, TIME_BUFFER); Add_Field ("NOTES", STRING, FIELD_BUFFER); } else { Add_Field ("PARKING", INTEGER, 10); Add_Field ("LINK", INTEGER, 10); Add_Field ("NODE", INTEGER, 10); Add_Field ("OFFSET", DOUBLE, 10, 2); Add_Field ("TYPE", STRING, 16); Add_Field ("USE", STRING, FIELD_BUFFER); Add_Field ("SPACE", INTEGER, 6); Add_Field ("START", STRING, TIME_BUFFER); Add_Field ("END", STRING, TIME_BUFFER); Add_Field ("HOURLY", INTEGER, 8); Add_Field ("DAILY", INTEGER, 8); if (Notes_Flag ()) { Add_Field ("NOTES", STRING, FIELD_BUFFER); } } return (Set_Field_Numbers ()); }
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 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 Timing_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("PLAN", INTEGER, 10); Add_Field ("PHASE", INTEGER, 2); Add_Field ("NEXTPHASES", STRING, 16); Add_Field ("GREENMIN", INTEGER, 3); Add_Field ("GREENMAX", INTEGER, 3); Add_Field ("GREENEXT", INTEGER, 3); Add_Field ("YELLOW", INTEGER, 2); Add_Field ("REDCLEAR", INTEGER, 2); Add_Field ("GROUPFIRST", INTEGER, 2); Add_Field ("NOTES", STRING, FIELD_BUFFER); //Add_Field ("GROUP", INTEGER, 2); Add_Field ("BARRIER", INTEGER, 2); } else { Add_Field ("TIMING", INTEGER, 10); Add_Field ("PHASE", INTEGER, 2); Add_Field ("NEXT_PHASE", STRING, 16); Add_Field ("MIN_GREEN", INTEGER, 3); Add_Field ("MAX_GREEN", INTEGER, 3); Add_Field ("EXT_GREEN", INTEGER, 3); Add_Field ("YELLOW", INTEGER, 2); Add_Field ("RED_CLEAR", INTEGER, 2); Add_Field ("RING", INTEGER, 2); //Add_Field ("GROUP", INTEGER, 2); Add_Field ("BARRIER", INTEGER, 2); if (Notes_Flag ()) { Add_Field ("NOTES", STRING, FIELD_BUFFER); } } return (Set_Field_Numbers ()); }
bool TPPlus_Matrix::Read_Header (bool stat) { int i; char *header; double size; String label; //---- extract the table names ---- stat = false; Clear_Fields (); header = (char *) fh->Mnames; for (i=0; i < Tables (); i++) { label = header; if (label.empty ()) { header++; label ("%d") % (i + 1); } else { header += label.size () + 1; } size = sizeof (double); if (fh->Mspecs [i] != 'D' && fh->Mspecs [i] != 'S') { size += fh->Mspecs [i] / 10.0; } Add_Field (label, DB_DOUBLE, size, NO_UNITS, true); } Add_Field ("ORG", DB_INTEGER, 4, NO_UNITS, true); Add_Field ("DES", DB_INTEGER, 4, NO_UNITS, true); return (Set_Field_Numbers ()); }
bool Location_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("ID", INTEGER, 10); Add_Field ("NODE", INTEGER, 10); Add_Field ("LINK", INTEGER, 10); Add_Field ("OFFSET", DOUBLE, 10, 2); Add_Field ("LAYER", STRING, 16); Add_Field ("EASTING", DOUBLE, 14, 2); Add_Field ("NORTHING", DOUBLE, 14, 2); Add_Field ("ELEVATION", DOUBLE, 14, 2); Add_Field ("TAZ", INTEGER, 10); Add_Field ("NOTES", STRING, FIELD_BUFFER); } else { Add_Field ("LOCATION", INTEGER, 10); Add_Field ("LINK", INTEGER, 10); Add_Field ("NODE", INTEGER, 10); Add_Field ("OFFSET", DOUBLE, 10, 1); Add_Field ("X_COORD", DOUBLE, 14, 1); Add_Field ("Y_COORD", DOUBLE, 14, 1); Add_Field ("ZONE", INTEGER, 10); if (Notes_Flag ()) { Add_Field ("NOTES", STRING, FIELD_BUFFER); } } return (Set_Field_Numbers ()); }
bool Boundary_File::Create_Fields (void) { Add_Field ("PARKING", INTEGER, 10); Add_Field ("START", STRING, TIME_BUFFER); Add_Field ("END", STRING, TIME_BUFFER); Add_Field ("SPEED", DOUBLE, 10, 2); return (Set_Field_Numbers ()); }
bool Count_File::Create_Fields (void) { Add_Field ("ANODE", INTEGER, 10); Add_Field ("BNODE", INTEGER, 10); Add_Field ("START", STRING, 20); Add_Field ("END", STRING, 20); Add_Field ("COUNT", INTEGER, 10); return (Set_Field_Numbers ()); }
bool Factor_File::Create_Fields (void) { Add_Field ("ORG", INTEGER, 5); Add_Field ("DES", INTEGER, 5); if (Period_Flag ()) { Add_Field ("PERIOD", INTEGER, 3); } Add_Field ("FACTOR", DOUBLE, 16, 6); return (Set_Field_Numbers ()); }
bool Location_File::Create_Fields (void) { Add_Field ("LOCATION", DB_INTEGER, 10); Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); Add_Field ("OFFSET", DB_DOUBLE, 8.1, METERS); Add_Field ("SETBACK", DB_DOUBLE, 8.1, METERS); Add_Field ("ZONE", DB_INTEGER, 10); if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } 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 Coordinator_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("ID", INTEGER, 10); Add_Field ("TYPE", STRING, 10); Add_Field ("ALGORITHM", STRING, 10); Add_Field ("NOTES", STRING, FIELD_BUFFER); } else { Add_Field ("ID", INTEGER, 10); if (Notes_Flag ()) { Add_Field ("NOTES", STRING, FIELD_BUFFER); } } return (Set_Field_Numbers ()); }
bool Ridership_File::Create_Fields (void) { Add_Field ("MODE", STRING, 16); Add_Field ("ROUTE", INTEGER, 10); Add_Field ("RUN", INTEGER, 5); Add_Field ("STOP", INTEGER, 10); Add_Field ("SCHEDULE", STRING, TIME_BUFFER); Add_Field ("TIME", STRING, TIME_BUFFER); Add_Field ("BOARD", INTEGER, 5); Add_Field ("ALIGHT", INTEGER, 5); Add_Field ("LOAD", INTEGER, 5); Add_Field ("FACTOR", DOUBLE, 5, 2); return (Set_Field_Numbers ()); }
bool Event_File::Create_Fields (void) { Add_Field ("HOUSEHOLD", INTEGER, 10); Add_Field ("PERSON", INTEGER, 2); Add_Field ("TRIP", INTEGER, 4); Add_Field ("LEG", INTEGER, 2); Add_Field ("MODE", INTEGER, 2); Add_Field ("EVENT", INTEGER, 2); Add_Field ("SCHEDULE", STRING, TIME_BUFFER); Add_Field ("ACTUAL", STRING, TIME_BUFFER); Add_Field ("LINK", INTEGER, 10); Add_Field ("OFFSET", INTEGER, 10); return (Set_Field_Numbers ()); }
bool Node_File::Create_Fields (void) { Add_Field ("NODE", DB_INTEGER, 10); 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); if (Subarea_Flag ()) { Add_Field ("SUBAREA", DB_INTEGER, 4); Add_Field ("PARTITION", DB_INTEGER, 4); } if (exe->Notes_Name_Flag ()) { Add_Field ("NOTES", DB_STRING, STRING_FIELD_SIZE); } return (Set_Field_Numbers ()); }
bool Route_Nodes_File::Create_Fields (void) { Add_Field ("ROUTE", INTEGER, 10); Add_Field ("NODE", INTEGER, 10); if (dwell_flag) { Add_Field ("DWELL", INTEGER, 10); } if (time_flag) { Add_Field ("TIME", INTEGER, 10); } if (speed_flag) { Add_Field ("SPEED", DOUBLE, 10, 2); } return (Set_Field_Numbers ()); }
bool Tour_File::Create_Fields (void) { Add_Field ("HHOLD", INTEGER, 10); Add_Field ("PERSON", INTEGER, 3); Add_Field ("TOUR", INTEGER, 5); Add_Field ("PURPOSE", INTEGER, 2); Add_Field ("MODE", INTEGER, 2); Add_Field ("ORIGIN", INTEGER, 5); Add_Field ("DESTINATION", INTEGER, 5); Add_Field ("STOP_OUT", INTEGER, 5); Add_Field ("STOP_IN", INTEGER, 5); Add_Field ("START", INTEGER, 5); Add_Field ("RETURN", INTEGER, 5); Add_Field ("GROUP", INTEGER, 2); return (Set_Field_Numbers ()); }
bool Skim_File::Create_Fields (void) { Clear_Fields (); Matrix_File::Create_Fields (); if (time_flag) { Add_Field ("TIME", DB_TIME, 4, Time_Format (), true); } else { if (mode == WAIT_MODE) { Add_Field ("WAIT", DB_TIME, 2, Time_Format (), true); } else if (mode == BIKE_MODE || mode == OTHER_MODE) { Add_Field ("OTHER", DB_TIME, 2, Time_Format (), true); } else { Add_Field ("WALK", DB_TIME, 2, Time_Format (), true); if (mode != WALK_MODE) { if (mode != RIDE_MODE && mode != TRANSIT_MODE && mode != TAXI_MODE) { Add_Field ("DRIVE", DB_TIME, 4, Time_Format (), true); } if (mode != DRIVE_MODE) { if (mode != RIDE_MODE && mode != TAXI_MODE) { Add_Field ("TRANSIT", DB_TIME, 4, Time_Format (), true); } Add_Field ("WAIT", DB_TIME, 2, Time_Format (), true); } Add_Field ("OTHER", DB_TIME, 2, Time_Format (), true); } } } if (Length_Format () == MILES || Length_Format () == KILOMETERS) { Add_Field ("LENGTH", DB_DOUBLE, 4.2, Length_Format (), true); } else { Add_Field ("LENGTH", DB_INTEGER, 4, Length_Format (), true); } if (len_flag) { Db_Field *fld = Field ("LENGTH"); if (fld->Units () != Length_Format ()) { fld->Units (Length_Format ()); } } Add_Field ("COST", DB_INTEGER, 2, CENTS, true); Add_Field ("IMPEDANCE", DB_INTEGER, 4, IMPEDANCE, true); return (Set_Field_Numbers ()); }
bool Skim_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Header_Lines (0); Add_Field ("ORG", INTEGER, 5); Add_Field ("DES", INTEGER, 5); Add_Field ("MODE", INTEGER, 2); Add_Field ("INTERVAL", INTEGER, 3); Add_Field ("TIME", DOUBLE, 16, 6); Add_Field ("COUNT", INTEGER, 10); Add_Field ("VARIANCE", DOUBLE, 16, 6); } else { Add_Field ("ORG", INTEGER, 5); Add_Field ("DES", INTEGER, 5); Add_Field ("PERIOD", INTEGER, 3); if (total_flag) { Add_Field ("TIME", INTEGER, 6); if (length_flag) { Add_Field ("LENGTH", INTEGER, 8); } } else { Add_Field ("COUNT", INTEGER, 5); Add_Field ("WALK", INTEGER, 5); if (transit_flag) { Add_Field ("WAIT", INTEGER, 5); Add_Field ("TRANSIT", INTEGER, 5); } if (drive_flag) { Add_Field ("DRIVE", INTEGER, 5); } if (other_flag) { Add_Field ("OTHER", INTEGER, 5); } if (length_flag) { Add_Field ("LENGTH", INTEGER, 8); } if (transit_flag || drive_flag) { Add_Field ("COST", INTEGER, 5); } } } 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::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("FROMZONE", STRING, 8); Add_Field ("TOZONE", STRING, 8); Add_Field ("MODE", STRING, 20); Add_Field ("COST", INTEGER, 6); } else { Add_Field ("FROM_ZONE", STRING, FIELD_BUFFER); Add_Field ("TO_ZONE", STRING, FIELD_BUFFER); Add_Field ("FROM_MODE", STRING, FIELD_BUFFER); Add_Field ("TO_MODE", STRING, FIELD_BUFFER); Add_Field ("PERIOD", STRING, FIELD_BUFFER); Add_Field ("CLASS", STRING, FIELD_BUFFER); Add_Field ("FARE", INTEGER, 6); if (Notes_Flag ()) { Add_Field ("NOTES", STRING, FIELD_BUFFER); } } return (Set_Field_Numbers ()); }
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 System_Event_File::Create_Fields (void) { if (Dbase_Format () == VERSION3) { Add_Field ("TIME", STRING, TIME_BUFFER); Add_Field ("EVENT", INTEGER, 5); Add_Field ("NODE", INTEGER, 10); Add_Field ("PLAN", INTEGER, 10); Add_Field ("PHASE", INTEGER, 10); Add_Field ("RING", INTEGER, 2); Add_Field ("GROUP", INTEGER, 2); Add_Field ("STATUS", STRING, 16); } else { Add_Field ("TIME", STRING, TIME_BUFFER); Add_Field ("EVENT", INTEGER, 5); Add_Field ("NODE", INTEGER, 10); Add_Field ("PLAN", INTEGER, 10); Add_Field ("PHASE", INTEGER, 5); Add_Field ("RING", INTEGER, 2); Add_Field ("GROUP", INTEGER, 2); Add_Field ("STATUS", STRING, 16); } return (Set_Field_Numbers ()); }
bool TransCAD_Matrix::Read_Header (bool stat) { int i; char label [_MAX_FLABEL]; double size; Field_Type type; String text; //---- extract the table names ---- Clear_Fields (); stat = false; type = Type (); if (type == DB_DOUBLE) { size = sizeof (double); } else if (type == DB_FLOAT) { type = DB_DOUBLE; size = sizeof (float); } else if (type == DB_SHORT) { type = DB_INTEGER; size = sizeof (short); } else { size = sizeof (int); } for (i=0; i < Tables (); i++) { MATRIX_GetLabel (fh, (short) i, label); text = label; Add_Field (text, type, size, NO_UNITS, true); } Add_Field ("ORG", DB_INTEGER, 4, NO_UNITS, true); Add_Field ("DES", DB_INTEGER, 4, NO_UNITS, true); 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 ()); }
bool Link_Delay_File::Create_Fields (void) { Add_Field ("LINK", DB_INTEGER, 10); Add_LinkDir_Field (); if (type_flag) { Add_Field ("TYPE", DB_INTEGER, 1); } Add_Field ("START", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("END", DB_TIME, TIME_FIELD_SIZE, Time_Format ()); Add_Field ("FLOW", DB_DOUBLE, 9.2, flow_units); Add_Field ("TIME", DB_TIME, 8.1, SECONDS); if (turn_flag) { Nest (NESTED); Header_Lines (2); Add_Field ("NCONNECT", DB_INTEGER, 2); Add_Field ("OUT_LINK", DB_INTEGER, 10, NO_UNITS, false, NESTED); Add_Field ("OUT_FLOW", DB_DOUBLE, 9.2, flow_units, false, NESTED); Add_Field ("OUT_TIME", DB_TIME, 8.1, SECONDS, false, NESTED); } else { Nest (NO_NEST); Header_Lines (1); } return (Set_Field_Numbers ()); }
bool Travel_Time_File::Create_Fields (void) { Add_Field ("HOUSEHOLD", INTEGER, 10); Add_Field ("PERSON", INTEGER, 5); Add_Field ("TRIP", INTEGER, 5); Add_Field ("LEG", INTEGER, 2); Add_Field ("MODE", INTEGER, 2); Add_Field ("PURPOSE", INTEGER, 2); Add_Field ("CONSTRAINT", INTEGER, 2); Add_Field ("START_LINK", INTEGER, 10); Add_Field ("END_LINK", INTEGER, 10); Add_Field ("TRIP_START", STRING, 16); Add_Field ("BASE_START", STRING, 16); Add_Field ("STARTED", STRING, 16); Add_Field ("START_DIFF", STRING, 16); Add_Field ("TRIP_END", STRING, 16); Add_Field ("BASE_END", STRING, 16); Add_Field ("ENDED", STRING, 16); Add_Field ("END_DIFF", STRING, 16); Add_Field ("MID_TRIP", STRING, 16); Add_Field ("DURATION", STRING, 16); return (Set_Field_Numbers ()); }