FDO API Reference Feature Data Objects
Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FdoIRaster Class Reference

#include <IRaster.h>

Inherits FdoIDisposable.

Inheritance diagram for FdoIRaster:

[legend]
List of all members.

Detailed Description

The FdoIRaster specifies the data type and organization of raster data retrieved and stored. Using this class and the image extents in width and length, the binary format of the image data returned by and accepted by the FdoIoStreamReader class can be interpreted.

Definition at line 37 of file IRaster.h.


Public Member Functions

virtual FDO_API FdoIRasterPropertyDictionaryGetAuxiliaryProperties ()=0
 Get a dictionary style interface to the raster properties. Through this interface the non-standard properties of a raster image can be determined and their values can be retrieved and set. Data values are exchanged through the FdoDataValue object to accommodate various data types, boolean, integer, double, string, etc.
virtual FDO_API FdoByteArrayGetBounds ()=0
virtual FDO_API FdoInt32 GetCurrentBand ()=0
 Gets the currently active band/channel.
virtual FDO_API FdoRasterDataModelGetDataModel ()=0
 Gets the data model in use by this raster property.
virtual FDO_API FdoInt32 GetImageXSize ()=0
 Gets the size of image file in the horizontal direction in pixels (number of columns).
virtual FDO_API FdoInt32 GetImageYSize ()=0
 Gets the size of image file in the vertical direction in pixels (number of rows).
virtual FDO_API FdoDataValueGetNullPixelValue ()=0
 Gets the pixel value that represents a NULL value in the available raster stream.
virtual FDO_API FdoInt32 GetNumberOfBands ()=0
 Gets the number of bands/channels contained in the raster image.
virtual FDO_API FdoIStreamReaderGetStreamReader ()=0
 Get the source of image data. Image data is shipped using a paradigm similar to BLOB I/O. When fetching a raster image the GetStreamReader() method provides a FdoIStreamReader from which the client may request the image data.
virtual FDO_API FdoStringGetVerticalUnits ()=0
 Gets the Vertical Unit of Measure corresponding to the Raster Band. The string value returned will be a considered lookup value that will be used to identify the properties of the Unit of Measure using the FDO FdoIGetMeasureUnits command.
virtual FDO_API bool IsNull ()=0
 Returns true if the FdoIRaster represents a null value.
virtual FDO_API void SetBounds (FdoByteArray *bounds)=0
virtual FDO_API void SetCurrentBand (FdoInt32 value)=0
 Sets the currently active band/channel.
virtual FDO_API void SetDataModel (FdoRasterDataModel *datamodel)=0
 Sets the data model used by this raster property. Allowed values are only those data models that are acceptable to the SupportsDataModel capability. This attribute specifies the colour/palette model, bits per pixel, tiling and interleaving. For example, if the bits per pixel of the data model is 8 and it is set to 24, a conversion would be performed when image data is requested, to return 24 bit data. If an update command is executed to save this value, the raster data would be transformed and saved. The next time this image is retrieved by the client the bits per pixel value would indicate 24.
virtual FDO_API void SetImageXSize (FdoInt32 size)=0
 Sets the size of image file in the horizontal direction in pixels (number of columns). By setting the X and Y image size properties prior to getting a reader for the data, the client application can control the density of pixels fetched by the provider, which may reduce the amount of data shipped by the reader and reduce processing time significantly. For example, a certain query in the coordinate system of the raster object class returns a FdoIRaster object with image size 12091 by 8043. But the image only needs to be displayed in an area 1167 by 776 on the users monitor.
virtual FDO_API void SetImageYSize (FdoInt32 size)=0
 Sets the size of image file in the vertical direction in pixels (number of rows). See SetImageXSize.
virtual FDO_API void SetNull ()=0
 Sets the FdoIRaster to a null value.
virtual FDO_API void SetNumberOfBands (FdoInt32 value)=0
 Sets the number of bands/channels contained in the raster image.
virtual FDO_API void SetStreamReader (FdoIStreamReader *reader)=0
 Set the source of image data. Image data is shipped using a paradigm similar to BLOB I/O. When inserting or updating an object with a raster property, the SetStreamReader method provides a means to set a FdoIStreamReader callback. On execution of an insert or update command, requests are made on the reader for the image data (which is supplied by the FDO client application). The format of the image data expected is determined by the DataModel property. The data type, bit depth, tiling and organization specify the meaning of the image data. By setting the DataModel property prior to setting a reader for the data, the FDO client application can control the way data is understood by, the FDO raster subsystem.
