Exemple #1
0
        /// <summary>
        /// Initializes the amount per cell
        /// </summary>
        /// <remarks></remarks>
        private void InitializeCellArea()
        {
            if (!this.IsSpatial)
            {
                DataRow drta = this.ResultScenario.GetDataSheet(Strings.DATASHEET_NSIC_NAME).GetDataRow();

                this.m_TotalAmount          = Convert.ToDouble(drta[Strings.DATASHEET_NSIC_TOTAL_AMOUNT_COLUMN_NAME], CultureInfo.InvariantCulture);
                this.m_CalcNumCellsFromDist = DataTableUtilities.GetDataBool(drta, Strings.DATASHEET_NSIC_CALC_FROM_DIST_COLUMN_NAME);
            }
            else
            {
                DataRow drics      = this.ResultScenario.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow();
                double  cellAreaTU = DataTableUtilities.GetDataDbl(drics[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]);

                if (cellAreaTU.Equals(0))
                {
                    throw new STSimException(MessageStrings.ERROR_SPATIAL_NO_CELL_AREA);
                }

                this.m_TotalAmount = cellAreaTU * this.m_Cells.Count;
                DataRow drISC = this.ResultScenario.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow();

                //Save the Number of Cells count, now that we have a potentially more accurate value than at config time.

                if (Convert.ToInt32(drISC[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME], CultureInfo.InvariantCulture) != this.m_Cells.Count)
                {
                    drISC[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME] = this.m_Cells.Count;
                }
            }

            this.m_AmountPerCell = (this.m_TotalAmount / Convert.ToDouble(this.m_Cells.Count, CultureInfo.InvariantCulture));
        }
Exemple #2
0
        public override void DeleteRows(IEnumerable <DataRow> rows)
        {
            List <DataRow> DeleteRows = new List <DataRow>();
            Dictionary <string, DataRow> GroupRows = this.CreateTGRowDictionary();

            foreach (DataRow dr in rows)
            {
                string AutoGroupName = GetAutoGeneratedGroupName(dr);

                if (!GroupRows.ContainsKey(AutoGroupName))
                {
                    continue;
                }

                Debug.Assert(DataTableUtilities.GetDataBool(GroupRows[AutoGroupName], Strings.IS_AUTO_COLUMN_NAME));
                DeleteRows.Add(GroupRows[AutoGroupName]);
            }

            if (DeleteRows.Count > 0)
            {
                ((TransitionGroupDataSheet)this.m_TGDataSheet).DeleteAutoGeneratedRows(DeleteRows);
            }

            base.DeleteRows(rows);
        }
Exemple #3
0
        private void OnSLXSLYChanged(object sender, EventArgs e)
        {
            DataTable dt = this.GetData();
            Dictionary <string, bool> d = CreateExistingNamesDictionary(dt);

            this.m_AllowRowChangeEvents = false;

            foreach (DataRow dr in dt.Rows)
            {
                if (dr.RowState == DataRowState.Deleted)
                {
                    continue;
                }

                bool IsAutoName = DataTableUtilities.GetDataBool(dr, Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME);

                if (IsAutoName)
                {
                    string slxname     = this.GetSlxName(dr);
                    string slyname     = this.GetSlyName(dr);
                    string CurrentName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture);

                    string CurrentNamePart1 = CurrentName;
                    string CurrentNamePart2 = null;

                    if (CurrentName.Contains("("))
                    {
                        string[] s = CurrentName.Split(' ');

                        CurrentNamePart1 = s[0];
                        CurrentNamePart2 = s[1];
                    }

                    string[] Split = CurrentNamePart1.Split(':');

                    if (Split[0] == slxname && Split[1] == slyname)
                    {
                        string n = slxname + ":" + slyname;

                        if (CurrentNamePart2 != null)
                        {
                            n += " " + CurrentNamePart2;
                        }

                        dr[Strings.DATASHEET_NAME_COLUMN_NAME] = n;
                    }
                    else
                    {
                        string n = GetNextName(slxname + ":" + slyname, d);

                        dr[Strings.DATASHEET_NAME_COLUMN_NAME] = n;
                        d.Add(n, true);
                    }
                }
            }

            this.m_AllowRowChangeEvents = true;
        }
