Пример #1
0
bool Location_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	location = Required_Field ("LOCATION", "ID");
	link = Required_Field ("LINK");
	offset = Required_Field ("OFFSET");

	if (location < 0 || link < 0 || offset < 0) return (false);

	//---- optional fields ----

	setback = Optional_Field ("SETBACK");
	zone = Optional_Field ("ZONE", "TAZ");

	dir = LinkDir_Type_Field ();
	Notes_Field (Optional_Field ("NOTES"));
	
	//---- set default units ----

	Set_Units (offset, METERS);
	Set_Units (setback, METERS);

	return (true);
}
Пример #2
0
bool Access_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	from_id = Required_Field ("FROMID", "FROM_ID");
	to_id = Required_Field ("TOID", "TO_ID");
	from_type = Required_Field ("FROMTYPE", "FROM_TYPE");
	to_type = Required_Field ("TOTYPE", "TO_TYPE");

	if (from_id < 0 || to_id < 0 || from_type < 0 || to_type < 0) return (false);

	//---- optional fields ----

	link = Optional_Field ("LINK", "ACCESS", "ID", "RECORD");
	dir = Optional_Field ("DIR", "DIRECTION");
	time = Optional_Field ("DELAY", "TIME");
	cost = Optional_Field ("COST");
	Notes_Field (Optional_Field ("NOTES"));
	
	//---- set default units ----

	Set_Units (from_type, ID_CODE);	
	Set_Units (to_type, ID_CODE);
	Set_Units (time, SECONDS);
	Set_Units (cost, CENTS);

	return (true);
}
Пример #3
0
bool Node_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	node = Required_Field ("NODE", "ID", "N");
	x = Required_Field (X_FIELD_NAMES);
	y = Required_Field (Y_FIELD_NAMES);

	if (node < 0 || x < 0 || y < 0) return (false);

	//---- optional fields ----

	z = Optional_Field (Z_FIELD_NAMES);

	subarea = Optional_Field ("SUBAREA", "AREA");
	part = Optional_Field ("PARTITION", "PART");
	Subarea_Flag ((subarea >= 0 || part >= 0));

	Notes_Field (Optional_Field ("NOTES"));

	//---- set default units ----

	Set_Units (x, METERS);
	Set_Units (y, METERS);
	Set_Units (z, METERS);

	return (true);
}
Пример #4
0
bool Veh_Type_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	type = Required_Field ("TYPE", "VEHTYPE", "VEH_TYPE");
	length = Required_Field ("LENGTH", "SIZE");
	max_speed = Required_Field ("MAX_SPEED", "MAXVEL", "MAXSPEED", "MAXSPD");
	max_accel = Required_Field ("MAX_ACCEL", "MAXACCEL");
	capacity = Required_Field ("CAPACITY", "PASSENGERS");
	
	if (!type || !length || !max_speed || !max_accel || !capacity) return (false);

	//---- optional fields ----

	sub_type = Optional_Field ("SUBTYPE", "SUB_TYPE", "VSUBTYPE");
	max_decel = Optional_Field ("MAX_DECEL", "MAXDECEL");
	use = Optional_Field ("USE", "ACCESS");
	load = Optional_Field ("LOADING", "LOAD", "BOARD", "BOARDING", "ON_RATE");
	unload = Optional_Field ("UNLOADING", "UNLOAD", "ALIGHT", "ALIGHTING", "OFF_RATE");
	method = Optional_Field ("METHOD", "LOAD_TYPE", "LOAD_METHOD");
	min_dwell = Optional_Field ("MIN_DWELL", "MINDWELL", "DWELL");
	max_dwell = Optional_Field ("MAX_DWELL", "MAXDWELL", "DWELL");

	return (true);
}
Пример #5
0
bool Skim_File::Set_Field_Numbers (void)
{
	Matrix_File::Set_Field_Numbers ();

	//---- optional fields ----

	count = Optional_Field ("COUNT");
	time = Optional_Field (TIME_SKIM_FIELD_NAMES);
	walk = Optional_Field (WALK_SKIM_FIELD_NAMES);
	drive = Optional_Field (DRIVE_SKIM_FIELD_NAMES);
	transit = Optional_Field (TRANSIT_SKIM_FIELD_NAMES);
	wait = Optional_Field (WAIT_SKIM_FIELD_NAMES);
	other = Optional_Field (OTHER_SKIM_FIELD_NAMES);
	cost = Optional_Field (COST_SKIM_FIELD_NAMES);
	length = Optional_Field (LENGTH_SKIM_FIELD_NAMES);
	impedance = Optional_Field (IMP_SKIM_FIELD_NAMES);

	if (File_Access () != CREATE) Total_Time_Flag ((time >= 0));
	
	//---- set default units ----

	if (Version () <= 40) {
		Set_Units (time, SECONDS);
		Set_Units (walk, SECONDS);
		Set_Units (drive, SECONDS);
		Set_Units (transit, SECONDS);
		Set_Units (wait, SECONDS);
		Set_Units (other, SECONDS);
		Set_Units (cost, CENTS);
		Set_Units (length, METERS);
		Set_Units (impedance, IMPEDANCE);
	} else {
		Set_Units (time, SECONDS);
		Set_Units (walk, SECONDS);
		Set_Units (drive, SECONDS);
		Set_Units (transit, SECONDS);
		Set_Units (wait, SECONDS);
		Set_Units (other, SECONDS);
		Set_Units (cost, CENTS);
		Set_Units (length, FEET);
		Set_Units (impedance, IMPEDANCE);
	}
	return (true);
}
Пример #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);
}
Пример #7
0
bool Location_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	location = Required_Field ("LOCATION", "ID");
	link = Required_Field ("LINK");
	node = Required_Field ("DIR", "NODE");
	offset = Required_Field ("OFFSET");
	x = Required_Field ("X_COORD", "EASTING", "X");
	y = Required_Field ("Y_COORD", "NORTHING", "Y");

	if (!location || !link || !node || !offset || !x || !y) return (false);

	//---- optional fields ----

	z = Optional_Field ("Z_COORD", "ELEVATION", "Z");
	zone = Optional_Field ("ZONE", "TAZ");
	Notes_Field (Optional_Field ("NOTES"));

	return (true);
}
Пример #8
0
bool System_Event_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	time = Required_Field ("TIME");
	type = Required_Field ("EVENT", "TYPE");
	node = Required_Field ("NODE");

	if (!time || !type || !node) return (false);

	//---- optional fields ----

	plan = Optional_Field ("PLAN", "TIMING");
	phase = Optional_Field ("PHASE");
	ring = Optional_Field ("RING");
	group = Optional_Field ("GROUP");
	status = Optional_Field ("STATUS", "MESSAGE");

	return (true);
}
Пример #9
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 || !to_zone || !to_mode || !fare) 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"));

	//---- old Version 4 fields ----

	transfer = Optional_Field ("TRANSFER", "XFER_FARE");
	max_fare = Optional_Field ("MAX_FARE", "MAXFARE");

	return (true);
}
Пример #10
0
bool Parking_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	id = Required_Field ("PARKING", "ID");
	link = Required_Field ("LINK");
	node = Required_Field ("DIR", "NODE");
	offset = Required_Field ("OFFSET");
	type = Required_Field ("TYPE", "STYLE");
	use = Required_Field ("USE", "VEHICLE");

	if (!id || !link || !node || !offset || !type || !use) return (false);

	//---- optional fields ----

	space = Optional_Field ("CAPACITY", "SPACE");
	start = Optional_Field ("STARTTIME", "START", "START_TIME");
	end = Optional_Field ("ENDTIME", "END", "END_TIME");
	hourly = Optional_Field ("HOURLY", "RATE");
	daily = Optional_Field ("DAILY", "MAXIMUM");

	Notes_Field (Optional_Field ("NOTES"));

	return (true);
}
Пример #11
0
bool Route_Nodes_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	route = Required_Field ("ROUTE", "LINE");
	node = Required_Field ("NODE", "STOP");

	if (!route || !node) return (false);

	//---- optional fields ----

	dwell = Optional_Field ("DWELL", "DWELL_TIME", "STOP_TIME", "STOPTIME");
	dwell_flag = (dwell != 0);

	time = Optional_Field ("TIME", "TTIME", "RUNTIME", "RUN_TIME");
	time_flag = (time != 0);

	speed = Optional_Field ("SPEED", "SPD", "RUNSPD", "RUN_SPD", "RUN_SPEED");
	speed_flag = (speed != 0);

	return (true);
}
Пример #12
0
bool Event_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	hhold = Required_Field ("HOUSEHOLD", "HHOLD", "HH_ID", "HHID", "HH");
	trip = Required_Field ("TRIP");
	type = Required_Field ("EVENT", "TYPE");
	schedule = Required_Field ("SCHEDULE");
	actual = Required_Field ("ACTUAL");

	if (!hhold || !trip || !schedule || !actual) return (false);

	//---- optional fields ----

	person = Optional_Field ("PERSON", "MEMBER", "PER_ID", "PERID", "PER");
	mode = Optional_Field ("MODE");
	leg = Optional_Field ("LEG");
	link = Optional_Field ("LINK");
	offset = Optional_Field ("OFFSET");

	return (true);
}
Пример #13
0
bool Coordinator_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	id = Required_Field ("ID", "NODE");

	if (!id) return (false);

	//---- optional fields ----

	Notes_Field (Optional_Field ("NOTES"));

	return (true);
}
Пример #14
0
bool Connect_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	link = Required_Field (IN_LINK_FIELD_NAMES);
	to_link = Required_Field (OUT_LINK_FIELD_NAMES);

	if (link < 0 || to_link < 0) return (false);

	//---- optional fields ----
	
	dir = LinkDir_Type_Field ();
	lanes = Optional_Field ("LANES", "IN_LOW", "INLANE", "LANE_IN", "LANEIN");
	to_lanes = Optional_Field ("TO_LANES", "OUT_LOW", "OUTLANE", "LANE_OUT", "LANEOUT");
	type = Optional_Field ("TYPE", "MOVEMENT", "TURN", "TURNTYPE", "TURN_TYPE");
	penalty = Optional_Field ("PENALTY", "DELAY");
	speed = Optional_Field ("SPEED", "MAX_SPD");
	capacity = Optional_Field ("CAPACITY", "SAT_FLOW");
	Notes_Field (Optional_Field (NOTES_FIELD_NAMES));

	//---- set default units ----
	
	if (Version () <= 40) {
		in_high = Optional_Field ("IN_HIGH", "HIGH_IN", "LANES", "LANE_IN", "LANEIN");
		out_high = Optional_Field ("OUT_HIGH", "HIGH_OUT", "TO_LANES", "LANE_OUT", "LANEOUT");
		Set_Units (type, CONNECT_CODE);
		Set_Units (penalty, IMPEDANCE);
		Set_Units (speed, MPS);
		Set_Units (capacity, VPH);
	} else {
		Set_Units (lanes, LANE_RANGE_CODE);
		Set_Units (to_lanes, LANE_RANGE_CODE);
		in_high = out_high = -1;
		Set_Units (type, CONNECT_CODE);
		Set_Units (penalty, IMPEDANCE);
		Set_Units (speed, MPH);
		Set_Units (capacity, VPH);
	}
	return (true);
}
Пример #15
0
bool Sign_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	link = Required_Field ("LINK", "INLINK", "LINK_IN");
	sign = Required_Field ("SIGN");

	if (link < 0 || sign < 0) return (false);

	dir = LinkDir_Type_Field ();
	Notes_Field (Optional_Field ("NOTES"));

	//---- set default units ----
	
	Set_Units (sign, CONTROL_CODE);

	return (true);
}
Пример #16
0
int Db_Base::Required_Field (const char *name1, const char *name2, const char *name3, const char *name4, const char *name5)
{
	int num = Optional_Field (name1, name2, name3, name4, name5);

	if (num < 0 && exe->Send_Messages ()) {
		if (name5) {
			exe->Error (String ("%s does not include field:\n\t\t\"%s\", \"%s\", \"%s\", \"%s\" or \"%s\"") % 
						File_Type () % name1 % name2 % name3 % name4 % name5);
		} else if (name4) {
			exe->Error (String ("%s does not include field:\n\t\t\"%s\", \"%s\", \"%s\" or \"%s\"") % 
						File_Type () % name1 % name2 % name3 % name4);
		} else if (name3) {
			exe->Error (String ("%s does not include field:\n\t\t\"%s\", \"%s\" or \"%s\"") % 
						File_Type () % name1 % name2 % name3);
		} else if (name2) {
			exe->Error (String ("%s does not include \"%s\" or \"%s\" field") % File_Type () % name1 % name2);
		} else if (name1) {
			exe->Error (String ("%s does not include \"%s\" field") % File_Type () % name1);
		} else {
			exe->Error (String ("%s Required Field Name is NULL") % File_Type ());
		}
	}
	return (num);
}
Пример #17
0
bool Timing_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	timing = Required_Field ("TIMING", "PLAN");
	phase = Required_Field ("PHASE");
	next = Required_Field ("NEXT_PHASE", "NEXTPHASES");
	minimum = Required_Field ("MIN_GREEN", "GREENMIN");

	if (!timing || !phase || !next || !minimum) return (false);

	//---- optional fields ----

	maximum = Optional_Field ("MAX_GREEN", "GREENMAX");
	extend = Optional_Field ("EXT_GREEN", "GREENEXT");
	yellow = Optional_Field ("YELLOW");
	red = Optional_Field ("RED_CLEAR", "REDCLEAR");
	ring = Optional_Field ("RING", "GROUPFIRST");
	group = Optional_Field ("GROUP", "BARRIER");
	Notes_Field (Optional_Field ("NOTES"));

	return (true);
}
Пример #18
0
bool Ridership_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	route = Required_Field ("ROUTE", "LINE", "ROUTE_ID", "LINE_ID");
	run = Required_Field ("RUN", "TRIP");
	stop = Required_Field ("STOP", "STOP_ID");
	board = Required_Field ("BOARD", "ON", "GET_ON");
	alight = Required_Field ("ALIGHT", "OFF", "GET_OFF");

	if (!route || !run || !stop || !board || !alight) return (false);

	//---- optional fields ----

	mode = Optional_Field ("MODE", "TYPE");
	schedule = Optional_Field ("SCHEDULE", "DEPART");
	time = Optional_Field ("TIME", "ARRIVE", "ACTUAL");
	load = Optional_Field ("LOAD", "RIDERS", "PASSENGERS", "IN");
	factor = Optional_Field ("FACTOR", "LOAD_FACTOR", "VC");
	Notes_Field (Optional_Field ("NOTES"));

	return (true);
}
Пример #19
0
bool Snapshot_File::Set_Field_Numbers (void)
{
    //---- compress check ----

    blob = Optional_Field ("COMPRESS");

    if (blob >= 0) {
        compress = true;
        rec = (Compressed_Snapshot *) Record_String ();
        Set_Units (blob, METERS);
        units = Field (blob)->Units ();
        Status_Flag (true);
        return (true);
    }
    compress = false;

    //---- required fields ----

    if (Version () <= 40) {
        hhold = Required_Field ("DRIVER", "VEHICLE");
    } else {
        hhold = Required_Field (HHOLD_FIELD_NAMES);
    }
    vehicle = Required_Field (VEHICLE_FIELD_NAMES);
    link = Required_Field ("LINK");
    time = Required_Field ("TIME");
    link = Required_Field ("LINK");
    lane = Required_Field ("LANE");
    offset = Required_Field ("OFFSET", "DISTANCE");
    speed = Required_Field ("SPEED", "VELOCITY");

    if (hhold < 0 || vehicle < 0 || time < 0 || link < 0 || lane < 0 || offset < 0 || speed < 0) return (false);

    //---- optional fields ----

    dir = LinkDir_Type_Field ();

    cell = Optional_Field ("CELL", "PART");
    pass = Optional_Field ("PASSENGERS", "OCCUPANCY");
    type = Optional_Field ("TYPE", "VEHTYPE", "VEH_TYPE");
    wait = Optional_Field ("WAIT", "STOPTIME", "DELAY");
    diff = Optional_Field ("TIME_DIFF", "VARIANCE", "DIFFERENCE");
    user = Optional_Field ("USER", "DATA");
    x = Optional_Field (X_FIELD_NAMES);
    y = Optional_Field (Y_FIELD_NAMES);
    z = Optional_Field (Z_FIELD_NAMES);
    bearing = Optional_Field ("BEARING", "DIRECTION", "DEGREES");

    Cell_Flag (cell >= 0);
    Location_Flag (x >= 0 && y >= 0 && bearing >= 0);
    Status_Flag (wait >= 0 || diff >= 0 || user >= 0);

    //---- set default units ----

    Set_Units (time, DAY_TIME);
    Set_Units (lane, LANE_ID_CODE);
    Set_Units (offset, METERS);
    Set_Units (speed, MPS);
    Set_Units (type, VEH_TYPE);
    Set_Units (wait, SECONDS);
    Set_Units (diff, SECONDS);
    Set_Units (x, METERS);
    Set_Units (y, METERS);
    Set_Units (z, METERS);
    Set_Units (bearing, DEGREES);

    return (true);
}
Пример #20
0
bool Travel_Time_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	hhold = Required_Field (HHOLD_FIELD_NAMES);
	trip = Required_Field (TRIP_FIELD_NAMES);

	if (hhold < 0 || trip < 0) return (false);

	//---- optional fields ----

	person = Optional_Field (PERSON_FIELD_NAMES);
	tour = Optional_Field (TOUR_FIELD_NAMES);
	mode = Optional_Field (MODE_FIELD_NAMES);
	purpose = Optional_Field (PURPOSE_FIELD_NAMES);
	constraint = Optional_Field (CONSTRAINT_FIELD_NAMES);

	//---- optional fields ----

	start_link = Optional_Field ("START_LINK", "STARTLINK", "ORIGIN");
	end_link = Optional_Field ("END_LINK", "ENDLINK", "DESTINATION");
	trip_start = Optional_Field ("TRIP_START", "TRIPSTART");
	base_start = Optional_Field ("BASE_START", "BASESTART", "SCHEDULE1");
	started = Optional_Field ("STARTED", "START", "ACTUAL1");
	start_diff = Optional_Field ("START_DIFF", "STARTDIFF", "DIFF1");
	trip_end = Optional_Field ("TRIP_END", "TRIPEND");
	base_end = Optional_Field ("BASE_END", "BASEEND", "SCHEDULE2");
	ended = Optional_Field ("ENDED", "END", "ACTUAL2");
	end_diff = Optional_Field ("END_DIFF", "ENDDIFF", "DIFF2");
	mid_trip = Optional_Field ("MID_TRIP", "MIDTRIP", "TIME", "TOD");
	ttime = Optional_Field ("TTIME", "DURATION", "TRAVELTIME");

	Set_Units (mode, MODE_CODE);
	Set_Units (constraint, CONSTRAINT_CODE);	
	Set_Units (trip_start, SECONDS);
	Set_Units (base_start, SECONDS);
	Set_Units (started, SECONDS);
	Set_Units (start_diff, SECONDS);
	Set_Units (trip_end, SECONDS);
	Set_Units (base_end, SECONDS);
	Set_Units (ended, SECONDS);
	Set_Units (end_diff, SECONDS);
	Set_Units (mid_trip, SECONDS);
	Set_Units (ttime, SECONDS);
	return (true);
}
Пример #21
0
bool Veh_Type_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	type = Required_Field ("TYPE", "VEHTYPE", "VEH_TYPE");
	length = Required_Field ("LENGTH", "SIZE");
	max_speed = Required_Field ("MAX_SPEED", "MAXVEL", "MAXSPEED", "MAXSPD");
	max_accel = Required_Field ("MAX_ACCEL", "MAXACCEL");
	capacity = Required_Field ("CAPACITY", "PASSENGERS");
	
	if (type < 0 || length < 0 || max_speed < 0 || max_accel < 0 || capacity < 0) return (false);

	//---- optional fields ----

	occupancy = Optional_Field ("OCCUPANCY", "PASSENGERS", "AVG_OCC");
	max_decel = Optional_Field ("MAX_DECEL", "MAXDECEL");
	op_cost = Optional_Field ("OP_COST", "OPCOST", "COST");
	use = Optional_Field ("USE", "ACCESS");
	max_load = Optional_Field ("MAX_LOAD", "MAXLOAD", "MAX_CAP");
	load = Optional_Field ("LOADING", "LOAD", "BOARD", "BOARDING", "ON_RATE");
	unload = Optional_Field ("UNLOADING", "UNLOAD", "ALIGHT", "ALIGHTING", "OFF_RATE");
	method = Optional_Field ("METHOD", "LOAD_TYPE", "LOAD_METHOD");
	min_dwell = Optional_Field ("MIN_DWELL", "MINDWELL", "DWELL");
	max_dwell = Optional_Field ("MAX_DWELL", "MAXDWELL", "DWELL");

	grade = Optional_Field ("GRADE", "GRADE_FUNC", "GRADE_FUNCTION", "GRADE_NUM");
	fuel = Optional_Field ("FUEL", "FUEL_FUNC", "FUEL_FUNCTION", "FUEL_NUM");
	fuel_cap = Optional_Field ("FUEL_CAP", "MAX_FUEL", "TANK_SIZE", "FUELCAP");

	//---- Version 4.0 compatibility ----

	subtype = Optional_Field ("SUBTYPE", "SUB_TYPE", "VSUBTYPE");
	Notes_Field (Optional_Field (NOTES_FIELD_NAMES));

	//---- set default units ----

	if (Version () <= 40) {
		Set_Units (type, VEH_TYPE);
		Set_Units (length, METERS);
		Set_Units (max_speed, MPS);
		Set_Units (max_accel, MPS2);
		Set_Units (max_decel, MPS2);
		Set_Units (op_cost, CENT_KM);
		Set_Units (use, VEH_USE_CODE);
		Set_Units (capacity, PPV);
		Set_Units (max_load, PPV);
		Set_Units (occupancy, PPV);
		Set_Units (load, SPP);
		Set_Units (unload, SPP);
		Set_Units (method, LOADING_CODE);
		Set_Units (min_dwell, SECONDS);
		Set_Units (max_dwell, SECONDS);
		Set_Units (fuel_cap, LITERS);
	} else {
		Set_Units (type, VEH_TYPE);
		Set_Units (length, FEET);
		Set_Units (max_speed, MPH);
		Set_Units (max_accel, FPS2);
		Set_Units (max_decel, FPS2);
		Set_Units (op_cost, CENT_MI);
		Set_Units (use, VEH_USE_CODE);
		Set_Units (capacity, PPV);
		Set_Units (max_load, PPV);
		Set_Units (occupancy, PPV);
		Set_Units (load, SPP);
		Set_Units (unload, SPP);
		Set_Units (method, LOADING_CODE);
		Set_Units (min_dwell, SECONDS);
		Set_Units (max_dwell, SECONDS);
		Set_Units (fuel_cap, GALLONS);
	}

	return (true);
}
Пример #22
0
bool Travel_Time_File::Set_Field_Numbers (void)
{

	//---- required fields ----

	hhold = Required_Field ("HOUSEHOLD", "HHOLD", "HH_ID", "HHID", "HH");
	trip = Required_Field ("TRIP");

	if (!hhold || !trip) return (false);

	//---- optional fields ----

	person = Optional_Field ("PERSON", "MEMBER", "PER_ID", "PERID", "PER");
	leg = Optional_Field ("LEG");
	mode = Optional_Field ("MODE");
	purpose = Optional_Field ("PURPOSE", "TYPE");
	constraint = Optional_Field ("CONSTRAINT", "LIMIT");
	start_link = Optional_Field ("START_LINK", "STARTLINK", "ORIGIN");
	end_link = Optional_Field ("END_LINK", "ENDLINK", "DESTINATION");
	trip_start = Optional_Field ("TRIP_START", "TRIPSTART");
	base_start = Optional_Field ("BASE_START", "BASESTART", "SCHEDULE1");
	started = Optional_Field ("STARTED", "START", "ACTUAL1");
	start_diff = Optional_Field ("START_DIFF", "STARTDIFF", "DIFF1");
	trip_end = Optional_Field ("TRIP_END", "TRIPEND");
	base_end = Optional_Field ("BASE_END", "BASEEND", "SCHEDULE2");
	ended = Optional_Field ("ENDED", "END", "ACTUAL2");
	end_diff = Optional_Field ("END_DIFF", "ENDDIFF", "DIFF2");
	mid_trip = Optional_Field ("MID_TRIP", "MIDTRIP", "TIME", "TOD");
	ttime = Optional_Field ("DURATION", "TRAVELTIME", "TTIME");

	return (true);
}
Пример #23
0
bool Tour_File::Set_Field_Numbers (void)
{
	//---- optional fields ----

	hhold = Optional_Field ("HOUSEHOLD", "HHOLD", "HH_ID", "HHID", "HH");
	person = Optional_Field ("PERSON", "MEMBER", "PER_ID", "PERID", "PER");
	tour = Optional_Field ("TOUR", "TOUR_ID");
	purpose = Optional_Field ("PURPOSE", "PUR");
	mode = Optional_Field ("MODE", "MOD");
	origin = Optional_Field ("ORIGIN", "ORG");
	destination = Optional_Field ("DESTINATION", "DES");
	stop_out = Optional_Field ("STOP_OUT");
	stop_in = Optional_Field ("STOP_IN");
	start = Optional_Field ("START", "START_TIME", "STARTTIME", "DEPART");
	end = Optional_Field ("RETURN", "RETURN_TIME", "END", "END_TIME", "ENDTIME");
	group = Optional_Field ("GROUP", "NUMBER", "PURPOSE");

	return (true);
}
Пример #24
0
bool Link_Delay_File::Set_Field_Numbers (void)
{
	bool flag = false;

	//---- required fields ----

	link = Required_Field ("LINK");
	flow = Required_Field (FLOW_RATE_FIELD_NAMES);

	if (Version () <= 40) {
		start = Optional_Field (START_FIELD_NAMES);
		end = Optional_Field (END_FIELD_NAMES);

		if (start < 0 && end < 0) {
			start = end = Required_Field ("PERIOD", "TIME");
			time = Required_Field ("AVG_TIME", "TTIME", "SUM");
			flag = true;
		} else {
			time = Required_Field (TRAVEL_TIME_FIELD_NAMES);
		}
	} else {
		time = Required_Field (TRAVEL_TIME_FIELD_NAMES);
		start = Required_Field (START_FIELD_NAMES);
		end = Required_Field (END_FIELD_NAMES);
	}

	if (link < 0 || flow < 0 || time < 0 || start < 0 || end < 0) return (false);

	//---- other required fields ----

	dir = LinkDir_Type_Field ();

	type = Optional_Field ("TYPE", "USE", "HOV", "GROUP");

	//---- nested optional fields ----

	Num_Nest_Field (Optional_Field (CONNECTION_FIELD_NAMES));
	if (Num_Nest_Field () < 0) turn_flag = false;

	out_link = Optional_Field (OUT_LINK_FIELD_NAMES);
	out_flow = Optional_Field (FLOW_OUT_FIELD_NAMES);
	out_time = Optional_Field (TIME_OUT_FIELD_NAMES);

	//---- set default units ----

	if (flag) {
		Set_Units (start, SECONDS);
		Set_Units (end, SECONDS);
	} else {
		Set_Units (start, DAY_TIME);
		Set_Units (end, DAY_TIME);
	}
	Set_Units (flow, flow_units);
	Set_Units (time, SECONDS);
	Set_Units (out_flow, flow_units);
	Set_Units (out_time, SECONDS);

	Units_Type units = Get_Units (flow);
	if (units != NO_UNITS) Flow_Units (units);

	Lane_Use_Flows ((type >= 0));

	return (true);
}
Пример #25
0
bool Skim_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	if (!Matrix_File::Set_Field_Numbers ()) return (false);

	//---- optional fields ----

	mode = Optional_Field ("MODE", "TYPE");
	count = Optional_Field ("COUNT", "NUMBER");
	walk = Optional_Field ("WALK", "WALK_TIME");
	wait = Optional_Field ("WAIT", "WAIT_TIME");
	transit = Optional_Field ("TRANSIT", "TRANSIT_TIME");
	drive = Optional_Field ("DRIVE", "DRIVE_TIME");
	other = Optional_Field ("OTHER", "OTHER_TIME");
	length = Optional_Field ("LENGTH", "DISTANCE");
	cost = Optional_Field ("COST", "FARE");
	time = Optional_Field ("TIME", "UTILITY");
	variance = Optional_Field ("VARIANCE", "RANGE");
	total = Optional_Field ("TOTAL", "TIME");

	return (true);
}
Пример #26
0
bool Link_Detail_File::Set_Field_Numbers (void)
{
	//---- required fields ----

	link = Required_Field ("LINK");

	if (link < 0) return (false);
	
	dir = LinkDir_Type_Field ();
	control = Optional_Field ("CONTROL", "TYPE", "INT_TYPE");
	group = Optional_Field ("GROUP", "TYPE");
	lm_length = Optional_Field ("LM_LENGTH", "LM_LEN");
	left_merge = Optional_Field ("L_MERGE", "LEFT_MERGE", "LT_MERGE");
	lt_length = Optional_Field ("LT_LENGTH", "LT_LEN", "LEFT_LEN");
	left = Optional_Field ("LEFT", "LEFT_TURN", "L");
	left_thru = Optional_Field ("LEFT_THRU", "SHARED_LEFT", "LT");
	thru = Optional_Field ("THRU", "T");
	right_thru = Optional_Field ("RIGHT_THRU", "SHARED_RIGHT", "RT");
	right = Optional_Field ("RIGHT", "R");
	rt_length = Optional_Field ("RT_LENGTH", "RT_LEN", "RIGHT_LEN");
	right_merge = Optional_Field ("R_MERGE", "RIGHT_MERGE", "RT_MERGE");
	rm_length = Optional_Field ("RM_LENGTH", "RM_LEN");
	use = Optional_Field ("USE", "USE_TYPE", "VEHICLE");
	lanes = Optional_Field ("LANES", "USE_LANES", "LANE");
	period = Optional_Field ("PERIOD", "USE_PERIOD", "USE_TIME");

	Notes_Field (Optional_Field ("NOTES"));

	//---- set default units ----

	Set_Units (control, CONTROL_CODE);
	Set_Units (lm_length, METERS);
	Set_Units (lt_length, METERS);
	Set_Units (rt_length, METERS);
	Set_Units (rm_length, METERS);
	Set_Units (use, USE_CODE);
	if (Version () > 40) Set_Units (lanes, LANE_RANGE_CODE);

	return (true);
}