/// <summary> /// Borra los archivos raster del directorio temporal /// </summary> private void BorrarTemporales() { Geoprocessor gp = new Geoprocessor(); gp.SetEnvironmentValue("workspace", System.IO.Path.GetTempPath()); IGpEnumList rasters = gp.ListRasters("*", "All"); Delete del = new Delete(); string sRaster = rasters.Next(); del.data_type = "RasterDataset"; while (sRaster != "") { del.in_data = System.IO.Path.GetTempPath() + "\\" + sRaster; gp.Execute(del, null); sRaster = rasters.Next(); } try { IGpEnumList ws = gp.ListWorkspaces("*", "FileGDB"); string sRutaWs = ws.Next(); del.data_type = ""; while (sRutaWs != "") { del.in_data = sRutaWs; gp.Execute(del, null); sRutaWs = ws.Next(); } MessageBox.Show("Archivos Temporales Borrados"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private static void ConvertPersonalGeodatabaseToFileGeodatabase() { // Initialize the Geoprocessor Geoprocessor geoprocessor = new Geoprocessor(); // Allow for the overwriting of file geodatabases, if they previously exist. geoprocessor.OverwriteOutput = true; // Set the workspace to a folder containing personal geodatabases. geoprocessor.SetEnvironmentValue("workspace", @"C:\data"); // Identify personal geodatabases. IGpEnumList workspaces = geoprocessor.ListWorkspaces("*", "Access"); string workspace = workspaces.Next(); while (workspace != "") { // Set workspace to current personal geodatabase geoprocessor.SetEnvironmentValue("workspace", workspace); // Create a file geodatabase with the same name as the personal geodatabase string gdbname = System.IO.Path.GetFileName(workspace).Replace(".mdb", ""); string dirname = System.IO.Path.GetDirectoryName(workspace); // Execute CreateFileGDB tool CreateFileGDB createFileGDBTool = new CreateFileGDB(dirname, gdbname + ".gdb"); geoprocessor.Execute(createFileGDBTool, null); // Initialize the Copy Tool Copy copyTool = new Copy(); // Identify feature classes and copy to file geodatabase IGpEnumList fcs = geoprocessor.ListFeatureClasses("", "", ""); string fc = fcs.Next(); while (fc != "") { Console.WriteLine("Copying " + fc + " to " + gdbname + ".gdb"); copyTool.in_data = fc; copyTool.out_data = dirname + "\\" + gdbname + ".gdb" + "\\" + fc; geoprocessor.Execute(copyTool, null); fc = fcs.Next(); } // Identify feature datasets and copy to file geodatabase IGpEnumList fds = geoprocessor.ListDatasets("", ""); string fd = fds.Next(); while (fd != "") { Console.WriteLine("Copying " + fd + " to " + gdbname + ".gdb"); copyTool.in_data = fd; copyTool.data_type = "FeatureDataset"; copyTool.out_data = dirname + "\\" + gdbname + ".gdb" + "\\" + fd; try { geoprocessor.Execute(copyTool, null); } catch (Exception ex) { object sev = null; System.Windows.Forms.MessageBox.Show(ex.Message); } fd = fds.Next(); } // Identify tables and copy to file geodatabase IGpEnumList tbls = geoprocessor.ListTables("", ""); string tbl = tbls.Next(); while (tbl != "") { Console.WriteLine("Copying " + tbl + " to " + gdbname + ".gdb"); copyTool.in_data = tbl; copyTool.out_data = dirname + "\\" + gdbname + ".gdb" + "\\" + tbl; geoprocessor.Execute(copyTool, null); tbl = tbls.Next(); } workspace = workspaces.Next(); } }