Exemple #4
0
        /// <summary>
        /// Initializes the IsSpatial run flag
        /// </summary>
        /// <remarks></remarks>
        private void ConfigureIsSpatialRunFlag()
        {
            DataRow dr = this.ResultScenario.GetDataSheet(Strings.DATASHEET_RUN_CONTROL_NAME).GetDataRow();

            if (dr != null)
            {
                this.m_IsSpatial = DataTableUtilities.GetDataBool(dr[Strings.RUN_CONTROL_IS_SPATIAL_COLUMN_NAME]);
            }
        }
Exemple #5
0
        /// <summary>
        /// Initializes spatial average output options
        /// </summary>
        /// <remarks></remarks>
        private void InitializeSpatialAverageOutputOptions()
        {
            if (!this.m_IsSpatial)
            {
                return;
            }

            Func <object, int> SafeInt = (object o) =>
            {
                if (o == DBNull.Value)
                {
                    return(0);
                }
                else
                {
                    return(Convert.ToInt32(o, CultureInfo.InvariantCulture));
                }
            };

            DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_SPATIAL_AVERAGE_NAME).GetDataRow();

            if (droo == null)
            {
                return;
            }

            this.m_CreateAvgRasterStateClassOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_COLUMN_NAME]);
            this.m_AvgRasterStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterStateClassCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SC_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterAgeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_COLUMN_NAME]);
            this.m_AvgRasterAgeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterAgeCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_AGE_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterStratumOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_COLUMN_NAME]);
            this.m_AvgRasterStratumOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterStratumCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_ST_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterTransitionProbOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_COLUMN_NAME]);
            this.m_AvgRasterTransitionProbOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterTransitionProbCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TP_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterTSTOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_COLUMN_NAME]);
            this.m_AvgRasterTSTOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterTSTCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TST_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterStateAttributeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_COLUMN_NAME]);
            this.m_AvgRasterStateAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterStateAttributeCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_SA_CUMULATIVE_COLUMN_NAME]);

            this.m_CreateAvgRasterTransitionAttributeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_COLUMN_NAME]);
            this.m_AvgRasterTransitionAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]);
            this.m_AvgRasterTransitionAttributeCumulative      = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_AVG_RASTER_OUTPUT_TA_CUMULATIVE_COLUMN_NAME]);
        }
        private bool IsSplitByStrata()
        {
            DataRow dr = this.ResultScenario.GetDataSheet(Strings.DATASHEET_MULTI_PROCESSING_NAME).GetDataRow();

            if (dr == null)
            {
                return(false);
            }

            return(DataTableUtilities.GetDataBool(dr[Strings.DATASHEET_MULTI_PROCESSING_SPLIT_BY_SS_COLUMN_NAME]));
        }
