示例#1
0
        public override Series CreateScenario(TimeSeriesDatabaseDataSet.ScenarioRow scenario)
        {
            if (scenario.Name == m_projection)
            {
                return(this);
            }
            var s = new UrgsimSeries(m_path, scenario.Name, m_variable);

            s.TimeInterval = this.TimeInterval;
            return(s);
        }
示例#2
0
        public override Series CreateBaseline()
        {
            var refTable = new TimeSeriesDatabaseDataSet.ScenarioDataTable();

            refTable.ReadLocalXml();

            DataView refTableChecked = new DataView();

            refTableChecked.Table     = refTable;
            refTableChecked.RowFilter = "Checked='true'";

            bool refNotChanged;

            if (m_refTableChecked == null)
            {
                refNotChanged = false;
            }
            else
            {
                refNotChanged = refTableNotChanged(m_refTableChecked, refTableChecked);
            }

            if (m_baseline != null && refNotChanged)
            {
                return(m_baseline);
            }
            else
            {
                SeriesList sl = new SeriesList();
                m_refTableChecked = refTableChecked;
                foreach (DataRowView row in m_refTableChecked)
                {
                    string path       = row[3].ToString();
                    string projection = row[1].ToString();
                    string variable   = this.Name;

                    var s = new UrgsimSeries(path, projection, variable);
                    sl.Add(s);
                }
                m_baseline = new UrgsimReferenceSeries(sl);
                m_baseline.ScenarioName          = "reference";
                m_baseline.Appearance.LegendText = "reference";
                if (!sl.HasMultipleSites)
                {
                    m_baseline.SiteName = m_variable;
                }
                m_baseline.Units        = this.Units;
                m_baseline.TimeInterval = this.TimeInterval;
                return(m_baseline);
            }
        }
示例#3
0
        public override Series CreateScenario(TimeSeriesDatabaseDataSet.ScenarioRow scenario)
        {
            string scenairoName = scenario.Name;
            string variableName = "";
            string legendText   = "";

            if (HackForUrgsimInputData(scenario, out variableName, out scenairoName))
            {
                legendText = scenario.Name;
            }

            //if (scenairoName == m_projection && m_variable == variableName)
            //{ // not working for Hack
            //    return this;
            //}
            var s = new UrgsimSeries(m_path, scenairoName, variableName, legendText);

            s.TimeInterval = this.TimeInterval;
            return(s);
        }