public ServiceVolumes(float testParameterValue, string testParameterLabel, AreaType serVolAreaType, ArterialClass artClass) { _pkDirVol = new int[5, 5]; _bothDirVol = new int[5, 5]; _aadt = new int[5, 5]; _found = new bool[5, 5]; _testParameterValue = testParameterValue; _testParameterLabel = testParameterLabel; _serVolAreaType = serVolAreaType; _class = artClass; }
public ArterialData(ServiceVolumeTableFDOT Inputs, List <SegmentData> segments) { _artName = ""; _from = ""; _to = ""; _lengthMiles = Inputs.Roadway.FacilityLengthMiles; _dir = Inputs.Roadway.AnalysisTravelDir; _area = Inputs.SerVolAreaType; _class = Inputs.Class; _segments = segments; _Dfactor = Inputs.Traffic.DFactor; _Kfactor = Inputs.Traffic.KFactor; _thresholds = new ThresholdData(); _results = new ResultsArterialData(); }
/// <summary> /// Constructor for creating an Arterial for use with Service Volumes. /// </summary> /// <param name="area"></param> /// <param name="classification"></param> /// <param name="analysisTravelDir"></param> /// <param name="segments"></param> /// <param name="KFactor"></param> /// <param name="DFactor"></param> public ArterialData(AreaType area, ArterialClass classification, TravelDirection analysisTravelDir, List <SegmentData> segments, float KFactor, float DFactor) { //SetDefaultValues(); //_segments = new List<SegmentData>(); _artName = ""; _from = ""; _to = ""; _lengthMiles = 0; _dir = analysisTravelDir; _area = area; _class = classification; _segments = segments; _Dfactor = DFactor; _Kfactor = KFactor; _thresholds = new ThresholdData(); _results = new ResultsArterialData(); }
/// <summary> /// Constructor for creating an Arterial without using Service Volumes. /// </summary> /// <param name="area"></param> /// <param name="classification"></param> /// <param name="analysisTravelDir"></param> /// <param name="segments"></param> public ArterialData(AreaType area, ArterialClass classification, TravelDirection analysisTravelDir, List <SegmentData> segments) { //SetDefaultValues(); //_segments = new List<SegmentData>(); _artName = ""; _from = ""; _to = ""; _lengthMiles = 0; _dir = analysisTravelDir; _area = area; _class = classification; _segments = segments; _Dfactor = 0.5f; _Kfactor = 0.1f; _thresholds = new ThresholdData(); _results = new ResultsArterialData(); //_class = ParmRanges.ArtClassDefault[Convert.ToInt32(_area)]; //_Kfactor = ParmRanges.KfactDefault[Convert.ToInt32(_area)]; //_Dfactor = ParmRanges.DfactDefault[Convert.ToInt32(_area)]; //_maxSerVol = ParmRanges.MaxSerVol[Convert.ToInt32(_area)]; //for other urbanized }
public static SerVolTablesByMultiLane CreateServiceVolTableFDOT(AreaType SerVolAreaType, ArterialClass ArtClass) { ServiceVolumeTableFDOT SerVolTableSingleLane = new ServiceVolumeTableFDOT(SerVolAreaType, ArtClass, false); ServiceVolumeTableFDOT SerVolTableMultiLane = new ServiceVolumeTableFDOT(SerVolAreaType, ArtClass, true); // Sample Structure: // public RoadwayData(bool multiLane, byte postedSpeedMPH, byte freeFlowSpeedMPH, MedianType median, TerrainType terrain, bool exclusiveLeftTurns, bool exclusiveRightTurns, byte facilityLengthMiles, byte numIntersections, byte accessPointsPerMile) switch (SerVolAreaType) { case AreaType.LargeUrbanized: // Urbanized: Tables 1, 4, 7 switch (ArtClass) { case ArterialClass.ClassI: SerVolTableSingleLane.Roadway = new RoadwayData(45, 50, MedianType.None, TerrainType.Level, true, false, 2, 5, 2); SerVolTableSingleLane.Traffic = new TrafficData(0.09f, 0.55f, 1.0f, 1950, 1.0f, 12, 12); SerVolTableSingleLane.Signal = new SignalData(4, 3, SigControlType.CoordinatedActuated, 120, 0.44f); SerVolTableMultiLane.Roadway = new RoadwayData(50, 55, MedianType.Restrictive, TerrainType.Level, true, false, 2, 5, 2); SerVolTableMultiLane.Traffic = new TrafficData(0.09f, 0.56f, 1.0f, 1950, 1.0f, 12, 12); SerVolTableMultiLane.Signal = new SignalData(4, 3, SigControlType.CoordinatedActuated, 150, 0.45f); break; case ArterialClass.ClassII: SerVolTableSingleLane.Roadway = new RoadwayData(30, 35, MedianType.None, TerrainType.Level, true, false, 1.9f, 11, 2); SerVolTableSingleLane.Traffic = new TrafficData(0.09f, 0.565f, 1.0f, 1950, 1.0f, 12, 12); SerVolTableSingleLane.Signal = new SignalData(10, 4, SigControlType.CoordinatedActuated, 120, 0.44f); SerVolTableMultiLane.Roadway = new RoadwayData(30, 35, MedianType.Restrictive, TerrainType.Level, true, false, 1.8f, 11, 2); SerVolTableMultiLane.Traffic = new TrafficData(0.09f, 0.56f, 1.0f, 1950, 1.0f, 12, 12); SerVolTableMultiLane.Signal = new SignalData(10, 4, SigControlType.CoordinatedActuated, 120, 0.44f); break; } break; case AreaType.Transitioning: // Transitioning / Urban: Tables 2, 5, 8 switch (ArtClass) { case ArterialClass.ClassI: SerVolTableSingleLane.Roadway = new RoadwayData(45, 50, MedianType.None, TerrainType.Level, true, false, 1.8f, 6, 2); SerVolTableSingleLane.Traffic = new TrafficData(0.09f, 0.55f, 1.0f, 1950, 2.0f, 12, 12); SerVolTableSingleLane.Signal = new SignalData(5, 4, SigControlType.CoordinatedActuated, 120, 0.44f); SerVolTableMultiLane.Roadway = new RoadwayData(50, 55, MedianType.Restrictive, TerrainType.Level, true, false, 2, 5, 2); SerVolTableMultiLane.Traffic = new TrafficData(0.09f, 0.57f, 1.0f, 1950, 3.0f, 12, 12); SerVolTableMultiLane.Signal = new SignalData(4, 3, SigControlType.CoordinatedActuated, 150, 0.45f); break; case ArterialClass.ClassII: SerVolTableSingleLane.Roadway = new RoadwayData(30, 35, MedianType.None, TerrainType.Level, true, false, 2, 11, 2); SerVolTableSingleLane.Traffic = new TrafficData(0.09f, 0.57f, 1.0f, 1950, 2.0f, 12, 12); SerVolTableSingleLane.Signal = new SignalData(10, 4, SigControlType.CoordinatedActuated, 120, 0.44f); SerVolTableMultiLane.Roadway = new RoadwayData(30, 35, MedianType.Restrictive, TerrainType.Level, true, false, 2, 11, 2); SerVolTableMultiLane.Traffic = new TrafficData(0.09f, 0.565f, 1.0f, 1950, 3.0f, 12, 12); SerVolTableMultiLane.Signal = new SignalData(10, 4, SigControlType.CoordinatedActuated, 150, 0.45f); break; } break; case AreaType.RuralDeveloped: // Rural Developed / Undeveloped: Tables 3, 6, 9. No arterial class differentiation SerVolTableSingleLane.Roadway = new RoadwayData(45, 50, MedianType.None, TerrainType.Level, true, false, 1.9f, 6, 2); SerVolTableSingleLane.Traffic = new TrafficData(0.095f, 0.55f, 1.0f, 1950, 3.0f, 12, 12); SerVolTableSingleLane.Signal = new SignalData(5, 3, SigControlType.CoordinatedActuated, 90, 0.44f); SerVolTableMultiLane.Roadway = new RoadwayData(45, 50, MedianType.Restrictive, TerrainType.Level, true, false, 2.2f, 7, 2); SerVolTableMultiLane.Traffic = new TrafficData(0.095f, 0.55f, 1.0f, 1950, 3.0f, 12, 12); SerVolTableMultiLane.Signal = new SignalData(6, 3, SigControlType.CoordinatedActuated, 90, 0.44f); break; } return(new SerVolTablesByMultiLane(ArtClass, SerVolTableSingleLane, SerVolTableMultiLane)); }
public ServiceVolumeTableFDOT(AreaType SerVolAreaType, ArterialClass ArtClass, bool MultiLane) { _class = ArtClass; _serVolAreaType = SerVolAreaType; _multiLane = MultiLane; }