Home    |    Concepts   |   API   |   Samples
Concepts > Rasters > Basic Principles
Nodata

Some pixels in a raster tile may be nodata pixels. These are pixels whose value is unknown. If nodata pixels are present in the raster tile, a nodata bitmask follows the array of pixels values. The bitmask has a bit value set to 1 for pixels for which the value is known, and 0 if it’s value is unknown or nodata. If all pixels within a tile have a known value, the nodata bitmask becomes unnecessary and is not stored with the tile.

If all pixels within a tile have unknown or nodata values, the tile is not stored. Instead, ArcSDE client-side functionality detects the absence of the tile and generates a nodata tile should the client application request it.

The nodata bitmask is optional. It is the application that determines the rules for setting the nodata bit and interpreting it. Consider a multiband raster that for some bands the pixels are set to nodata, while for others they are not. How this location is to be rendered is up to the application. Perhaps the application will render the location as nodata since some of the bands have nodata pixels, or perhaps it will render the bands that have data.

The C-API function SE_rasterattr_set_mask_mode enables the nodata bitmask mode for input. If the nodata bitmask mode is enabled, ArcSDE will process a nodata bitmask that is added to the end for a tile’s pixel array. A nodata bitmask is added to the pixel array within a raster callback function during an INSERT or UPDATE operation.

 

/* Enable the nodata bitmask for input */
    rc = SE_rasterattr_set_mask_mode (*raster_attrib, TRUE);
    check_error (rc, NULL, NULL, "SE_rasterattr_set_mask_mode");

 
feedback | privacy | legal