ArcObjects Library Reference  (DataSourcesRaster)    

RasterDataset Example

[Visual Basic 6.0]
Public Function OpenRasterDataset(sPath As String, sFileName As String) As IRasterDataset
    ' sPath: directory where dataset resides
    ' sFileName: name of the raster dataset
    On Error GoTo ErrorHandler
    
    ' Create RasterWorkSpaceFactory
    Dim pWSF As IWorkspaceFactory
    Set pWSF = New RasterWorkspaceFactory
    
    ' Get RasterWorkspace
    Dim pRasWS As IRasterWorkspace
    If pWSF.IsWorkspace(sPath) Then
        Set pRasWS = pWSF.OpenFromFile(sPath, 0)
        Set OpenRasterDataset = pRasWS.OpenRasterDataset(sFileName)
    End If
    
    ' Release memeory
    Set pRasWS = Nothing
    Set pWSF = Nothing
    Exit Function
ErrorHandler:
    Set OpenRasterDataset = Nothing
End Function

[Visual Basic .NET]

static IRasterDataset OpenFileRasterDataset(string folderName, string datasetName)
{
    //Open raster file workspace
    IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();
    IRasterWorkspace rasterWorkspace = (IRasterWorkspace)workspaceFactory.OpenFromFile(folderName, 0);

    //Open file raster dataset
    IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset(datasetName);
    return rasterDataset;
}

When accessing raster dataset in a geodatabase, IRasterWorkspaceEx should be used

static IRasterDataset OpenGDBRasterDataset(IRasterWorkspaceEx rasterWorkspaceEx, string datasetName)
{
    //Open a raster dataset in a geodatabase including PGDB, FGDB, and ArcSDE
    return rasterWorkspaceEx.OpenRasterDataset(datasetName);
}
 
Open raster dataset in a raster catalog
Public IRasterDataset GetRasterCatalogItem(IRasterCatalog catalog, int oid)
{
    //oid is the objectid of the raster dataset in the raster catalog
    IFeatureClass featureClass = (IFeatureClass)catalog;
    IRasterCatalogItem rasterCatalogItem = (IRasterCatalogItem)featureClass.GetFeature(oid);
    return rasterCatalogItem.RasterDataset;
}

[C#]

static IRasterDataset OpenFileRasterDataset(string folderName, string datasetName)
{
    //Open raster file workspace
    IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();
    IRasterWorkspace rasterWorkspace = (IRasterWorkspace)workspaceFactory.OpenFromFile(folderName, 0);

    //Open file raster dataset
    IRasterDataset rasterDataset = rasterWorkspace.OpenRasterDataset(datasetName);
    return rasterDataset;
}

When accessing raster dataset in a geodatabase, IRasterWorkspaceEx should be used

static IRasterDataset OpenGDBRasterDataset(IRasterWorkspaceEx rasterWorkspaceEx, string datasetName)
{
    //Open a raster dataset in a geodatabase including PGDB, FGDB, and ArcSDE
    return rasterWorkspaceEx.OpenRasterDataset(datasetName);
}
 
Open raster dataset in a raster catalog
Public IRasterDataset GetRasterCatalogItem(IRasterCatalog catalog, int oid)
{
    //oid is the objectid of the raster dataset in the raster catalog
    IFeatureClass featureClass = (IFeatureClass)catalog;
    IRasterCatalogItem rasterCatalogItem = (IRasterCatalogItem)featureClass.GetFeature(oid);
    return rasterCatalogItem.RasterDataset;
}

[C++]
No example is available for C++. To view a Visual Basic 6.0, Visual Basic .NET, or a C# example, click the Language Filter button Language Filter in the upper-left corner of the page.