Exemple #7
0
        public override void Validate(DataTable proposedData, DataTransferMethod transferMethod)
        {
            base.Validate(proposedData, transferMethod);

            foreach (DataRow dr in proposedData.Rows)
            {
                if (!DataTableUtilities.GetDataBool(dr, Strings.IS_AUTO_COLUMN_NAME))
                {
                    ValidateName(Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture));
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// Initializes tabular output options
        /// </summary>
        /// <remarks></remarks>
        private void InitializeTabularOutputOptions()
        {
            Func <object, int> SafeInt = (object o) =>
            {
                if (o == DBNull.Value)
                {
                    return(0);
                }
                else
                {
                    return(Convert.ToInt32(o, CultureInfo.InvariantCulture));
                }
            };

            DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_TABULAR_NAME).GetDataRow();

            this.m_CreateSummaryStateClassOutput                = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_COLUMN_NAME]);
            this.m_SummaryStateClassOutputTimesteps             = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]);
            this.m_SummaryStateClassOutputAges                  = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_AGES_COLUMN_NAME]);
            this.m_SummaryStateClassZeroValues                  = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SC_ZERO_VALUES_COLUMN_NAME]);
            this.m_CreateSummaryTransitionOutput                = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_COLUMN_NAME]);
            this.m_SummaryTransitionOutputTimesteps             = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_TIMESTEPS_COLUMN_NAME]);
            this.m_SummaryTransitionOutputAges                  = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_AGES_COLUMN_NAME]);
            this.m_SummaryTransitionOutputAsIntervalMean        = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TR_INTERVAL_MEAN_COLUMN_NAME]);
            this.m_CreateSummaryTransitionByStateClassOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TRSC_COLUMN_NAME]);
            this.m_SummaryTransitionByStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TRSC_TIMESTEPS_COLUMN_NAME]);
            this.m_CreateSummaryStateAttributeOutput            = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_COLUMN_NAME]);
            this.m_SummaryStateAttributeOutputTimesteps         = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]);
            this.m_SummaryStateAttributeOutputAges              = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_SA_AGES_COLUMN_NAME]);
            this.m_CreateSummaryTransitionAttributeOutput       = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_COLUMN_NAME]);
            this.m_SummaryTransitionAttributeOutputTimesteps    = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]);
            this.m_SummaryTransitionAttributeOutputAges         = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TA_AGES_COLUMN_NAME]);
            this.m_CreateSummaryExternalVariableOutput          = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_EV_COLUMN_NAME]);
            this.m_SummaryExternalVariableOutputTimesteps       = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_EV_TIMESTEPS_COLUMN_NAME]);
            this.m_CreateSummaryTSTOutput     = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TST_COLUMN_NAME]);
            this.m_SummaryTSTOutputTimesteps  = SafeInt(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]);
            this.m_SummaryOmitSecondaryStrata = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_OMIT_SS_COLUMN_NAME]);
            this.m_SummaryOmitTertiaryStrata  = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SUMMARY_OUTPUT_OMIT_TS_COLUMN_NAME]);

            if (this.m_SummaryTransitionOutputAsIntervalMean)
            {
                DataSheet ds = this.Project.GetDataSheet(Strings.DATASHEET_SIZE_CLASS_NAME);

                if (ds.GetData().Rows.Count > 0)
                {
                    this.RecordStatus(StatusType.Information,
                                      "Transition Summary Output won't include size information if Interval Mean selected.");
                }
            }
        }
