示例#1
0
        /// <summary>
        /// Returns a MapWindow.Interfaces.Types.GridDataType that corresponds to a MapWinGIs.GridDataType
        /// </summary>
        /// <param name="MapWinGIS_GridDataType">A MapWinGIS.GridDataType</param>
        /// <returns>A MapWindow.Interfaces.Types.GridDataType</returns>
        public static GridDataType GetGridDataType(MapWinGIS.GridDataType MapWinGIS_GridDataType)
        {
            GridDataType retVal = GridDataType.UNKNOWN_TYPE;

            switch (MapWinGIS_GridDataType)
            {
            case MapWinGIS.GridDataType.DoubleDataType:
                retVal = GridDataType.DOUBLE_TYPE;
                break;

            case MapWinGIS.GridDataType.FloatDataType:
                retVal = GridDataType.FLOAT_TYPE;
                break;

            case MapWinGIS.GridDataType.InvalidDataType:
                retVal = GridDataType.INVALID_DATA_TYPE;
                break;

            case MapWinGIS.GridDataType.LongDataType:
                retVal = GridDataType.LONG_TYPE;
                break;

            case MapWinGIS.GridDataType.ShortDataType:
                retVal = GridDataType.SHORT_TYPE;
                break;

            case MapWinGIS.GridDataType.UnknownDataType:
                retVal = GridDataType.UNKNOWN_TYPE;
                break;
            }
            return(retVal);
        }
示例#2
0
        /// <summary>
        /// Converts a new MapWindow.Interfaces.Types.GridDataType to an older MapWinGIS.GridDataType format
        /// </summary>
        /// <param name="Types_GridDataType">A Mapwindow.Interfaces.Types.GridDataType</param>
        /// <returns>A MapWinGIS.GridDataType</returns>
        public static MapWinGIS.GridDataType mwGridDataType(GridDataType Types_GridDataType)
        {
            MapWinGIS.GridDataType retVal = MapWinGIS.GridDataType.UnknownDataType;
            switch (Types_GridDataType)
            {
            case GridDataType.DOUBLE_TYPE:
                retVal = MapWinGIS.GridDataType.DoubleDataType;
                break;

            case GridDataType.FLOAT_TYPE:
                retVal = MapWinGIS.GridDataType.FloatDataType;
                break;

            case GridDataType.INVALID_DATA_TYPE:
                retVal = MapWinGIS.GridDataType.InvalidDataType;
                break;

            case GridDataType.LONG_TYPE:
                retVal = MapWinGIS.GridDataType.LongDataType;
                break;

            case GridDataType.SHORT_TYPE:
                retVal = MapWinGIS.GridDataType.ShortDataType;
                break;

            case GridDataType.UNKNOWN_TYPE:
                retVal = MapWinGIS.GridDataType.UnknownDataType;
                break;
            }
            return(retVal);
        }
示例#3
0
 /// <summary>
 /// initializes the list of available grid data types
 /// </summary>
 private void populateDataTypes()
 {
     MapWinGIS.GridDataType grDataType = calcGridDataType(m_FieldType);
     cmbDataType.Items.Add(MapWinGIS.GridDataType.ShortDataType);
     cmbDataType.Items.Add(MapWinGIS.GridDataType.LongDataType);
     cmbDataType.Items.Add(MapWinGIS.GridDataType.FloatDataType);
     cmbDataType.Items.Add(MapWinGIS.GridDataType.DoubleDataType);
     cmbDataType.SelectedItem = grDataType;
 }
示例#4
0
        public bool GetGridInformation()
        {
            //now show the grid form
            bool    result   = false;
            frmGrid gridForm = new frmGrid(m_MapWin, m_ShpFileName);

            if (gridForm.ShowDialog() == DialogResult.OK)
            {
                m_GridHeader   = gridForm.GridHeader;
                m_GridDataType = gridForm.GridDataType;
                m_GridFileName = gridForm.GridFileName;
                m_GridFileType = gridForm.GridFileType;
                result         = true;
            }
            else
            {
                //the user clicked the BACK button - go back to 'select shapefile' dialog
                result = GetShapeInformation();
            }
            return(result);
        }
