public void SetDefaultValuesArtPlan(AreaType area, int artClass) { FDOTplanning_ParmRanges ParmRanges = new FDOTplanning_ParmRanges(); int _lengthFt = ParmRanges.SegLengthDefault[artClass - 1];//program starts with Class 1 (index 0) long _AADT = ParmRanges.AADTDefault[(int)area]; float _ddhv = ParmRanges.AADTDefault[(int)area] * ParmRanges.KfactDefault[(int)area] * ParmRanges.DfactDefault[(int)area]; int _numLanes = ParmRanges.NumThruLanesDefault[(int)area]; int _postSpeedMPH = ParmRanges.PostedSpeedDefault[artClass - 1]; int _freeFlowSpeedMPH = ParmRanges.FFSpeedDefault[artClass - 1]; MedianType _medType = ParmRanges.MedianDefault[(int)area]; bool _onStreetParkingExists = false; ParkingActivityLevel _parkingActivity = ParkingActivityLevel.NotApplicable; }
/// <summary> /// Returns the threshold delay of the arterial. /// </summary> /// <param name="Area"></param> /// <param name="ArtTravTimeSeconds"></param> /// <param name="ArtLengthMiles"></param> /// <returns></returns> public static float ThresholdDelay(AreaType Area, float ArtTravTimeSeconds, float ArtLengthMiles) { FDOTplanning_ParmRanges ParmRanges = new FDOTplanning_ParmRanges(); float ThreshDelay; if (Area == AreaType.RuralDeveloped) //LOS C threshold from HCM2000 Exhibit 15-2 { ThreshDelay = ArtTravTimeSeconds - (ArtLengthMiles / ParmRanges.ThreshSpeed[3] * 3600); } else //other area types use LOS D threshold { ThreshDelay = ArtTravTimeSeconds - (ArtLengthMiles / ParmRanges.ThreshSpeed[4] * 3600); } if (ThreshDelay < 0) { ThreshDelay = 0; } return(ThreshDelay); }
public static void SetDefaultValues() // Arterial { FDOTplanning_ParmRanges ParmRanges = new FDOTplanning_ParmRanges(); ParmRanges.CycleLengthDefault[0, 1] = 150; //Large Urbanized, Class 1 ParmRanges.CycleLengthDefault[0, 2] = 120; //Large Urbanized, Class 2 ParmRanges.CycleLengthDefault[1, 1] = 150; //Other Urbanized, Class 1 ParmRanges.CycleLengthDefault[1, 2] = 120; //Other Urbanized, Class 2 ParmRanges.CycleLengthDefault[2, 1] = 120; //Transitioning, Class 1 ParmRanges.CycleLengthDefault[2, 2] = 120; //Transitioning, Class 2 ParmRanges.CycleLengthDefault[3, 1] = 90; //Rural Developed, Class 1 ParmRanges.CycleLengthDefault[3, 2] = 90; //Rural Developed, Class 2 //signal control type defaults //ParmRanges.SigControlDefault[0, 1] = SigControlType.CoordinatedActuated; //Large Urbanized, Class 1 //ParmRanges.SigControlDefault[0, 2] = SigControlType.Pretimed; //Large Urbanized, Class 2 //ParmRanges.SigControlDefault[1, 1] = SigControlType.CoordinatedActuated; //Other Urbanized, Class 1 //ParmRanges.SigControlDefault[1, 2] = SigControlType.Pretimed; //Other Urbanized, Class 2 //ParmRanges.SigControlDefault[2, 1] = SigControlType.CoordinatedActuated; //Transitioning, Class 1 //ParmRanges.SigControlDefault[2, 2] = SigControlType.CoordinatedActuated; //Transitioning, Class 2 //ParmRanges.SigControlDefault[3, 1] = SigControlType.FullyActuated; //Rural Developed, Class 1 //ParmRanges.SigControlDefault[3, 2] = SigControlType.CoordinatedActuated; //Rural Developed, Class 2 ParmRanges.SigControlDefault[1] = SigControlType.FullyActuated; //Class 1 ParmRanges.SigControlDefault[2] = SigControlType.CoordinatedActuated; //Class 2 //signal arrival type defaults //ParmRanges.ArrTypeDefault[0, 1] = 4; //Large Urbanized, Class 1 //ParmRanges.ArrTypeDefault[0, 2] = 4; //Class 2 //ParmRanges.ArrTypeDefault[1, 1] = 4; //Other Urbanized, Class 1 //ParmRanges.ArrTypeDefault[1, 2] = 4; //Class 2 //ParmRanges.ArrTypeDefault[2, 1] = 4; //Transitioning, Class 1 //ParmRanges.ArrTypeDefault[2, 2] = 4; //Class 2 //ParmRanges.ArrTypeDefault[3, 1] = 3; //Rural Developed, Class 1 //ParmRanges.ArrTypeDefault[3, 2] = 4; //Class 2 }