Esempio n. 1
0
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 ());
}
Esempio n. 2
0
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 ());
}
Esempio n. 3
0
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 ());
}
Esempio n. 4
0
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 ());
}
Esempio n. 5
0
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 ());
}
Esempio n. 6
0
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 ());
}