virtual FDO_API void SetVerticalUnits (FdoString *units)=0
 Sets the Vertical Unit of Measure corresponding to the Raster Band.

Member Function Documentation

virtual FDO_API FdoIRasterPropertyDictionary* FdoIRaster::GetAuxiliaryProperties  )  [pure virtual]
 

Get a dictionary style interface to the raster properties. Through this interface the non-standard properties of a raster image can be determined and their values can be retrieved and set. Data values are exchanged through the FdoDataValue object to accommodate various data types, boolean, integer, double, string, etc.

Returns:
The dictionary of auxilliary raster properties.

virtual FDO_API FdoByteArray* FdoIRaster::GetBounds  )  [pure virtual]
 

Get the minimum bounding box around the image. The bounds are transformed to the active spatial context.

virtual FDO_API FdoInt32 FdoIRaster::GetCurrentBand  )  [pure virtual]
 

Gets the currently active band/channel.

Remarks:
The FdoIRaster Bounds, DataModel, ImageSize, AuxilliaryProperties and Stream accessors all conform to the current band. NOTE: The return value is a 1 based index whose maximum value is determined by the result from GetNumberOfBands.
Returns:
Returns the current active band/channel.

virtual FDO_API FdoRasterDataModel* FdoIRaster::GetDataModel  )  [pure virtual]
 

Gets the data model in use by this raster property.

Returns:
Returns the current data model.

virtual FDO_API FdoInt32 FdoIRaster::GetImageXSize  )  [pure virtual]
 

Gets the size of image file in the horizontal direction in pixels (number of columns).

Returns:
Returns the horizontal image size in pixels (number of columns).

virtual FDO_API FdoInt32 FdoIRaster::GetImageYSize  )  [pure virtual]
 

Gets the size of image file in the vertical direction in pixels (number of rows).

Returns:
Returns the vertical image size in pixels (number of rows).

virtual FDO_API FdoDataValue* FdoIRaster::GetNullPixelValue  )  [pure virtual]
 

Gets the pixel value that represents a NULL value in the available raster stream.

Remarks:
The Null Pixel Value is Data Model dependent. The value of the Null pixel will change depending on which data model is set. If the client application changes the Data Model using SetDataModel(FdoRasterDataModel* datamodel) a subsequent call to GetNullPixelValue will need to be made in order to determine the valid Null value for the current data model.
Returns:
Returns the FdoDataType value that can be used to identify the Null value.

virtual FDO_API FdoInt32 FdoIRaster::GetNumberOfBands  )  [pure virtual]
 

Gets the number of bands/channels contained in the raster image.

Returns:
Returns the numbers of bands/channels contained in the raster image.

virtual FDO_API FdoIStreamReader* FdoIRaster::GetStreamReader  )  [pure virtual]
 

Get the source of image data. Image data is shipped using a paradigm similar to BLOB I/O. When fetching a raster image the GetStreamReader() method provides a FdoIStreamReader from which the client may request the image data.

Remarks:
The format of the image data expected is determined by the DataModel property. The data type, bit depth, tiling and organization specify the meaning of the image data. By setting the DataModel property prior to getting a reader for the data, the FDO client application can control the way data is retrieved from the FDO raster subsystem. When a tiled image is fetched, the image data will be tiled by default, unless a spatial query is used that covers a portion of a tile, in which case the image is converted to monolithic form prior to returning to the client. The client may force a monolithic image in the former case by setting the DataModel to monolithic prior to getting the stream reader. Or conversely it can request a re-tiling of the remaining sub-image by setting the DataModel property to tiled (in this case the tile origin is at the new upper left corner of the sub-image).
Note:
Altering the DataModel may have significant performance issues.

virtual FDO_API FdoString* FdoIRaster::GetVerticalUnits  )  [pure virtual]
 

Gets the Vertical Unit of Measure corresponding to the Raster Band. The string value returned will be a considered lookup value that will be used to identify the properties of the Unit of Measure using the FDO FdoIGetMeasureUnits command.

Returns:
Returns the Unit of Measure type of data associated to the Raster Band.

virtual FDO_API bool FdoIRaster::IsNull  )  [pure virtual]
 

