Dear all,
I need to pass around the results of my coverage processing (a 
Coverage2D, or a geotiff, both are acceptable)  through an XML (as a 
xsd:base64Binary). The coverages will be VERY small.

In order to do that, I need to serialize the object (the coverage). I 
have found some code doing something like that:
    public static byte[] toBytes(Object object){
        java.io.ByteArrayOutputStream baos = new 
java.io.ByteArrayOutputStream();
        try{
            java.io.ObjectOutputStream oos = new 
java.io.ObjectOutputStream(baos);
            oos.writeObject(object);
        }catch(java.io.IOException ioe){
        }
        return baos.toByteArray();
    }

But it does not seem to work with coverages:
Exception in thread "main" java.lang.IllegalArgumentException: No 
Serializers available for the ColorModel.
    at 
javax.media.jai.remote.SerializableRenderedImage.<init>(SerializableRenderedImage.java:507)
    at 
javax.media.jai.remote.SerializableRenderedImage.<init>(SerializableRenderedImage.java:390)
    at 
org.geotools.coverage.grid.GridCoverage2D.writeObject(GridCoverage2D.java:1034)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at 
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
    at 
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
    at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at ch.uzh.geo.tomko.service.VService.toBytes(VService.java:492)

It seems that specific serializers are invoked for the rendered image. 
Can anyone please point me to a solution? Note that my coverage 
currently does not have a color model assigned (it has only 6 values - 
In general I need it for DEMs etc...). I tried to set the coverage 
ViewType to Geophysics or Rendered, but that did not help.
I need the actual values of the cells to be preserved in the output.

Thank for any help,
Martin


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and 
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today. 
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to