Exemple #9
0
        private void OnColumnChanged(object sender, DataColumnChangeEventArgs e)
        {
            if (e.Row.RowState == DataRowState.Detached)
            {
                return;
            }

            if (!this.m_AllowRowChangeEvents)
            {
                return;
            }

            DataTable dt = this.GetData();
            Dictionary <string, bool> d = CreateExistingNamesDictionary(dt);

            this.m_AllowRowChangeEvents = false;

            if (e.Column.ColumnName == Strings.DATASHEET_NAME_COLUMN_NAME)
            {
                if (e.Row[Strings.DATASHEET_NAME_COLUMN_NAME] != DBNull.Value &&
                    Convert.ToString(e.Row[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture) != TEMP_NAME_VALUE)
                {
                    e.Row[Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME] = Booleans.BoolToInt(false);
                }
            }
            else if (
                e.Column.ColumnName == Strings.DATASHEET_STATECLASS_STATE_LABEL_X_ID_COLUMN_NAME ||
                e.Column.ColumnName == Strings.DATASHEET_STATECLASS_STATE_LABEL_Y_ID_COLUMN_NAME)
            {
                bool IsAutoName = DataTableUtilities.GetDataBool(e.Row, Strings.DATASHEET_IS_AUTO_NAME_COLUMN_NAME);

                if (IsAutoName)
                {
                    string slxname      = this.GetSlxName(e.Row);
                    string slyname      = this.GetSlyName(e.Row);
                    string CurrentName  = Convert.ToString(e.Row[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture);
                    string ProposedName = slxname + ":" + slyname;

                    if (CurrentName != ProposedName)
                    {
                        ProposedName = GetNextName(ProposedName, d);
                        e.Row[Strings.DATASHEET_NAME_COLUMN_NAME] = ProposedName;
                    }
                }
            }

            this.m_AllowRowChangeEvents = true;
        }
Exemple #10
0
        public override void DeleteRows(IEnumerable <DataRow> rows)
        {
            List <DataRow> l = new List <DataRow>();

            foreach (DataRow dr in rows)
            {
                if (!DataTableUtilities.GetDataBool(dr, Strings.IS_AUTO_COLUMN_NAME))
                {
                    l.Add(dr);
                }
            }

            if (l.Count > 0)
            {
                base.DeleteRows(l);
            }
        }
        /// <summary>
        /// Initializes spatial output options
        /// </summary>
        /// <remarks></remarks>
        private void InitializeSpatialOutputOptions()
        {
            if (!this.m_IsSpatial)
            {
                return;
            }

            Func <object, int> SafeInt = (object o) =>
            {
                if (o == DBNull.Value)
                {
                    return(0);
                }
                else
                {
                    return(Convert.ToInt32(o, CultureInfo.InvariantCulture));
                }
            };

            DataRow droo = this.ResultScenario.GetDataSheet(Strings.DATASHEET_OO_SPATIAL_NAME).GetDataRow();

            this.m_CreateRasterStateClassOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SC_COLUMN_NAME]);
            this.m_RasterStateClassOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SC_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterAgeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_AGE_COLUMN_NAME]);
            this.m_RasterAgeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_AGE_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterStratumOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_ST_COLUMN_NAME]);
            this.m_RasterStratumOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_ST_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterTransitionOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TR_COLUMN_NAME]);
            this.m_RasterTransitionOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TR_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterTransitionEventOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TE_COLUMN_NAME]);
            this.m_RasterTransitionEventOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TE_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterTstOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TST_COLUMN_NAME]);
            this.m_RasterTstOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TST_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterStateAttributeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SA_COLUMN_NAME]);
            this.m_RasterStateAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_SA_TIMESTEPS_COLUMN_NAME]);

            this.m_CreateRasterTransitionAttributeOutput    = DataTableUtilities.GetDataBool(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TA_COLUMN_NAME]);
            this.m_RasterTransitionAttributeOutputTimesteps = SafeInt(droo[Strings.DATASHEET_OO_SPATIAL_RASTER_OUTPUT_TA_TIMESTEPS_COLUMN_NAME]);
        }
Exemple #12
0
        private void RefreshNonCalculatedValues()
        {
            DataRow drProp = this.DataFeed.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow();

            if (drProp == null)
            {
                return;
            }

            this.CheckBoxCellSizeOverride.Checked   = DataTableUtilities.GetDataBool(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_OVERRIDE_COLUMN_NAME]);
            this.CheckBoxCellSizeOverride.Enabled   = true;
            this.CheckBoxCellSizeOverride.AutoCheck = true;

            int    NumRows      = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_ROWS_COLUMN_NAME]);
            int    NumCols      = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_COLUMNS_COLUMN_NAME]);
            float  CellArea     = DataTableUtilities.GetDataSingle(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_COLUMN_NAME]);
            double cellAreaCalc = DataTableUtilities.GetDataDbl(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]);

            this.TextBoxNumRows.Text      = NumRows.ToString(CultureInfo.InvariantCulture);
            this.TextBoxNumColumns.Text   = NumCols.ToString(CultureInfo.InvariantCulture);
            this.TextBoxCellArea.Text     = CellArea.ToString("N4", CultureInfo.InvariantCulture);
            this.TextBoxCellAreaCalc.Text = cellAreaCalc.ToString("N4", CultureInfo.InvariantCulture);
        }
