コード例 #1
0
 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;
 }
コード例 #2
0
 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();
 }
コード例 #3
0
        /// <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();
        }
コード例 #4
0
        /// <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
        }
コード例 #5
0
        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));
        }
コード例 #6
0
 public ServiceVolumeTableFDOT(AreaType SerVolAreaType, ArterialClass ArtClass, bool MultiLane)
 {
     _class          = ArtClass;
     _serVolAreaType = SerVolAreaType;
     _multiLane      = MultiLane;
 }