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