static void Main(string[] args) { #region Initialize License ESRI.ArcGIS.esriSystem.AoInitialize aoInit = null; try { Console.WriteLine("Obtaining license"); ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Desktop); aoInit = new AoInitializeClass(); esriLicenseStatus licStatus = aoInit.Initialize(esriLicenseProductCode.esriLicenseProductCodeAdvanced); Console.WriteLine("Ready with license."); } catch (Exception exc) { // If it fails at this point, shutdown the test and ignore any subsequent errors. Console.WriteLine(exc.Message); } #endregion try { #region Setup MD Parameters MDParameters.gdbParentFolder = @"c:\temp\CreateMD"; // Choose which type of gdb to create/open. // 0 - Create File Gdb // 1 - Create Personal Gdb // 2 - Open SDE int gdbOption = 0; // Provide the proper extension based on the gdb you want to create. // e.g. MDParameters.gdbName = "samplePGdb.mdb" to create a personal gdb. // To use an SDE, set SDE connection properties below. MDParameters.gdbName = @"sampleGdb.gdb"; MDParameters.mosaicDatasetName = @"sampleMD"; // Specify the srs of the mosaic dataset ISpatialReferenceFactory spatialrefFactory = new SpatialReferenceEnvironmentClass(); MDParameters.mosaicDatasetSrs = spatialrefFactory.CreateProjectedCoordinateSystem( (int)(esriSRProjCSType.esriSRProjCS_World_Mercator)); // 0 and PT_UNKNOWN for bits and bands = use defaults. MDParameters.mosaicDatasetBands = 0; MDParameters.mosaicDatasetBits = rstPixelType.PT_UNKNOWN; MDParameters.configKeyword = ""; // Product Definition key choices: // None // NATURAL_COLOR_RGB // NATURAL_COLOR_RGBI // FALSE_COLOR_IRG // FORMOSAT-2_4BANDS // GEOEYE-1_4BANDS // IKONOS_4BANDS // KOMPSAT-2_4BANDS // LANDSAT_6BANDS // LANDSAT_MSS_4BANDS // QUICKBIRD_4BANDS // RAPIDEYE_5BANDS // SPOT-5_4BANDS // WORLDVIEW-2_8BANDS // Setting this property ensures any data added to the MD with its // metadata defined gets added with the correct band combination. MDParameters.productDefinitionKey = "FALSE_COLOR_IRG"; MDParameters.rasterTypeName = "QuickBird"; // The next two properties can be left blank for defaults // The product filter defines which specific product of the raster // type to add, e.g. To specfiy Quickbird Basic use value "Basic" MDParameters.rasterTypeProductFilter = ""; // The product name specifies which template to use when adding data. // e.g. "Pansharpen and Multispectral" means both multispectral and // pansharpened rasters are added to the mosaic dataset. MDParameters.rasterTypeProductName = "Multispectral"; // Data source from which to read the data. MDParameters.dataSource = //@"\\Qalab_server\data\Raster\DOTNET\Input\DatasourcesRaster\FunctionRasterDataset\RasterDataset"; @"\\qalab_server\data\Raster\DOTNET\Input\DatasourcesRaster\MosaicDataset\QB\Torino"; //@"\\isdemo1\0_sampledata\SampleData\DataSets\QBBasic1b\Baghdad\X0388"; MDParameters.dataSourceFilter = @""; // No need to set if data source has an srs or if you want to use the MD srs as data source srs. MDParameters.dataSourceSrs = null; MDParameters.buildOverviews = true; #endregion MDParameters.emptyFgdbFolder = true; MDParameters.createFgdbParentFolder = false; #region Empty/Create Output Directory if (MDParameters.emptyFgdbFolder) { try { Console.WriteLine("Emptying Output Directory"); Directory.Delete(MDParameters.gdbParentFolder, true); Directory.CreateDirectory(MDParameters.gdbParentFolder); } catch (Exception) { } } if (MDParameters.createFgdbParentFolder && !System.IO.Directory.Exists(MDParameters.gdbParentFolder)) { Console.WriteLine("Creating Output Directory"); Directory.CreateDirectory(MDParameters.gdbParentFolder); } #endregion CreateMD createMD = new CreateMD(); if (gdbOption == 0) { #region Create MD in File GDB Console.WriteLine("Creating File GDB: " + MDParameters.gdbName); IWorkspace fgdbWorkspace = CreateFileGdbWorkspace(MDParameters.gdbParentFolder, MDParameters.gdbName); createMD.CreateMosaicDataset(fgdbWorkspace); #endregion } else if (gdbOption == 1) { #region Create MD in Personal GDB Console.WriteLine("Creating Personal GDB: " + MDParameters.gdbName); IWorkspace pGdbWorkspace = CreateAccessWorkspace(MDParameters.gdbParentFolder, MDParameters.gdbName); createMD.CreateMosaicDataset(pGdbWorkspace); #endregion } else if (gdbOption == 2) { #region Open SDE GDB // Set SDE connection properties. IPropertySet sdeProperties = new PropertySetClass(); sdeProperties.SetProperty("SERVER", "barbados"); sdeProperties.SetProperty("INSTANCE", "9411"); sdeProperties.SetProperty("VERSION", "sde.DEFAULT"); sdeProperties.SetProperty("USER", "gdb"); sdeProperties.SetProperty("PASSWORD", "gdb"); sdeProperties.SetProperty("DATABASE", "VTEST"); IWorkspace sdeWorkspace = CreateSdeWorkspace(sdeProperties); if (sdeWorkspace == null) { Console.WriteLine("Could not open SDE workspace: "); return; } #endregion #region Create MD in SDE MDParameters.mosaicDatasetName = @"sampleMD"; createMD.CreateMosaicDataset(sdeWorkspace); #endregion } #region Shutdown Console.WriteLine("Press any key..."); Console.ReadKey(); // Shutdown License aoInit.Shutdown(); #endregion } catch (Exception exc) { #region Report Console.WriteLine("Exception Caught in Main: " + exc.Message); Console.WriteLine("Shutting down."); #endregion #region Shutdown Console.WriteLine("Press any key..."); Console.ReadKey(); // Shutdown License aoInit.Shutdown(); #endregion } }