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 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 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 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 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 ()); }