Following example reads a mosaic dataset in a File geodatabase, and save it out to a raster dataset in the same geodatabase. you can also save it to any file format by changing the workspace and format string.
[C#]
//Open a File geodatabase workspace
IWorkspaceFactory workspaceFactory = new FileGDBWorkspaceFactoryClass();
IWorkspace wsGDB = workspaceFactory.OpenFromFile(@"c:\filegeodatabase.gdb", 0);
//Open a mosaic dataset using the MosaicWorkspaceExtensionHelper class
IMosaicWorkspaceExtensionHelper mosaicHelper = new
MosaicWorkspaceExtensionHelperClass();
IMosaicWorkspaceExtension mosaicWs = mosaicHelper.FindExtension(wsGDB);
IMosaicDataset mosaic = mosaicWs.OpenMosaicDataset("myMosaicDataset");
//a mosaic dataset is a special type of function raster dataset
IFunctionRasterDataset functionDS = (IFunctionRasterDataset)mosaic;
//Use ISaveAs to write out a raster dataset. The size of a raster dataset can be exported from
//a mosaic is defined in the default properties of a mosaic dataset. Make sure the output size
//is within the limit.
ISaveAs rasterSaveAs = (ISaveAs)functionDS;
rasterSaveAs.SaveAs("outRaster", wsGDB, "GDB");
[VB.NET]
'Open a File geodatabase workspace
Dim workspaceFactory As IWorkspaceFactory = New FileGDBWorkspaceFactory
Dim wsGDB As IWorkspace = workspaceFactory.OpenFromFile("c:\filegeodatabase.gdb", 0);
'Use MosaicWorkspaceExtensionHelper class to open a mosaic dataset
Dim mosaicHelper As IMosaicWorkspaceExtensionHelper = New MosaicWorkspaceExtensionHelperi
Dm mosaicWs As IMosaicWorkspaceExtension = mosaicHelper.FindExtension(wsGDB)
Dim mosaic As IMosaicDataset = mosaicWs.OpenMosaicDataset("myMosaicDataset")
'Mosaic dataset is a type of function raster dataset
Dim functionDS = CType(mosaic, IFunctionRasterDataset)
'Use ISaveAs to write out a raster dataset. The size of a raster dataset can be exported from
'a mosaic is defined in the default properties of a mosaic dataset. Make sure the output size
'is within the limit.
Dim rasterSaveAs = CType(functionDS, ISaveAs)
rasterSaveAs.SaveAs("outRaster", wsGDB, "GDB")
To use the code in this topic, reference the following assemblies in your Visual Studio project. In the code files, you will need using (C#) or Imports (VB .NET) directives for the corresponding namespaces (given in parenthesis below if different from the assembly name):
Development licensing | Deployment licensing |
---|---|
ArcGIS for Desktop Basic | |
ArcGIS for Desktop Basic | ArcGIS for Desktop Standard |
ArcGIS for Desktop Standard | ArcGIS for Desktop Advanced |
ArcGIS for Desktop Advanced | Engine |
Engine Developer Kit |