Example #1
0
        private void button_AddData_Click(object sender, EventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Multiselect = true;
            dlg.Filter      = "支持格式(*.tif,*.tiff,*.image,*.asc,*.raw,*.dem,*.adf,*.idr,*.sid,*.ecw,*.e00,*.ers,*.hdr,*.grd)|" +
                              "*.tif;*.tiff;*.image;*.asc;*.raw;*.dem;*.adf;*.idr;*.sid;*.ecw;*.e00;*.ers;*.hdr;*.grd|其他格式(*.*)|*.*";

            if (dlg.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
            {
                for (int i = 0; i < dlg.FileNames.Length; i++)
                {
                    string   fileName = dlg.FileNames[i];
                    FileInfo info     = new FileInfo(fileName);
                    string   lrpName  = Path.ChangeExtension(fileName, ".lrp");
                    string   savePath;
                    if (saveDir == "")
                    {
                        savePath = lrpName;
                    }
                    else
                    {
                        savePath = saveDir + Path.ChangeExtension(info.Name, ".lrp");
                    }

                    GSODataset set = dataManager.AddFileDataset(fileName);
                    GeoScene.Data.EnumGeoReferenceType m = set.GeoReferenceType;

                    if (m == GeoScene.Data.EnumGeoReferenceType.LatLon)
                    {
                        DataRow row = dt.Rows.Add();
                        row[0] = fileName;
                        row[1] = "经纬度数据";
                        row[2] = savePath;
                        dataGridView1.DataSource = dt;
                    }
                    else if (m == EnumGeoReferenceType.Project)
                    {
                        DataRow row = dt.Rows.Add();
                        row[0] = fileName;
                        row[1] = set.ExportProjectionRefToWkt();
                        row[2] = savePath;
                        dataGridView1.DataSource = dt;
                    }
                    else
                    {
                        DataRow row = dt.Rows.Add();
                        row[0] = fileName;
                        row[1] = "无投影信息";
                        row[2] = savePath;
                        dataGridView1.DataSource = dt;
                        //XtraMessageBox.Show("数据投影信息不符合要求,请先转换为经纬度数据");
                    }
                }
                dataGridView1.Refresh();
            }
        }
Example #2
0
        private void button_AddDir_Click(object sender, EventArgs e)
        {
            Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog dlg = new Microsoft.WindowsAPICodePack.Dialogs.CommonOpenFileDialog();
            dlg.IsFolderPicker = true;
            dlg.Multiselect    = false;

            if (dlg.ShowDialog() == Microsoft.WindowsAPICodePack.Dialogs.CommonFileDialogResult.Ok)
            {
                this.Cursor = Cursors.WaitCursor;
                DirectoryInfo dirInfo  = new DirectoryInfo(dlg.FileName);
                FileInfo[]    fileInfo = dirInfo.GetFiles();
                if (fileInfo != null && fileInfo.Length > 0)
                {
                    for (int i = 0; i < fileInfo.Length; i++)
                    {
                        FileInfo info = fileInfo[i];
                        if (info.Extension.ToLower() == ".img" || info.Extension.ToLower() == ".tif")
                        {
                            string     fileName = info.FullName;
                            string     savePath = Path.ChangeExtension(fileName, ".lrp");
                            GSODataset set      = dataManager.AddFileDataset(fileName);
                            GeoScene.Data.EnumGeoReferenceType m = set.GeoReferenceType;
                            if (m == GeoScene.Data.EnumGeoReferenceType.LatLon)
                            {
                                DataRow row = dt.Rows.Add();
                                row[0] = fileName;
                                row[1] = "经纬度数据";
                                row[2] = savePath;
                            }
                            else if (m == EnumGeoReferenceType.Project)
                            {
                                DataRow row = dt.Rows.Add();
                                row[0] = fileName;
                                row[1] = set.ExportProjectionRefToWkt();
                                row[2] = savePath;
                            }
                            else
                            {
                                DataRow row = dt.Rows.Add();
                                row[0] = fileName;
                                row[1] = "无投影信息";
                                row[2] = savePath;
                                //XtraMessageBox.Show("数据投影信息不符合要求,请先转换为经纬度数据");
                            }
                        }
                    }
                    dataGridView1.DataSource = dt;

                    dataGridView1.Refresh();
                }
                this.Cursor = Cursors.Default;
            }
        }