Funcionalidad de librería
Lectura de datos
La lectura de datos de origen se realiza a través de la clase BufferFactory. A esta se le pasa un MultiRasterDataset como parámetro y se seleccionará el área, tamaño, número y posición de bandas del buffer a cargar. También se seleccionará un método de interpolación para la salida. El resultado de esta operación será un objeto IBuffer con los datos de origen cargados.
Escritura de datos
La escritura será realizada por la clase de la librería GeoRasterWriter. Esta seleccionará el driver de escritura más adecuado. Como servidor de datos para GeoRasterWriter se utiliza la clase RasterizeLayer, esta clase se encuentra a nivel de cliente.
Cuando se instancia el escritor se asignan los parámetros de escritura. Estos son: objeto IDataWriter que en nuestro caso es RasterizeLayer (implementa IDataWriter), la ruta del fichero de salida, número de bandas de este, objeto Extent para la georreferenciación, tamaño en ancho y alto, tipo de datos de salida y parámetros para la escritura. Los parámetros de escritura son un objeto WriterParams que tienen unos valores por defecto. Este es ofrecido por el driver pero estos valores podrán ser modificados por el cliente.
El proceso de escritura es realizado por el método dataWrite(). Este a partir del tipo de dato y el objeto IDataWriter va escribiendo la salida. IDataWriter actua como un servidor de datos cuando el driver escritor los va solicitando. Los datos de entrada son divididos en bloques de tamaño blockSize (definido en RasterLibrary). Cada vez se escribe de golpe un bloque. Al acabar la escritura de un bloque el driver solicita el siguiente a IDataWriter.