Example #1
0
        public IGrid Provide(string filename)
        {
            AscReader asc    = new AscReader();
            var       mat    = asc.Load(filename);
            var       mfgrid = new MFGrid();

            mfgrid.RowCount    = mat.Size[1];
            mfgrid.ColumnCount = mat.Size[2];
            //mfgrid.RowInteval = new MyScalar<float>(asc.CellSize);
            //mfgrid.ColInteval = new MyScalar<float>(asc.CellSize);

            mfgrid.IBound = new DataCube <float>(1, mfgrid.RowCount, mfgrid.ColumnCount);

            mfgrid.ActiveCellCount = 0;

            for (int r = 0; r < mat.Size[0]; r++)
            {
                for (int c = 0; c < mat.Size[1]; c++)
                {
                    if (mat[0, r, c] == asc.NoDataValue)
                    {
                        mfgrid.IBound[0, r, c] = 0;
                    }
                    else
                    {
                        mfgrid.IBound[0, r, c] = 1;
                        mfgrid.ActiveCellCount++;
                    }
                }
            }
            mfgrid.Elevations = new DataCube <float>(1, 1, mfgrid.ActiveCellCount);

            var vector = asc.LoadSerial(filename, mfgrid);

            mfgrid.Elevations[0]["0", ":"] = vector;

            return(mfgrid);
        }