FDO .NET API Reference Feature Data Objects
Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

OSGeo::FDO::Raster::IRasterImp Class Reference

Inherits OSGeo::FDO::Runtime::Disposable, and OSGeo::FDO::Raster::OSGeo::FDO::Raster::IRaster.

Inheritance diagram for OSGeo::FDO::Raster::IRasterImp:

[legend]
List of all members.

Detailed Description

IRasterImp 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 IoStreamReader class can be interpreted.


Public Member Functions

__property System::Byte get_Bounds ()[]
 Get the minimum bounding box around the curent band of the image.
__property System::Int32 get_CurrentBand ()
 Gets the currently active band/channel.
__property OSGeo::FDO::Raster::RasterDataModelget_DataModel ()
 Gets the data model in use by this raster property.
__property System::Int32 get_ImageXSize ()
 Gets the size of image file in the horizontal direction in pixels (number of columns).
__property System::Int32 get_ImageYSize ()
 Gets the size of image file in the vertical direction in pixels (number of rows).
__property OSGeo::FDO::Expression::DataValueget_NullPixelValue ()
 Gets the pixel value that represents a NULL value in the available raster stream.
__property System::Int32 get_NumberOfBands ()
 Gets the number of bands/channels contained in the raster image.
__property OSGeo::FDO::Common::IStreamReaderImpget_StreamReader ()
 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 IStreamReader from which the client may request the image data. 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.

__property System::String * get_VerticalUnits ()
 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 IGetMeasureUnits command.
OSGeo::FDO::Raster::IRasterPropertyDictionaryGetAuxiliaryProperties ()
 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 DataValue object to accommodate various data types, boolean, integer, double, string, etc.
 IRasterImp (System::IntPtr unmanaged, System::Boolean autoDelete)
 Constructs a IRasterImp object based on an unmanaged instance of the object.
System::Boolean IsNull ()
 Returns true if the IRaster represents a null value.
__property System::Void set_Bounds (System::Byte bounds[])
 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).
__property System::Void set_CurrentBand (System::Int32 value)
 Sets the currently active band/channel.
__property System::Void set_DataModel (OSGeo::FDO::Raster::RasterDataModel *dataModel)
 Sets the data model used by this raster property. Allowed values are only those data models that are acceptable to the SupportsDataModel capability.
__property System::Void set_ImageXSize (System::Int32 size)
 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 IRaster 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).

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.

__property System::Void set_ImageYSize (System::Int32 size)
 Sets the size of image file in the vertical direction in pixels (number of rows). See SetImageXSize.
__property System::Void set_NumberOfBands (System::Int32 value)
 Sets the number of bands/channels contained in the raster image.
__property System::Void set_StreamReader (OSGeo::FDO::Common::IStreamReaderImp *reader)
 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 IStreamReader 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.
__property System::Void set_VerticalUnits (System::String *units)
 Sets the Vertical Unit of Measure corresponding to the Raster Band.
System::Void SetNull ()
 Sets the IRaster to a null value.

Protected Member Functions

System::Void ReleaseUnmanagedObject ()
 DOXYGEN-IGNORE

Constructor & Destructor Documentation

OSGeo::FDO::Raster::IRasterImp::IRasterImp System::IntPtr  unmanaged,
System::Boolean  autoDelete
 

Constructs a IRasterImp object based on an unmanaged instance of the object.

Parameters:
unmanaged Input A Pointer to the unmanaged object.
autoDelete Input Indicates if the constructed object should be automatically deleted once it no longer referenced.

Member Function Documentation

__property System::Byte OSGeo::FDO::Raster::IRasterImp::get_Bounds  ) 
 

Get the minimum bounding box around the curent band of the image.

Returns:
Returns the bounds of the raster image

__property System::Int32 OSGeo::FDO::Raster::IRasterImp::get_CurrentBand  ) 
 

Gets the currently active band/channel.

Remarks:
IRaster Bounds, DataModel, ImageSize, AuxilliaryProperties and Stream accessors all conform to the current band.
Returns:
Returns the current active band/channel.

__property OSGeo ::FDO ::Raster ::RasterDataModel* OSGeo::FDO::Raster::IRasterImp::get_DataModel  ) 
 

Gets the data model in use by this raster property.

Returns:
Returns the current data model.

__property System::Int32 OSGeo::FDO::Raster::IRasterImp::get_ImageXSize  ) 
 

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).

__property System::Int32 OSGeo::FDO::Raster::IRasterImp::get_ImageYSize  ) 
 

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).

__property OSGeo ::FDO ::Expression ::DataValue* OSGeo::FDO::Raster::IRasterImp::get_NullPixelValue  ) 
 

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(RasterDataModel* 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 DataType value that can be used to identify the Null value.

__property System::Int32 OSGeo::FDO::Raster::IRasterImp::get_NumberOfBands  ) 
 

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

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

__property OSGeo ::FDO ::Common ::IStreamReaderImp* OSGeo::FDO::Raster::IRasterImp::get_StreamReader  ) 
 

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 IStreamReader from which the client may request the image data. 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.

__property System::String* OSGeo::FDO::Raster::IRasterImp::get_VerticalUnits  ) 
 

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 IGetMeasureUnits command.

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

OSGeo ::FDO ::Raster ::IRasterPropertyDictionary* OSGeo::FDO::Raster::IRasterImp::GetAuxiliaryProperties  ) 
 

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 DataValue object to accommodate various data types, boolean, integer, double, string, etc.

Returns:
The dictionary of auxilliary raster properties.

System::Boolean OSGeo::FDO::Raster::IRasterImp::IsNull  ) 
 

Returns true if the IRaster represents a null value.

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

System::Void OSGeo::FDO::Raster::IRasterImp::ReleaseUnmanagedObject  )  [protected, virtual]
 

DOXYGEN-IGNORE

Reimplemented from OSGeo::FDO::Runtime::Disposable.

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_Bounds System::Byte  bounds[]  ) 
 

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).

Parameters:
bounds The new bounds of the raster image.

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_CurrentBand System::Int32  value  ) 
 

Sets the currently active band/channel.

Remarks:
Setting the current band will mean that the Bounds, DataModel, ImageSize, AuxilliaryProperties and Stream accessors of IRaster will all switch to the specified band.
Returns:
Returns nothing.

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_DataModel OSGeo::FDO::Raster::RasterDataModel dataModel  ) 
 

Sets the data model used by this raster property. Allowed values are only those data models that are acceptable to the SupportsDataModel capability.

Remarks:
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.

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_ImageXSize System::Int32  size  ) 
 

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 IRaster 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).

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).

__property System ::Void OSGeo::FDO::Raster::IRasterImp::set_ImageYSize System::Int32  size  ) 
 

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).

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_NumberOfBands System::Int32  value  ) 
 

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

Returns:
Returns nothing.

__property System ::Void OSGeo::FDO::Raster::IRasterImp::set_StreamReader OSGeo::FDO::Common::IStreamReaderImp reader  ) 
 

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 IStreamReader 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.

__property System::Void OSGeo::FDO::Raster::IRasterImp::set_VerticalUnits System::String *  units  ) 
 

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 IGetMeasureUnits command.

System::Void OSGeo::FDO::Raster::IRasterImp::SetNull  ) 
 

Sets the IRaster to a null value.

Returns:
Returns nothing

Comments or suggestions? Send us feedback.