Exemple #13
0
        protected override void OnRowsModified(object sender, DataSheetRowEventArgs e)
        {
            List <DataRow> ModifyRows = new List <DataRow>();
            string         IdColName  = this.PrimaryKeyColumn.Name;
            Dictionary <string, DataRow> GroupRows     = this.CreateTGRowDictionary();
            Dictionary <string, bool>    ExistingNames = new Dictionary <string, bool>();

            foreach (string k in GroupRows.Keys)
            {
                ExistingNames.Add(k, true);
            }

            foreach (DataRow dr in this.m_TTData.Rows)
            {
                if (dr.RowState == DataRowState.Deleted)
                {
                    continue;
                }

                int id = Convert.ToInt32(dr[IdColName], CultureInfo.InvariantCulture);

                if (!this.m_PrevNames.ContainsKey(id))
                {
                    continue;
                }

                string OldName          = this.m_PrevNames[id];
                string OldAutoGroupName = GetAutoGeneratedGroupName(OldName);

                if (!GroupRows.ContainsKey(OldAutoGroupName))
                {
                    continue;
                }

                string NewName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture);

                Debug.Assert(DataTableUtilities.GetDataBool(GroupRows[OldAutoGroupName], Strings.IS_AUTO_COLUMN_NAME));

                if (OldName != NewName)
                {
                    ModifyRows.Add(dr);
                }
            }

            if (ModifyRows.Count > 0)
            {
                this.m_TGDataSheet.BeginModifyRows();

                foreach (DataRow dr in ModifyRows)
                {
                    string OldName = this.m_PrevNames[Convert.ToInt32(dr[IdColName], CultureInfo.InvariantCulture)];
                    string NewName = Convert.ToString(dr[Strings.DATASHEET_NAME_COLUMN_NAME], CultureInfo.InvariantCulture);

                    Debug.Assert(OldName != NewName);
                    Debug.Assert(!GroupRows.ContainsKey(GetAutoGeneratedGroupName(NewName)));

                    string OldAutoGroupName = GetAutoGeneratedGroupName(OldName);
                    string NewAutoGroupName = GetAutoGeneratedGroupName(NewName);

                    GroupRows[OldAutoGroupName][Strings.DATASHEET_NAME_COLUMN_NAME] = NewAutoGroupName;
                }

                this.m_TGDataSheet.EndModifyRows();
            }

            base.OnRowsModified(sender, e);
        }
        private void RefreshCalculatedValues()
        {
            DataRow drProp = this.DataFeed.GetDataSheet(Strings.DATASHEET_SPPIC_NAME).GetDataRow();

            if (drProp == null)
            {
                return;
            }

            //Num Cells
            int NumCells = DataTableUtilities.GetDataInt(drProp[Strings.DATASHEET_SPPIC_NUM_CELLS_COLUMN_NAME]);

            this.TextBoxNumCells.Text = NumCells.ToString(CultureInfo.InvariantCulture);

            //Get the units and refresh the units labels - the default Raster Cell Units is Metres^2
            string          srcSizeUnits = DataTableUtilities.GetDataStr(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_UNITS_COLUMN_NAME]);
            string          srcAreaUnits = srcSizeUnits + "^2";
            string          amountlabel  = null;
            TerminologyUnit destUnitsVal = 0;

            TerminologyUtilities.GetAmountLabelTerminology(
                this.Project.GetDataSheet(Strings.DATASHEET_TERMINOLOGY_NAME), ref amountlabel, ref destUnitsVal);

            string destAreaLbl = TerminologyUtilities.TerminologyUnitToString(destUnitsVal);

            srcAreaUnits = srcAreaUnits.ToLower(CultureInfo.InvariantCulture);
            amountlabel  = amountlabel.ToLower(CultureInfo.InvariantCulture);
            destAreaLbl  = destAreaLbl.ToLower(CultureInfo.InvariantCulture);

            this.LabelRasterCellArea.Text = string.Format(CultureInfo.InvariantCulture, "Cell size ({0}):", srcAreaUnits);
            this.LabelCalcCellArea.Text   = string.Format(CultureInfo.InvariantCulture, "Cell size ({0}):", destAreaLbl);
            this.LabelCalcTtlAmount.Text  = string.Format(CultureInfo.InvariantCulture, "Total {0} ({1}):", amountlabel, destAreaLbl);

            // Calculate Cell Area in raster's native units
            float  cellSize = DataTableUtilities.GetDataSingle(drProp[Strings.DATASHEET_SPPIC_CELL_SIZE_COLUMN_NAME]);
            double cellArea = Math.Pow(cellSize, 2);

            this.TextBoxCellArea.Text = cellArea.ToString("N4", CultureInfo.InvariantCulture);

            // Calc Cell Area in terminology units
            double cellAreaTU   = 0;
            bool   SizeOverride = DataTableUtilities.GetDataBool(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_OVERRIDE_COLUMN_NAME]);

            if (!SizeOverride)
            {
                cellAreaTU = InitialConditionsSpatialDataSheet.CalcCellArea(cellArea, srcSizeUnits, destUnitsVal);
                this.TextBoxCellAreaCalc.Text = cellAreaTU.ToString("N4", CultureInfo.InvariantCulture);
                drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME] = cellAreaTU;
                TextBoxCellAreaCalc.ReadOnly = true;
            }
            else
            {
                cellAreaTU = DataTableUtilities.GetDataDbl(drProp[Strings.DATASHEET_SPPIC_CELL_AREA_COLUMN_NAME]);
                TextBoxCellAreaCalc.ReadOnly = false;
            }

            // Now calculate total area in the specified terminology units
            var ttlArea = cellAreaTU * NumCells;

            this.TextBoxTotalArea.Text = ttlArea.ToString("N4", CultureInfo.InvariantCulture);
        }
