Create a boolean 'NOT" raster from an input GeoDataset.
[C#]
/// <summary> /// Create a logical boolean 'NOT" raster from an input GeoDataset. /// </summary> /// <param name="geoDataset">An IGeoDataset interface that has cell values that need to have a boolean 'NOT' (or compliment) values computed.</param> /// <returns>An IGeoDataset interface that contains compliment values of the input raster.</returns> /// <remarks> /// Note: the input geoDataset must be of Type IRaster, IRasterDataset, IRasterBand, or IRasterDescriptor. /// /// For information about the ILogicalOp.BooleanNot Method see: /// http://edndoc.esri.com/arcobjects/9.2/ComponentHelp/esriSpatialAnalyst/ILogicalOp_BooleanNot.htm /// /// For more information on working with the ArcGIS Spatial Anaylst objects see: /// http://edndoc.esri.com/arcobjects/9.2/CPP_VB6_VBA_VCPP_Doc/COM/VB6/working/work_rasters/sptl_analyst_objs.htm /// </remarks> public ESRI.ArcGIS.Geodatabase.IGeoDataset CreateLogicalOpBooleanNOTRaster(ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset) { if (geoDataset is ESRI.ArcGIS.Geodatabase.IRaster | geoDataset is ESRI.ArcGIS.Geodatabase.IRasterDataset | geoDataset is ESRI.ArcGIS.DataSourcesRaster.IRasterBand | geoDataset is ESRI.ArcGIS.GeoAnalyst.IRasterDescriptor) { // Create the MathOps object ESRI.ArcGIS.SpatialAnalyst.ILogicalOp logicalOp = new ESRI.ArcGIS.SpatialAnalyst.RasterMathOpsClass(); // Declare the output raster object ESRI.ArcGIS.Geodatabase.IGeoDataset geoDataset_output = logicalOp.BooleanNot(geoDataset); return geoDataset_output; } else { //Invalid type of GeoDataset for this process return null; } }
[Visual Basic .NET]
''' <summary> ''' Create a logical boolean 'NOT" raster from an input GeoDataset. ''' </summary> ''' <param name="geoDataset">An IGeoDataset interface that has cell values that need to have a boolean 'NOT' (or compliment) values computed.</param> ''' <returns>An IGeoDataset interface that contains compliment values of the input raster.</returns> ''' <remarks> ''' Note: the input geoDataset must be of Type IRaster, IRasterDataset, IRasterBand, or IRasterDescriptor. ''' ''' For information about the ILogicalOp.BooleanNot Method see: ''' http://edndoc.esri.com/arcobjects/9.2/ComponentHelp/esriSpatialAnalyst/ILogicalOp_BooleanNot.htm ''' ''' For more information on working with the ArcGIS Spatial Anaylst objects see: ''' http://edndoc.esri.com/arcobjects/9.2/CPP_VB6_VBA_VCPP_Doc/COM/VB6/working/work_rasters/sptl_analyst_objs.htm ''' </remarks> Public Function CreateLogicalOpBooleanNOTRaster(ByVal geoDataset As ESRI.ArcGIS.Geodatabase.IGeoDataset) As ESRI.ArcGIS.Geodatabase.IGeoDataset If (TypeOf geoDataset Is ESRI.ArcGIS.Geodatabase.IRaster _ Or TypeOf geoDataset Is ESRI.ArcGIS.Geodatabase.IRasterDataset _ Or TypeOf geoDataset Is ESRI.ArcGIS.DataSourcesRaster.IRasterBand _ Or TypeOf geoDataset Is ESRI.ArcGIS.GeoAnalyst.IRasterDescriptor) Then ' Create the MathOps object Dim logicalOp As ESRI.ArcGIS.SpatialAnalyst.ILogicalOp = New ESRI.ArcGIS.SpatialAnalyst.RasterMathOpsClass ' Declare the output raster object Dim geoDataset_output As ESRI.ArcGIS.Geodatabase.IGeoDataset = logicalOp.BooleanNot(geoDataset) Return geoDataset_output Else 'Invalid type of GeoDataset for this process Return Nothing End If End Function