[Gvsig_desarrolladores] exportar raster en bloques

Oscar Garcia oscarg en dielmo.com
Mie Ene 14 18:21:25 CET 2009


Hola Nacho, al fin he conseguido leer desde otros raster como ecw, tif y jpg
(que son los que probe). Ahora mi problema sigue siendo que las capas siguen
guardandose con las bandas volteadas. Es decir que cambia la banda R por la
B. Este problema creo que es del "WriterBufferServer". De hecho probando con
la funcion de la librería "cms.jar" RasterBuf.save(sFilename, extension) ya
me da ese problema de salvado de capas con las bandas volteadas. Es posible
arreglar este problema de una forma más o menos sencilla o me tendría que
escribir mi propio "IDataWriter" cosa que no entiendo muy bien.

Gracias de nuevo.

-----Mensaje original-----
De: gvsig_desarrolladores-bounces en runas.cap.gva.es
[mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Nacho
Brodin
Enviado el: miércoles, 14 de enero de 2009 8:25
Para: gvsig_desarrolladores en runas.cap.gva.es
Asunto: Re: [Gvsig_desarrolladores] exportar raster en bloques

Hola
Te comento un par de cosas por si te son de utilidad.

Normalmente se exporta por bloques para evitar cargar todo el raster en 
memoria cuando este es muy grande. Has de tener en cuenta que si cargas el 
Grid de golpe antes de empezar te estás limitando la cantidad de datos
leídos. 
Lo recomendable sería que el servidor de datos leyera solo de la fuente de 
datos el trozo que se le pide en cada momento. Si los trozos a exportar van
a 
ser siempre pequeños pues no tendrás este problema.

Con respecto a excepción con writeByteBand lo único que se me ocurre, viendo

el código que pones es que nbands no sea correcto. Si vas a escribir el
mismo 
número de bandas que el buffer de entrada haz un buf.getBandCount() (creo
que 
se llama así) en la creación de GeoRasterWriter. Otra posibilidad es que el 
tipo de dato de la entrada no sea compatible con el de la salida pero por tu

código no parece que vaya ser ese el problema.

Saludos.

On Tuesday 13 January 2009 17:43:26 Oscar Garcia wrote:
> Hola nacho, gracias por tu contestación de ayer. Estuve profundizando y
con
> este código de más abajo e llegado a exportar teniendo capas de entrada en
> ECW, pero cuando es de otro tipo como Tif me salta una excepción en la
> clase GdalWriter la función writeByteBand.
>
> Aparte de eso para entradas ECW me recorta bien pero me cambia la banda R
> por la banda B.
>
> Estoy echo un lió. Bueno gracias más abajo dejo el código.
>
>
> File InputRasterFile = new File(InputRasterFileName);
> RasterDriver rasterDriver = (RasterDriver)
> LayerFactory.getDM().getDriver("gvSIG Image Driver");
> FLyrRaster capaRaster = LayerFactory.createLayer("prueba", rasterDriver,
> InputRasterFile, Project.getDefaultProjection());
>
> Grid grid = capaRaster.getGrid();
> Extent ext = new Extent(grid.getExtent());
> grid.setAreaOfInterest(ext.getMin().getX(),
> ext.getMax().getY(),ancho,alto); RasterBuf buf = grid.getRasterBuf();
>
> // salvado a geoRaster
> String sFilename = folder_out + "prueba."+Outextension;
> ext = new Extent(grid.getDataExtent());
> IDataWriter dataWriter = new WriterBufferServer(buf);
> GeoRasterWriter grw = GeoRasterWriter.getWriter(dataWriter, sFilename,
> buf.getHeight(), nbands, ext,	10, buf.getWidth(), buf.getHeight(),
> buf.getDataType());
>
> grw.dataWrite();
> grw.writeClose();

-- 
Nacho Brodin
Grupo desarrollo gvSIG.
IVER TI S.A.
C/ Lérida, 20
46005-Valencia
www.iver.es
www.gvsig.com

Este mensaje y sus archivos son confidenciales. No está permitida su
reproducción o distribución sin la autorización expresa de "IVER Tecnologías
de la Información". Si usted no es el destinatario previsto, queda
desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido
este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.



_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en runas.cap.gva.es
http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores


-- 
No virus found in this incoming message.
Checked by AVG. 
Version: 7.5.552 / Virus Database: 270.10.7/1892 - Release Date: 13/01/2009
20:04





Más información sobre la lista de distribución gvSIG_desarrolladores