Returns true if the FdoIRaster represents a null value.

Returns:
Returns true if the FdoIRaster represents a null value.

virtual FDO_API void FdoIRaster::SetBounds FdoByteArray bounds  )  [pure virtual]
 

Set the minimum bounding box around the image. For georeferenced images, the coordinate system is specified by the spatial context in force when the object is created. The act of setting this property georeferences the image. In order to provide for non-georeferenced images, this property is Nullable (doesn't need to be set).

virtual FDO_API void FdoIRaster::SetCurrentBand FdoInt32  value  )  [pure virtual]
 

Sets the currently active band/channel.

Remarks:
Setting the current band will mean that the Bounds, DataModel, ImageSize, AuxilliaryProperties and Stream accessors of FdoIRaster will all switch to the specified band. NOTE: The input parameter 'value' is indexed starting from 1 to the result returned from GetNumberOfBands.
Returns:
Returns nothing.

virtual FDO_API void FdoIRaster::SetDataModel FdoRasterDataModel datamodel  )  [pure virtual]
 

Sets the data model used by this raster property. Allowed values are only those data models that are acceptable to the SupportsDataModel capability. This attribute specifies the colour/palette model, bits per pixel, tiling and interleaving. For example, if the bits per pixel of the data model is 8 and it is set to 24, a conversion would be performed when image data is requested, to return 24 bit data. If an update command is executed to save this value, the raster data would be transformed and saved. The next time this image is retrieved by the client the bits per pixel value would indicate 24.

Parameters:
datamodel The datamodel to be used.

virtual FDO_API void FdoIRaster::SetImageXSize FdoInt32  size  )  [pure virtual]
 

Sets the size of image file in the horizontal direction in pixels (number of columns). By setting the X and Y image size properties prior to getting a reader for the data, the client application can control the density of pixels fetched by the provider, which may reduce the amount of data shipped by the reader and reduce processing time significantly. For example, a certain query in the coordinate system of the raster object class returns a FdoIRaster object with image size 12091 by 8043. But the image only needs to be displayed in an area 1167 by 776 on the users monitor.

Note:
The aspect ratios are the same because the query is constructed based on the display area).
Remarks:
By setting the image size to these lower values the FDO raster subsystem may be able to use a previously subsampled image where the resolution has been reduced by a factor of 4. So instead of transferring 97MB, it can transfer 6MB (a reduction by 4 in both dimensions reduces the amount of data by a factor of 16) and subsample the image again to the desired resolution in a more timely manner (less data to process means less total time), with no appreciable difference in display quality to the user.
Parameters:
size The desired horizontal image size in pixels (number of columns).

virtual FDO_API void FdoIRaster::SetImageYSize FdoInt32  size  )  [pure virtual]
 

Sets the size of image file in the vertical direction in pixels (number of rows). See SetImageXSize.

Parameters:
size The desired vertical image size in pixels (number of rows).

virtual FDO_API void FdoIRaster::SetNull  )  [pure virtual]
 

Sets the FdoIRaster to a null value.

Returns:
Returns nothing

virtual FDO_API void FdoIRaster::SetNumberOfBands FdoInt32  value  )  [pure virtual]
 

Sets the number of bands/channels contained in the raster image.

Returns:
Returns nothing.

virtual FDO_API void FdoIRaster::SetStreamReader FdoIStreamReader reader  )  [pure virtual]
 

Set the source of image data. Image data is shipped using a paradigm similar to BLOB I/O. When inserting or updating an object with a raster property, the SetStreamReader method provides a means to set a FdoIStreamReader callback. On execution of an insert or update command, requests are made on the reader for the image data (which is supplied by the FDO client application). The format of the image data expected is determined by the DataModel property. The data type, bit depth, tiling and organization specify the meaning of the image data. By setting the DataModel property prior to setting a reader for the data, the FDO client application can control the way data is understood by, the FDO raster subsystem.

virtual FDO_API void FdoIRaster::SetVerticalUnits FdoString units  )  [pure virtual]
 

Sets the Vertical Unit of Measure corresponding to the Raster Band.

Parameters:
units The Unit of Measure type for the current band. The units string value corresponds to a Unit of Measure supported through the FdoIGetMeasureUnits command.

The documentation for this class was generated from the following file:
Comments or suggestions? Send us feedback.