Exemple #15
0
        private static Transition CreatePT(DataRow dr)
        {
            int?   Iteration          = null;
            int?   Timestep           = null;
            int?   StratumIdSource    = null;
            int    StateClassIdSource = Convert.ToInt32(dr[Strings.DATASHEET_PT_STATECLASSIDSOURCE_COLUMN_NAME], CultureInfo.InvariantCulture);
            int?   StratumIdDest      = null;
            int?   StateClassIdDest   = null;
            int?   SecondaryStratumId = null;
            int?   TertiaryStratumId  = null;
            double Propn    = 1.0;
            int    AgeMin   = 0;
            int    AgeMax   = int.MaxValue;
            int    AgeRel   = 0;
            bool   AgeReset = true;
            int    TstMin   = 0;
            int    TstMax   = int.MaxValue;
            int    TstRel   = 0;

            if (dr[Strings.DATASHEET_ITERATION_COLUMN_NAME] != DBNull.Value)
            {
                Iteration = Convert.ToInt32(dr[Strings.DATASHEET_ITERATION_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_TIMESTEP_COLUMN_NAME] != DBNull.Value)
            {
                Timestep = Convert.ToInt32(dr[Strings.DATASHEET_TIMESTEP_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_PT_STRATUMIDSOURCE_COLUMN_NAME] != DBNull.Value)
            {
                StratumIdSource = Convert.ToInt32(dr[Strings.DATASHEET_PT_STRATUMIDSOURCE_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_PT_STRATUMIDDEST_COLUMN_NAME] != DBNull.Value)
            {
                StratumIdDest = Convert.ToInt32(dr[Strings.DATASHEET_PT_STRATUMIDDEST_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_PT_STATECLASSIDDEST_COLUMN_NAME] != DBNull.Value)
            {
                StateClassIdDest = Convert.ToInt32(dr[Strings.DATASHEET_PT_STATECLASSIDDEST_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_SECONDARY_STRATUM_ID_COLUMN_NAME] != DBNull.Value)
            {
                SecondaryStratumId = Convert.ToInt32(dr[Strings.DATASHEET_SECONDARY_STRATUM_ID_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            if (dr[Strings.DATASHEET_TERTIARY_STRATUM_ID_COLUMN_NAME] != DBNull.Value)
            {
                TertiaryStratumId = Convert.ToInt32(dr[Strings.DATASHEET_TERTIARY_STRATUM_ID_COLUMN_NAME], CultureInfo.InvariantCulture);
            }

            Transition pt = new Transition(
                Iteration, Timestep, StratumIdSource, StateClassIdSource, StratumIdDest, StateClassIdDest,
                SecondaryStratumId, TertiaryStratumId,
                Convert.ToInt32(dr[Strings.DATASHEET_TRANSITION_TYPE_ID_COLUMN_NAME], CultureInfo.InvariantCulture),
                Convert.ToDouble(dr[Strings.DATASHEET_PT_PROBABILITY_COLUMN_NAME], CultureInfo.InvariantCulture),
                Propn, AgeMin, AgeMax, AgeRel, AgeReset, TstMin, TstMax, TstRel);

            pt.PropnWasNull       = true;
            pt.AgeMinWasNull      = true;
            pt.AgeMaxWasNull      = true;
            pt.AgeRelativeWasNull = true;
            pt.AgeResetWasNull    = true;
            pt.TstMinimumWasNull  = true;
            pt.TstMaximumWasNull  = true;
            pt.TstRelativeWasNull = true;

            if (dr[Strings.DATASHEET_PT_PROPORTION_COLUMN_NAME] != DBNull.Value)
            {
                pt.Proportion   = Convert.ToDouble(dr[Strings.DATASHEET_PT_PROPORTION_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.PropnWasNull = false;
            }

            if (dr[Strings.DATASHEET_AGE_MIN_COLUMN_NAME] != DBNull.Value)
            {
                pt.AgeMinimum    = Convert.ToInt32(dr[Strings.DATASHEET_AGE_MIN_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.AgeMinWasNull = false;
            }

            if (dr[Strings.DATASHEET_AGE_MAX_COLUMN_NAME] != DBNull.Value)
            {
                pt.AgeMaximum    = Convert.ToInt32(dr[Strings.DATASHEET_AGE_MAX_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.AgeMaxWasNull = false;
            }

            if (dr[Strings.DATASHEET_PT_AGE_RELATIVE_COLUMN_NAME] != DBNull.Value)
            {
                pt.AgeRelative        = Convert.ToInt32(dr[Strings.DATASHEET_PT_AGE_RELATIVE_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.AgeRelativeWasNull = false;
            }

            if (dr[Strings.DATASHEET_PT_AGE_RESET_COLUMN_NAME] != DBNull.Value)
            {
                pt.AgeReset        = DataTableUtilities.GetDataBool(dr[Strings.DATASHEET_PT_AGE_RESET_COLUMN_NAME]);
                pt.AgeResetWasNull = false;
            }

            if (dr[Strings.DATASHEET_PT_TST_MIN_COLUMN_NAME] != DBNull.Value)
            {
                pt.TstMinimum        = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_MIN_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.TstMinimumWasNull = false;
            }

            if (dr[Strings.DATASHEET_PT_TST_MAX_COLUMN_NAME] != DBNull.Value)
            {
                pt.TstMaximum        = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_MAX_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.TstMaximumWasNull = false;
            }

            if (dr[Strings.DATASHEET_PT_TST_RELATIVE_COLUMN_NAME] != DBNull.Value)
            {
                pt.TstRelative        = Convert.ToInt32(dr[Strings.DATASHEET_PT_TST_RELATIVE_COLUMN_NAME], CultureInfo.InvariantCulture);
                pt.TstRelativeWasNull = false;
            }

            return(pt);
        }