示例#5
0
        public override bool Open(string Filename, MapWinGIS.GridDataType DataType = MapWinGIS.GridDataType.UnknownDataType, bool InRam = true, MapWinGIS.GridFileType FileType = MapWinGIS.GridFileType.UseExtension, MapWinGIS.ICallback cBack = null)
        {
            string bgdequiv = (string)(System.IO.Path.ChangeExtension(Filename, ".bgd"));

            if (Filename.ToLower().EndsWith(".flt"))
            {
                if (File.Exists(bgdequiv) && MapWinGIS.Utility.DataManagement.CheckFile2Newest(Filename, bgdequiv))
                {
                    return(base.Open(bgdequiv, MapWinGIS.GridDataType.UnknownDataType, InRam, MapWinGIS.GridFileType.Binary, cBack));
                }
                else
                {
                    if (ImportFLTFormat(Filename, ref cBack))
                    {
                        base.Save(bgdequiv, MapWinGIS.GridFileType.Binary, cBack);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            else if (Filename.ToLower().EndsWith(".dem"))
            {
                if (File.Exists(bgdequiv) && MapWinGIS.Utility.DataManagement.CheckFile2Newest(Filename, bgdequiv))
                {
                    return(base.Open(bgdequiv, MapWinGIS.GridDataType.UnknownDataType, InRam, MapWinGIS.GridFileType.Binary, cBack));
                }
                else
                {
                    if (ImportDEMFormat(Filename, ref cBack))
                    {
                        MapWinGIS.Utility.Logger.Dbg("Save grid with name: " + bgdequiv);
                        base.Save(bgdequiv, MapWinGIS.GridFileType.Binary, cBack);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            else if (Filename.ToLower().EndsWith(".grd"))
            {
                if (File.Exists(bgdequiv) && MapWinGIS.Utility.DataManagement.CheckFile2Newest(Filename, bgdequiv))
                {
                    return(base.Open(bgdequiv, MapWinGIS.GridDataType.UnknownDataType, InRam, MapWinGIS.GridFileType.Binary, cBack));
                }
                else
                {
                    if (ImportSURFERFormat(Filename, cBack))
                    {
                        base.Save(bgdequiv, MapWinGIS.GridFileType.Binary, cBack);
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }
            else
            {
                return(base.Open(Filename, DataType, InRam, FileType, cBack));
            }
        }
示例#6
0
 public override bool CreateNew(string Filename, MapWinGIS.GridHeader Header, MapWinGIS.GridDataType DataType, object InitialValue, bool InRam = true, MapWinGIS.GridFileType FileType = MapWinGIS.GridFileType.UseExtension, MapWinGIS.ICallback cBack = null)
 {
     return(base.CreateNew(Filename, Header, DataType, InitialValue, InRam, FileType, cBack));
 }
示例#7
0
        /// <summary>
        /// Er... Changes a grid format?
        /// </summary>
        /// <param name="origFilename">Original Grid Filename</param>
        /// <param name="newFilename">Output Grid Filename</param>
        /// <param name="newFileType">Specifies the original file format of the grid</param>
        /// <param name="newFileFormat">Specifies the new file format</param>
        /// <param name="multFactor">Like Extrusion, this multiplies the Z value</param>
        /// <returns>Boolean, false if there was an error</returns>
        public static bool ChangeGridFormat(string origFilename, string newFilename, MapWinGIS.GridFileType newFileType, MapWinGIS.GridDataType newFileFormat, float multFactor)
        {
            bool Errors = false;

            MapWinGIS.Grid tGrd = new MapWinGIS.Grid();
            tGrd.Open(origFilename, MapWinGIS.GridDataType.UnknownDataType, true, MapWinGIS.GridFileType.UseExtension, null);

            Logger.Status("Writing Grid to New Format");

            //If we're multiplying by a factor, must
            //create the new grid and actually do it ourselves.
            //Otherwise, can save directly
            //Jiri Kadlec 1-28-2009 we still neet to create a new grid when the data or file type is different.
            if (multFactor == 1 && newFileFormat == tGrd.DataType)
            {
                Logger.Dbg("Saving directly to new format");
                tGrd.Save(newFilename, newFileType, null);
                // ProgressForm)
            }
            else
            {
                Logger.Dbg("Saving to new format with mult. factor: " + multFactor.ToString());

                MapWinGIS.GridHeader hdr = new MapWinGIS.GridHeader();
                hdr.CopyFrom(tGrd.Header);

                MapWinGIS.Grid newgrid = new MapWinGIS.Grid();
                if (!newgrid.CreateNew(newFilename, hdr, newFileFormat, hdr.NodataValue, true, newFileType, null))
                {
                    Logger.Message("Unable to create new grid!", "Error", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error, System.Windows.Forms.DialogResult.OK);
                    Errors = true;
                }
                else
                {
                    int     ncols  = tGrd.Header.NumberCols;
                    int     nrows  = tGrd.Header.NumberRows;
                    float[] oneRow = new float[ncols + 1];
                    for (int i = 0; i <= nrows - 1; i++)
                    {
                        tGrd.GetFloatWindow(i, i, 0, ncols, ref oneRow[0]);
                        for (int z = 0; z <= ncols - 1; z++)
                        {
                            oneRow[z] *= multFactor;
                        }
                        newgrid.PutFloatWindow(i, i, 0, ncols, ref oneRow[0]);
                    }
                    newgrid.Save(newFilename, newFileType, null);
                    newgrid.Close();
                }
            }

            return(!Errors);
        }
示例#8
0
        public bool GetGridInformation()
        {
            //now show the grid form
            bool result = false;
            frmGrid gridForm = new frmGrid(m_MapWin, m_ShpFileName);

            if (gridForm.ShowDialog() == DialogResult.OK)
            {
                m_GridHeader = gridForm.GridHeader;
                m_GridDataType = gridForm.GridDataType;
                m_GridFileName = gridForm.GridFileName;
                m_GridFileType = gridForm.GridFileType;
                result = true;
            }
            else
            {
                //the user clicked the BACK button - go back to 'select shapefile' dialog
                result = GetShapeInformation();
            }
            return result;
        }