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(); } }
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; } }