Пример #1
0
 private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics)
 {
     chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID));
     chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(
                          Options.SignalID, Options.StartDate, Options.EndDate));
     chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach, signalPhase.GetPermissivePhase));
     chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics));
 }
Пример #2
0
 private void SetChartTitle(Chart chart, LeftTurnGapAnalysisOptions options, Signal signal, Approach approach, string detectionType)
 {
     chart.Titles.Add(ChartTitleFactory.GetChartName(options.MetricTypeID));
     chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(signal.SignalID, options.StartDate,
                                                                      options.EndDate));
     chart.Titles.Add(ChartTitleFactory.GetPhase(_opposingPhase));
     chart.Titles.Add(detectionType);
 }
Пример #3
0
 private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics)
 {
     Chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID));
     Chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(
                          Options.SignalID, Options.StartDate, Options.EndDate));
     Chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(
                          signalPhase.Approach, signalPhase.GetPermissivePhase));
     Chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics));
     Chart.Titles.Add(ChartTitleFactory.GetTitle(
                          "Simplified Approach Delay. Displays time between approach activation during the red phase and when the phase turns green."
                          + " \n Does NOT account for start up delay, deceleration, or queue length that exceeds the detection zone."));
     Chart.Titles.LastOrDefault().Docking = Docking.Bottom;
 }
Пример #4
0
        private void SetChartTitle(Chart chart, RLMSignalPhase signalPhase)
        {
            //Set the chart title
            chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID));
            chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(Options.SignalID, Options.StartDate, Options.EndDate));
            chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, signalPhase.Approach.DirectionType.Description));
            Dictionary <string, string> statistics = new Dictionary <string, string>();

            statistics.Add("Total Violations", signalPhase.Violations.ToString() + " (" + signalPhase.PercentViolations.ToString() + "%)");
            statistics.Add("Severe Violations", signalPhase.Srlv + " (" + signalPhase.PercentSevereViolations.ToString() + "%)");
            statistics.Add("Yellow Light Occurrences", signalPhase.YellowOccurrences + " (" + signalPhase.PercentYellowOccurrences.ToString() + "%)");
            chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics));
        }
Пример #5
0
 private void SetChartTitles(SignalPhase signalPhase, Dictionary <string, string> statistics)
 {
     chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID));
     chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(
                          Options.SignalID, Options.StartDate, Options.EndDate));
     if (!signalPhase.Approach.IsProtectedPhaseOverlap)
     {
         chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, signalPhase.Approach.DirectionType.Description));
     }
     else
     {
         chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach.ProtectedPhaseNumber, " Overlap"));
     }
     chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics));
 }
Пример #6
0
        private void SetChartTitle(Chart chart, RLMSignalPhase signalPhase)
        {
            //Set the chart title
            chart.Titles.Add(ChartTitleFactory.GetChartName(Options.MetricTypeID));
            chart.Titles.Add(
                ChartTitleFactory.GetSignalLocationAndDateRange(Options.SignalID, Options.StartDate, Options.EndDate));
            chart.Titles.Add(ChartTitleFactory.GetPhaseAndPhaseDescriptions(signalPhase.Approach, signalPhase.GetPermissivePhase));
            var statistics = new Dictionary <string, string>();

            statistics.Add("Total Violations", signalPhase.Violations + " (" + signalPhase.PercentViolations + "%)");
            statistics.Add("Severe Violations",
                           signalPhase.SevereRedLightViolations + " (" + signalPhase.PercentSevereViolations + "%)");
            statistics.Add("Yellow Light Occurrences",
                           signalPhase.YellowOccurrences + " (" + signalPhase.PercentYellowOccurrences + "%)");
            chart.Titles.Add(ChartTitleFactory.GetStatistics(statistics));
        }
Пример #7
0
        public static Chart CreateApproachVolumeChart(ApproachVolumeOptions options, ApproachVolume.ApproachVolume approachVolume)
        {
            Chart chart = new Chart();

            SetImageProperties(chart);
            chart.Titles.Add(ChartTitleFactory.GetChartName(options.MetricTypeID));
            chart.Titles.Add(ChartTitleFactory.GetSignalLocationAndDateRange(options.SignalID, options.StartDate, options.EndDate));
            chart.Titles.Add(ChartTitleFactory.GetBoldTitle(approachVolume.PrimaryDirection.Description + " and " + approachVolume.OpposingDirection.Description + " Approaches"));
            Legend chartLegend = new Legend();

            chartLegend.Name    = "MainLegend";
            chartLegend.Docking = Docking.Left;
            chart.Legends.Add(chartLegend);
            chart.ChartAreas.Add(CreateChartArea(options));
            CustomizeChartAreaForApproachVolume(chart, options);
            return(chart);
        }