Reading a GeoTiff from an InputStream?

12 messages Options
Embed this post
Permalink
Jon Britton

Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hi,

I've got a working(ish) WCS client, now I'm wondering if it's possible to load a GridCoverage2D directly from the InputStream I get as a response to a GetCoverage request?  Just GeoTIFF would do fine for now, but I can only find how to load one from a file, not directly from an InputStream.

Thanks,

Jon
Dinomir

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hi Jon,
I have implemented a WCS client recently, and this is my approach. BTW,
for parsing getcapabilities I used the deegree.jar, I found it quite
convenient...
Let me know if you have a pure geotools solution, I would be very
interested.

I read the output of the WCS in as a buffered image, create a
GridCoverage2D (method attached), which you can later easily convert to
geoTiff...
/**
     * @author Martin Tomko, University of Zurich.
     * @param url the OGC compliant getCoverage URL
     * @param featenv ReferencedEnvelope of the query geometry
(identical to the bbox + crs combination from the URL). Used to create
the GridCoveerage2D
     * @return GridCoverage2D coverage
     */
    public static GridCoverage2D getCoverage (URL url,
ReferencedEnvelope featenv){
        BufferedImage image = null;

//some hack to deal with server timeouts, sourced from the Web.
        if
(System.getProperty("sun.net.client.defaultConnectTimeout").equals(null)) {
            System.setProperty("sun.net.client.defaultConnectTimeout",
                    ""+30000);
            System.out.println("set timeout1");
        } else {
            // Warn if too large
            if (Integer.getInteger("sun.net.client.defaultConnectTimeout")
                    .intValue() > 120000) {
                System.out.println("sun.net.client.defaultConnectTimeout
value "
                        + "un-wisely exceeds 2 minutes.");
                System.out.println("timeout1 large already ");
            }
        }

        if
(System.getProperty("sun.net.client.defaultReadTimeout").equals(null)) {
            System.setProperty("sun.net.client.defaultReadTimeout",
                    ""+30000);
            System.out.println("set timeout2");
        } else {
            // Warn if too large
            if (Integer.getInteger("sun.net.client.defaultReadTimeout")
                    .intValue() > 120000) {
                System.out.println("sun.net.client.defaultReadTimeout
value "
                        + "un-wisely exceeds 2 minutes.");
                System.out.println("timeout2 large already ");
            }
        }
        //image = ImageIO.read(input); //this should be possible, runs
if deployed as a local application, but triggers errors if deployed as a
axis" webservice
        //WritableRaster inputRaster = image.getRaster(); //used with
previous line...


        RenderedImage renderedimage = JAI.create("url", url); //this is
a workaround that works fine
        GridCoverageFactory gcFactory = new GridCoverageFactory();
        GridCoverage2D gc = gcFactory.create("inputraster",
renderedimage,featenv);
        return gc;
    }


You can then save the coverage to a GeoTiff as follows:
File myFile
GeoTiffWriter writer = new GeoTiffWriter(myFile);
writer.write(gc, null);

but for processing you already have the GridCoverage2D, which is what
you probably want.

Hope that helps,
Martin

--
Martin Tomko
Postdoctoral Research Assistant
   
Geographic Information Systems Division
Department of Geography
University of Zurich - Irchel
Winterthurerstr. 190
CH-8057 Zurich, Switzerland

email: [hidden email]
site: http://www.geo.uzh.ch/~mtomko
mob: +41-788 629 558
tel: +41-44-6355256
fax: +41-44-6356848



------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Gabriel Roldan

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
In reply to this post by Jon Britton
By looking at the code it seems you can just do:
InputStream in = ...
GeotiffReader reader = new GeotiffReader(in);
RenderedImage image =
((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);

cheers,
Gabriel

> Hi,
>
> I've got a working(ish) WCS client, now I'm wondering if it's possible to
> load a GridCoverage2D directly from the InputStream I get as a response to a
> GetCoverage request?  Just GeoTIFF would do fine for now, but I can only
> find how to load one from a file, not directly from an InputStream.
>
> Thanks,
>
> Jon


--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Jon Britton

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hi,

I was trying this:

reader = new GeoTiffReader(this.getInputStream());
GridCoverage2D image = (GridCoverage2D)reader.read(null);

However, I get a number of exceptions:

Error while parsing JAI registry file "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai" :
Error in registry file at line number #31
A descriptor is already registered against the name "org.geotools.Combine" under registry mode "rendered"
Error in registry file at line number #32
A descriptor is already registered against the name "org.geotools.Hysteresis" under registry mode "rendered"
Error in registry file at line number #33
A descriptor is already registered against the name "org.geotools.NodataFilter" under registry mode "rendered"
Error: One factory fails for the operation "ImageRead"
Occurs in: javax.media.jai.ThreadSafeOperationRegistry
java.lang.reflect.InvocationTargetException
        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:585)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
        at org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
        ... 14 more
Caused by: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
        ... 14 more
Caused by: java.io.EOFException
        at javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
        at javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
        ... 20 more
Exception in thread "main" javax.media.jai.util.ImagingException: All factories fail for the operation "ImageRead"
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
        at org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
Caused by: java.lang.reflect.InvocationTargetException
        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:585)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        ... 8 more
Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
        ... 14 more
Caused by: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
        ... 14 more
Caused by: java.io.EOFException
        at javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
        at javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
        ... 20 more
Caused by:
java.lang.reflect.InvocationTargetException
        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:585)
        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
        at javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
        at javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
        at org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
        ... 14 more
Caused by: javax.imageio.IIOException: I/O error reading image metadata!
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
        at com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
        at com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
        ... 14 more
Caused by: java.io.EOFException
        at javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
        at javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
        at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
        ... 20 more


Gabriel Roldan wrote:
By looking at the code it seems you can just do:
InputStream in = ...
GeotiffReader reader = new GeotiffReader(in);
RenderedImage image =
((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);

cheers,
Gabriel

> Hi,
>
> I've got a working(ish) WCS client, now I'm wondering if it's possible to
> load a GridCoverage2D directly from the InputStream I get as a response to a
> GetCoverage request?  Just GeoTIFF would do fine for now, but I can only
> find how to load one from a file, not directly from an InputStream.
>
> Thanks,
>
> Jon


--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Simone Giannecchini

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Ciao Jon,
this error happens sometimes in eclispe when you mess up the jai
installation  and the geotools jai registration file get loaded
multiple times.
Can you give me a bit of more information on what you are doing do
that I can help out (also with the geotiff thing :-)).

Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<[hidden email]> wrote:

>
> Hi,
>
> I was trying this:
>
> reader = new GeoTiffReader(this.getInputStream());
> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>
> However, I get a number of exceptions:
>
> Error while parsing JAI registry file
> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
> :
> Error in registry file at line number #31
> A descriptor is already registered against the name "org.geotools.Combine"
> under registry mode "rendered"
> Error in registry file at line number #32
> A descriptor is already registered against the name
> "org.geotools.Hysteresis" under registry mode "rendered"
> Error in registry file at line number #33
> A descriptor is already registered against the name
> "org.geotools.NodataFilter" under registry mode "rendered"
> Error: One factory fails for the operation "ImageRead"
> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
> java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
> Exception in thread "main" javax.media.jai.util.ImagingException: All
> factories fail for the operation "ImageRead"
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        ... 8 more
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
> Caused by:
> java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
>
>
>
> Gabriel Roldan wrote:
>>
>> By looking at the code it seems you can just do:
>> InputStream in = ...
>> GeotiffReader reader = new GeotiffReader(in);
>> RenderedImage image =
>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>
>> cheers,
>> Gabriel
>>
>>> Hi,
>>>
>>> I've got a working(ish) WCS client, now I'm wondering if it's possible to
>>> load a GridCoverage2D directly from the InputStream I get as a response
>>> to a
>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can only
>>> find how to load one from a file, not directly from an InputStream.
>>>
>>> Thanks,
>>>
>>> Jon
>>
>>
>> --
>> Gabriel Roldan
>> OpenGeo - http://opengeo.org
>> Expert service straight from the developers.
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports - New Free Runtime and 30 Day Trial
>> Check out the new simplified licensing option that enables unlimited
>> royalty-free distribution of the report engine for externally facing
>> server and web deployment.
>> http://p.sf.net/sfu/businessobjects
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Jon Britton

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hey,

I've just realised I've probably got JAI installed on my system as normal, but I've also got it in my POM.  Could that cause this problem?

Thanks,

Jon

Simone Giannecchini wrote:
Ciao Jon,
this error happens sometimes in eclispe when you mess up the jai
installation  and the geotools jai registration file get loaded
multiple times.
Can you give me a bit of more information on what you are doing do
that I can help out (also with the geotiff thing :-)).

Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>
> Hi,
>
> I was trying this:
>
> reader = new GeoTiffReader(this.getInputStream());
> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>
> However, I get a number of exceptions:
>
> Error while parsing JAI registry file
> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
> :
> Error in registry file at line number #31
> A descriptor is already registered against the name "org.geotools.Combine"
> under registry mode "rendered"
> Error in registry file at line number #32
> A descriptor is already registered against the name
> "org.geotools.Hysteresis" under registry mode "rendered"
> Error in registry file at line number #33
> A descriptor is already registered against the name
> "org.geotools.NodataFilter" under registry mode "rendered"
> Error: One factory fails for the operation "ImageRead"
> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
> java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
> Exception in thread "main" javax.media.jai.util.ImagingException: All
> factories fail for the operation "ImageRead"
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        ... 8 more
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
> Caused by:
> java.lang.reflect.InvocationTargetException
>        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:585)
>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>        at
> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>        at
> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>        at javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>        at org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>        at
> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O error
> reading image metadata!
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>        ... 14 more
> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>        at
> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>        at
> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>        ... 14 more
> Caused by: java.io.EOFException
>        at
> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>        at
> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>        at
> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>        ... 20 more
>
>
>
> Gabriel Roldan wrote:
>>
>> By looking at the code it seems you can just do:
>> InputStream in = ...
>> GeotiffReader reader = new GeotiffReader(in);
>> RenderedImage image =
>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>
>> cheers,
>> Gabriel
>>
>>> Hi,
>>>
>>> I've got a working(ish) WCS client, now I'm wondering if it's possible to
>>> load a GridCoverage2D directly from the InputStream I get as a response
>>> to a
>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can only
>>> find how to load one from a file, not directly from an InputStream.
>>>
>>> Thanks,
>>>
>>> Jon
>>
>>
>> --
>> Gabriel Roldan
>> OpenGeo - http://opengeo.org
>> Expert service straight from the developers.
>>
>> ------------------------------------------------------------------------------
>> Crystal Reports - New Free Runtime and 30 Day Trial
>> Check out the new simplified licensing option that enables unlimited
>> royalty-free distribution of the report engine for externally facing
>> server and web deployment.
>> http://p.sf.net/sfu/businessobjects
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> Geotools-gt2-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> Geotools-gt2-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Simone Giannecchini

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
It might be loaded twice, especially if it is deployed in ext/libs of your jdk.
Are running things from eclipse?


Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<[hidden email]> wrote:

>
> Hey,
>
> I've just realised I've probably got JAI installed on my system as normal,
> but I've also got it in my POM.  Could that cause this problem?
>
> Thanks,
>
> Jon
>
>
> Simone Giannecchini wrote:
>>
>> Ciao Jon,
>> this error happens sometimes in eclispe when you mess up the jai
>> installation  and the geotools jai registration file get loaded
>> multiple times.
>> Can you give me a bit of more information on what you are doing do
>> that I can help out (also with the geotiff thing :-)).
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> I was trying this:
>>>
>>> reader = new GeoTiffReader(this.getInputStream());
>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>
>>> However, I get a number of exceptions:
>>>
>>> Error while parsing JAI registry file
>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>> :
>>> Error in registry file at line number #31
>>> A descriptor is already registered against the name
>>> "org.geotools.Combine"
>>> under registry mode "rendered"
>>> Error in registry file at line number #32
>>> A descriptor is already registered against the name
>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>> Error in registry file at line number #33
>>> A descriptor is already registered against the name
>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>> Error: One factory fails for the operation "ImageRead"
>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>> java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>> factories fail for the operation "ImageRead"
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        ... 8 more
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>> Caused by:
>>> java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>>
>>>
>>>
>>> Gabriel Roldan wrote:
>>>>
>>>> By looking at the code it seems you can just do:
>>>> InputStream in = ...
>>>> GeotiffReader reader = new GeotiffReader(in);
>>>> RenderedImage image =
>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>
>>>> cheers,
>>>> Gabriel
>>>>
>>>>> Hi,
>>>>>
>>>>> I've got a working(ish) WCS client, now I'm wondering if it's possible
>>>>> to
>>>>> load a GridCoverage2D directly from the InputStream I get as a response
>>>>> to a
>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>> only
>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jon
>>>>
>>>>
>>>> --
>>>> Gabriel Roldan
>>>> OpenGeo - http://opengeo.org
>>>> Expert service straight from the developers.
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>> Check out the new simplified licensing option that enables unlimited
>>>> royalty-free distribution of the report engine for externally facing
>>>> server and web deployment.
>>>> http://p.sf.net/sfu/businessobjects
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Jon Britton

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
I've uninstalled JAI and ImageIO from my JDK and tried again, but I get the same problem.

Yes, I'm running from Eclipse.

Thanks,

Jon

Simone Giannecchini wrote:
It might be loaded twice, especially if it is deployed in ext/libs of your jdk.
Are running things from eclipse?


Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>
> Hey,
>
> I've just realised I've probably got JAI installed on my system as normal,
> but I've also got it in my POM.  Could that cause this problem?
>
> Thanks,
>
> Jon
>
>
> Simone Giannecchini wrote:
>>
>> Ciao Jon,
>> this error happens sometimes in eclispe when you mess up the jai
>> installation  and the geotools jai registration file get loaded
>> multiple times.
>> Can you give me a bit of more information on what you are doing do
>> that I can help out (also with the geotiff thing :-)).
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>>>
>>> Hi,
>>>
>>> I was trying this:
>>>
>>> reader = new GeoTiffReader(this.getInputStream());
>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>
>>> However, I get a number of exceptions:
>>>
>>> Error while parsing JAI registry file
>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>> :
>>> Error in registry file at line number #31
>>> A descriptor is already registered against the name
>>> "org.geotools.Combine"
>>> under registry mode "rendered"
>>> Error in registry file at line number #32
>>> A descriptor is already registered against the name
>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>> Error in registry file at line number #33
>>> A descriptor is already registered against the name
>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>> Error: One factory fails for the operation "ImageRead"
>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>> java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>> factories fail for the operation "ImageRead"
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        ... 8 more
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>> Caused by:
>>> java.lang.reflect.InvocationTargetException
>>>        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:585)
>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>        at
>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>        at
>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>        at
>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>        at
>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>        at
>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>> error
>>> reading image metadata!
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>        ... 14 more
>>> Caused by: javax.imageio.IIOException: I/O error reading image metadata!
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>        at javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>        at
>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>        ... 14 more
>>> Caused by: java.io.EOFException
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>        at
>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>        at
>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>        ... 20 more
>>>
>>>
>>>
>>> Gabriel Roldan wrote:
>>>>
>>>> By looking at the code it seems you can just do:
>>>> InputStream in = ...
>>>> GeotiffReader reader = new GeotiffReader(in);
>>>> RenderedImage image =
>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>
>>>> cheers,
>>>> Gabriel
>>>>
>>>>> Hi,
>>>>>
>>>>> I've got a working(ish) WCS client, now I'm wondering if it's possible
>>>>> to
>>>>> load a GridCoverage2D directly from the InputStream I get as a response
>>>>> to a
>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>> only
>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jon
>>>>
>>>>
>>>> --
>>>> Gabriel Roldan
>>>> OpenGeo - http://opengeo.org
>>>> Expert service straight from the developers.
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>> Check out the new simplified licensing option that enables unlimited
>>>> royalty-free distribution of the report engine for externally facing
>>>> server and web deployment.
>>>> http://p.sf.net/sfu/businessobjects
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> Geotools-gt2-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> Geotools-gt2-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> Geotools-gt2-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> Geotools-gt2-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Simone Giannecchini

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Ciao Jon,
can you check if you have, by accident, added the coverage module
twice to your project, as an instace jar + eclipse project itself.

Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Tue, Jun 30, 2009 at 1:02 PM, Jon Britton<[hidden email]> wrote:

>
> I've uninstalled JAI and ImageIO from my JDK and tried again, but I get the
> same problem.
>
> Yes, I'm running from Eclipse.
>
> Thanks,
>
> Jon
>
>
> Simone Giannecchini wrote:
>>
>> It might be loaded twice, especially if it is deployed in ext/libs of your
>> jdk.
>> Are running things from eclipse?
>>
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<[hidden email]> wrote:
>>>
>>> Hey,
>>>
>>> I've just realised I've probably got JAI installed on my system as
>>> normal,
>>> but I've also got it in my POM.  Could that cause this problem?
>>>
>>> Thanks,
>>>
>>> Jon
>>>
>>>
>>> Simone Giannecchini wrote:
>>>>
>>>> Ciao Jon,
>>>> this error happens sometimes in eclispe when you mess up the jai
>>>> installation  and the geotools jai registration file get loaded
>>>> multiple times.
>>>> Can you give me a bit of more information on what you are doing do
>>>> that I can help out (also with the geotiff thing :-)).
>>>>
>>>> Simone.
>>>> -------------------------------------------------------
>>>> Ing. Simone Giannecchini
>>>> GeoSolutions S.A.S.
>>>> Owner - Software Engineer
>>>> Via Carignoni 51
>>>> 55041  Camaiore (LU)
>>>> Italy
>>>>
>>>> phone: +39 0584983027
>>>> fax:      +39 0584983027
>>>> mob:    +39 333 8128928
>>>>
>>>>
>>>> http://www.geo-solutions.it
>>>> http://simboss.blogspot.com/
>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>
>>>> -------------------------------------------------------
>>>>
>>>>
>>>>
>>>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<[hidden email]>
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I was trying this:
>>>>>
>>>>> reader = new GeoTiffReader(this.getInputStream());
>>>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>>>
>>>>> However, I get a number of exceptions:
>>>>>
>>>>> Error while parsing JAI registry file
>>>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>>>> :
>>>>> Error in registry file at line number #31
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.Combine"
>>>>> under registry mode "rendered"
>>>>> Error in registry file at line number #32
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>>>> Error in registry file at line number #33
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>>>> Error: One factory fails for the operation "ImageRead"
>>>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>>>> java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>>>> factories fail for the operation "ImageRead"
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        ... 8 more
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>> Caused by:
>>>>> java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>>
>>>>>
>>>>>
>>>>> Gabriel Roldan wrote:
>>>>>>
>>>>>> By looking at the code it seems you can just do:
>>>>>> InputStream in = ...
>>>>>> GeotiffReader reader = new GeotiffReader(in);
>>>>>> RenderedImage image =
>>>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>>>
>>>>>> cheers,
>>>>>> Gabriel
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've got a working(ish) WCS client, now I'm wondering if it's
>>>>>>> possible
>>>>>>> to
>>>>>>> load a GridCoverage2D directly from the InputStream I get as a
>>>>>>> response
>>>>>>> to a
>>>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>>>> only
>>>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Jon
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Gabriel Roldan
>>>>>> OpenGeo - http://opengeo.org
>>>>>> Expert service straight from the developers.
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>>>> Check out the new simplified licensing option that enables unlimited
>>>>>> royalty-free distribution of the report engine for externally facing
>>>>>> server and web deployment.
>>>>>> http://p.sf.net/sfu/businessobjects
>>>>>> _______________________________________________
>>>>>> Geotools-gt2-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> _______________________________________________
>>>>> Geotools-gt2-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181518.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Jon Britton

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hi,

No, I've got it in my POM but I don't have the eclipse project in my build path.  However, I do have gt-xsd-wcs (my own slightly modified version) in my build path, which has gt-coverage is IT'S build path... would this have any effect?

Also, when I try and write my coverage to a file (rather than directly into a GridCoverage2D) I still get the "A descriptor is already registered against the name..." errors.  However, I seem to be able to load the coverage without any problem so now I'm wondering if my JAI problem is actually causing the exception I got previously.

Thanks,

Jon


Simone Giannecchini wrote:
Ciao Jon,
can you check if you have, by accident, added the coverage module
twice to your project, as an instace jar + eclipse project itself.

Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Tue, Jun 30, 2009 at 1:02 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>
> I've uninstalled JAI and ImageIO from my JDK and tried again, but I get the
> same problem.
>
> Yes, I'm running from Eclipse.
>
> Thanks,
>
> Jon
>
>
> Simone Giannecchini wrote:
>>
>> It might be loaded twice, especially if it is deployed in ext/libs of your
>> jdk.
>> Are running things from eclipse?
>>
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>>>
>>> Hey,
>>>
>>> I've just realised I've probably got JAI installed on my system as
>>> normal,
>>> but I've also got it in my POM.  Could that cause this problem?
>>>
>>> Thanks,
>>>
>>> Jon
>>>
>>>
>>> Simone Giannecchini wrote:
>>>>
>>>> Ciao Jon,
>>>> this error happens sometimes in eclispe when you mess up the jai
>>>> installation  and the geotools jai registration file get loaded
>>>> multiple times.
>>>> Can you give me a bit of more information on what you are doing do
>>>> that I can help out (also with the geotiff thing :-)).
>>>>
>>>> Simone.
>>>> -------------------------------------------------------
>>>> Ing. Simone Giannecchini
>>>> GeoSolutions S.A.S.
>>>> Owner - Software Engineer
>>>> Via Carignoni 51
>>>> 55041  Camaiore (LU)
>>>> Italy
>>>>
>>>> phone: +39 0584983027
>>>> fax:      +39 0584983027
>>>> mob:    +39 333 8128928
>>>>
>>>>
>>>> http://www.geo-solutions.it
>>>> http://simboss.blogspot.com/
>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>
>>>> -------------------------------------------------------
>>>>
>>>>
>>>>
>>>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<jbritton@glam.ac.uk>
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I was trying this:
>>>>>
>>>>> reader = new GeoTiffReader(this.getInputStream());
>>>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>>>
>>>>> However, I get a number of exceptions:
>>>>>
>>>>> Error while parsing JAI registry file
>>>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>>>> :
>>>>> Error in registry file at line number #31
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.Combine"
>>>>> under registry mode "rendered"
>>>>> Error in registry file at line number #32
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>>>> Error in registry file at line number #33
>>>>> A descriptor is already registered against the name
>>>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>>>> Error: One factory fails for the operation "ImageRead"
>>>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>>>> java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>>>> factories fail for the operation "ImageRead"
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        ... 8 more
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>> Caused by:
>>>>> java.lang.reflect.InvocationTargetException
>>>>>        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:585)
>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>        at
>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>        at
>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>        at
>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>        at
>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>        at
>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>        at
>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException: I/O
>>>>> error
>>>>> reading image metadata!
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>        ... 14 more
>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>> metadata!
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>        at
>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>        at
>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>        ... 14 more
>>>>> Caused by: java.io.EOFException
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>        at
>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>        at
>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>        ... 20 more
>>>>>
>>>>>
>>>>>
>>>>> Gabriel Roldan wrote:
>>>>>>
>>>>>> By looking at the code it seems you can just do:
>>>>>> InputStream in = ...
>>>>>> GeotiffReader reader = new GeotiffReader(in);
>>>>>> RenderedImage image =
>>>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>>>
>>>>>> cheers,
>>>>>> Gabriel
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I've got a working(ish) WCS client, now I'm wondering if it's
>>>>>>> possible
>>>>>>> to
>>>>>>> load a GridCoverage2D directly from the InputStream I get as a
>>>>>>> response
>>>>>>> to a
>>>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>>>> only
>>>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Jon
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Gabriel Roldan
>>>>>> OpenGeo - http://opengeo.org
>>>>>> Expert service straight from the developers.
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>>>> Check out the new simplified licensing option that enables unlimited
>>>>>> royalty-free distribution of the report engine for externally facing
>>>>>> server and web deployment.
>>>>>> http://p.sf.net/sfu/businessobjects
>>>>>> _______________________________________________
>>>>>> Geotools-gt2-users mailing list
>>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> _______________________________________________
>>>>> Geotools-gt2-users mailing list
>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> Geotools-gt2-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> Geotools-gt2-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> Geotools-gt2-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181518.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> Geotools-gt2-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Simone Giannecchini

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Ciao Jon,
please read below...
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Tue, Jun 30, 2009 at 1:26 PM, Jon Britton<[hidden email]> wrote:
>
> Hi,
>
> No, I've got it in my POM but I don't have the eclipse project in my build
> path.  However, I do have gt-xsd-wcs (my own slightly modified version) in
> my build path, which has gt-coverage is IT'S build path... would this have
> any effect?

If gt-xsd-wxs is added as a project, I think that would cause the
problem. As a jar, I would say no, but I would have to think harder
problably :-).
This definitely looks like a classpath problem.

Simone.


>
> Also, when I try and write my coverage to a file (rather than directly into
> a GridCoverage2D) I still get the "A descriptor is already registered
> against the name..." errors.  However, I seem to be able to load the
> coverage without any problem so now I'm wondering if my JAI problem is
> actually causing the exception I got previously.

I think so.

>
> Thanks,
>
> Jon
>
>
>
> Simone Giannecchini wrote:
>>
>> Ciao Jon,
>> can you check if you have, by accident, added the coverage module
>> twice to your project, as an instace jar + eclipse project itself.
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Tue, Jun 30, 2009 at 1:02 PM, Jon Britton<[hidden email]> wrote:
>>>
>>> I've uninstalled JAI and ImageIO from my JDK and tried again, but I get
>>> the
>>> same problem.
>>>
>>> Yes, I'm running from Eclipse.
>>>
>>> Thanks,
>>>
>>> Jon
>>>
>>>
>>> Simone Giannecchini wrote:
>>>>
>>>> It might be loaded twice, especially if it is deployed in ext/libs of
>>>> your
>>>> jdk.
>>>> Are running things from eclipse?
>>>>
>>>>
>>>> Simone.
>>>> -------------------------------------------------------
>>>> Ing. Simone Giannecchini
>>>> GeoSolutions S.A.S.
>>>> Owner - Software Engineer
>>>> Via Carignoni 51
>>>> 55041  Camaiore (LU)
>>>> Italy
>>>>
>>>> phone: +39 0584983027
>>>> fax:      +39 0584983027
>>>> mob:    +39 333 8128928
>>>>
>>>>
>>>> http://www.geo-solutions.it
>>>> http://simboss.blogspot.com/
>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>
>>>> -------------------------------------------------------
>>>>
>>>>
>>>>
>>>> On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<[hidden email]> wrote:
>>>>>
>>>>> Hey,
>>>>>
>>>>> I've just realised I've probably got JAI installed on my system as
>>>>> normal,
>>>>> but I've also got it in my POM.  Could that cause this problem?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jon
>>>>>
>>>>>
>>>>> Simone Giannecchini wrote:
>>>>>>
>>>>>> Ciao Jon,
>>>>>> this error happens sometimes in eclispe when you mess up the jai
>>>>>> installation  and the geotools jai registration file get loaded
>>>>>> multiple times.
>>>>>> Can you give me a bit of more information on what you are doing do
>>>>>> that I can help out (also with the geotiff thing :-)).
>>>>>>
>>>>>> Simone.
>>>>>> -------------------------------------------------------
>>>>>> Ing. Simone Giannecchini
>>>>>> GeoSolutions S.A.S.
>>>>>> Owner - Software Engineer
>>>>>> Via Carignoni 51
>>>>>> 55041  Camaiore (LU)
>>>>>> Italy
>>>>>>
>>>>>> phone: +39 0584983027
>>>>>> fax:      +39 0584983027
>>>>>> mob:    +39 333 8128928
>>>>>>
>>>>>>
>>>>>> http://www.geo-solutions.it
>>>>>> http://simboss.blogspot.com/
>>>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>>>
>>>>>> -------------------------------------------------------
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<[hidden email]>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I was trying this:
>>>>>>>
>>>>>>> reader = new GeoTiffReader(this.getInputStream());
>>>>>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>>>>>
>>>>>>> However, I get a number of exceptions:
>>>>>>>
>>>>>>> Error while parsing JAI registry file
>>>>>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>>>>>> :
>>>>>>> Error in registry file at line number #31
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.Combine"
>>>>>>> under registry mode "rendered"
>>>>>>> Error in registry file at line number #32
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>>>>>> Error in registry file at line number #33
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>>>>>> Error: One factory fails for the operation "ImageRead"
>>>>>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>>>>>> factories fail for the operation "ImageRead"
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        ... 8 more
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>> Caused by:
>>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Gabriel Roldan wrote:
>>>>>>>>
>>>>>>>> By looking at the code it seems you can just do:
>>>>>>>> InputStream in = ...
>>>>>>>> GeotiffReader reader = new GeotiffReader(in);
>>>>>>>> RenderedImage image =
>>>>>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>>>>>
>>>>>>>> cheers,
>>>>>>>> Gabriel
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I've got a working(ish) WCS client, now I'm wondering if it's
>>>>>>>>> possible
>>>>>>>>> to
>>>>>>>>> load a GridCoverage2D directly from the InputStream I get as a
>>>>>>>>> response
>>>>>>>>> to a
>>>>>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>>>>>> only
>>>>>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Jon
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Gabriel Roldan
>>>>>>>> OpenGeo - http://opengeo.org
>>>>>>>> Expert service straight from the developers.
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>>>>>> Check out the new simplified licensing option that enables unlimited
>>>>>>>> royalty-free distribution of the report engine for externally facing
>>>>>>>> server and web deployment.
>>>>>>>> http://p.sf.net/sfu/businessobjects
>>>>>>>> _______________________________________________
>>>>>>>> Geotools-gt2-users mailing list
>>>>>>>> [hidden email]
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> _______________________________________________
>>>>>>> Geotools-gt2-users mailing list
>>>>>>> [hidden email]
>>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> _______________________________________________
>>>>>> Geotools-gt2-users mailing list
>>>>>> [hidden email]
>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> _______________________________________________
>>>>> Geotools-gt2-users mailing list
>>>>> [hidden email]
>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181518.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181688.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
Jon Britton

Re: Reading a GeoTiff from an InputStream?

Reply Threaded More More options
Print post
Permalink
Hi again,

Hmmm... I'm not sure how to solve this problem.  Have I got to remove the project from my classpath?

Thanks,

Jon


Simone Giannecchini wrote:
Ciao Jon,
please read below...
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041  Camaiore (LU)
Italy

phone: +39 0584983027
fax:      +39 0584983027
mob:    +39 333 8128928


http://www.geo-solutions.it
http://simboss.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini

-------------------------------------------------------



On Tue, Jun 30, 2009 at 1:26 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>
> Hi,
>
> No, I've got it in my POM but I don't have the eclipse project in my build
> path.  However, I do have gt-xsd-wcs (my own slightly modified version) in
> my build path, which has gt-coverage is IT'S build path... would this have
> any effect?

If gt-xsd-wxs is added as a project, I think that would cause the
problem. As a jar, I would say no, but I would have to think harder
problably :-).
This definitely looks like a classpath problem.

Simone.


>
> Also, when I try and write my coverage to a file (rather than directly into
> a GridCoverage2D) I still get the "A descriptor is already registered
> against the name..." errors.  However, I seem to be able to load the
> coverage without any problem so now I'm wondering if my JAI problem is
> actually causing the exception I got previously.

I think so.

>
> Thanks,
>
> Jon
>
>
>
> Simone Giannecchini wrote:
>>
>> Ciao Jon,
>> can you check if you have, by accident, added the coverage module
>> twice to your project, as an instace jar + eclipse project itself.
>>
>> Simone.
>> -------------------------------------------------------
>> Ing. Simone Giannecchini
>> GeoSolutions S.A.S.
>> Owner - Software Engineer
>> Via Carignoni 51
>> 55041  Camaiore (LU)
>> Italy
>>
>> phone: +39 0584983027
>> fax:      +39 0584983027
>> mob:    +39 333 8128928
>>
>>
>> http://www.geo-solutions.it
>> http://simboss.blogspot.com/
>> http://www.linkedin.com/in/simonegiannecchini
>>
>> -------------------------------------------------------
>>
>>
>>
>> On Tue, Jun 30, 2009 at 1:02 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>>>
>>> I've uninstalled JAI and ImageIO from my JDK and tried again, but I get
>>> the
>>> same problem.
>>>
>>> Yes, I'm running from Eclipse.
>>>
>>> Thanks,
>>>
>>> Jon
>>>
>>>
>>> Simone Giannecchini wrote:
>>>>
>>>> It might be loaded twice, especially if it is deployed in ext/libs of
>>>> your
>>>> jdk.
>>>> Are running things from eclipse?
>>>>
>>>>
>>>> Simone.
>>>> -------------------------------------------------------
>>>> Ing. Simone Giannecchini
>>>> GeoSolutions S.A.S.
>>>> Owner - Software Engineer
>>>> Via Carignoni 51
>>>> 55041  Camaiore (LU)
>>>> Italy
>>>>
>>>> phone: +39 0584983027
>>>> fax:      +39 0584983027
>>>> mob:    +39 333 8128928
>>>>
>>>>
>>>> http://www.geo-solutions.it
>>>> http://simboss.blogspot.com/
>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>
>>>> -------------------------------------------------------
>>>>
>>>>
>>>>
>>>> On Fri, Jun 26, 2009 at 5:22 PM, Jon Britton<jbritton@glam.ac.uk> wrote:
>>>>>
>>>>> Hey,
>>>>>
>>>>> I've just realised I've probably got JAI installed on my system as
>>>>> normal,
>>>>> but I've also got it in my POM.  Could that cause this problem?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Jon
>>>>>
>>>>>
>>>>> Simone Giannecchini wrote:
>>>>>>
>>>>>> Ciao Jon,
>>>>>> this error happens sometimes in eclispe when you mess up the jai
>>>>>> installation  and the geotools jai registration file get loaded
>>>>>> multiple times.
>>>>>> Can you give me a bit of more information on what you are doing do
>>>>>> that I can help out (also with the geotiff thing :-)).
>>>>>>
>>>>>> Simone.
>>>>>> -------------------------------------------------------
>>>>>> Ing. Simone Giannecchini
>>>>>> GeoSolutions S.A.S.
>>>>>> Owner - Software Engineer
>>>>>> Via Carignoni 51
>>>>>> 55041  Camaiore (LU)
>>>>>> Italy
>>>>>>
>>>>>> phone: +39 0584983027
>>>>>> fax:      +39 0584983027
>>>>>> mob:    +39 333 8128928
>>>>>>
>>>>>>
>>>>>> http://www.geo-solutions.it
>>>>>> http://simboss.blogspot.com/
>>>>>> http://www.linkedin.com/in/simonegiannecchini
>>>>>>
>>>>>> -------------------------------------------------------
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jun 26, 2009 at 12:06 PM, Jon Britton<jbritton@glam.ac.uk>
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I was trying this:
>>>>>>>
>>>>>>> reader = new GeoTiffReader(this.getInputStream());
>>>>>>> GridCoverage2D image = (GridCoverage2D)reader.read(null);
>>>>>>>
>>>>>>> However, I get a number of exceptions:
>>>>>>>
>>>>>>> Error while parsing JAI registry file
>>>>>>> "/D:/geotools/2.5.x/modules/library/coverage/target/classes/META-INF/registryFile.jai"
>>>>>>> :
>>>>>>> Error in registry file at line number #31
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.Combine"
>>>>>>> under registry mode "rendered"
>>>>>>> Error in registry file at line number #32
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.Hysteresis" under registry mode "rendered"
>>>>>>> Error in registry file at line number #33
>>>>>>> A descriptor is already registered against the name
>>>>>>> "org.geotools.NodataFilter" under registry mode "rendered"
>>>>>>> Error: One factory fails for the operation "ImageRead"
>>>>>>> Occurs in: javax.media.jai.ThreadSafeOperationRegistry
>>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>> Exception in thread "main" javax.media.jai.util.ImagingException: All
>>>>>>> factories fail for the operation "ImageRead"
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1687)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        ... 8 more
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>> Caused by:
>>>>>>> java.lang.reflect.InvocationTargetException
>>>>>>>        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:585)
>>>>>>>        at javax.media.jai.FactoryCache.invoke(FactoryCache.java:122)
>>>>>>>        at
>>>>>>> javax.media.jai.OperationRegistry.invokeFactory(OperationRegistry.java:1674)
>>>>>>>        at
>>>>>>> javax.media.jai.ThreadSafeOperationRegistry.invokeFactory(ThreadSafeOperationRegistry.java:473)
>>>>>>>        at
>>>>>>> javax.media.jai.registry.RIFRegistry.create(RIFRegistry.java:332)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createInstance(RenderedOp.java:819)
>>>>>>>        at
>>>>>>> javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
>>>>>>>        at javax.media.jai.RenderedOp.getWidth(RenderedOp.java:2179)
>>>>>>>        at
>>>>>>> org.geotools.gce.geotiff.GeoTiffReader.read(GeoTiffReader.java:461)
>>>>>>>        at
>>>>>>> org.geotools.data.wcs.response.GetCoverageResponse.getCoverage(GetCoverageResponse.java:46)
>>>>>>>        at uk.ac.glam.jbritton.test.WCSTest.main(WCSTest.java:90)
>>>>>>> Caused by: java.lang.RuntimeException: javax.imageio.IIOException:
>>>>>>> I/O
>>>>>>> error
>>>>>>> reading image metadata!
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:317)
>>>>>>>        ... 14 more
>>>>>>> Caused by: javax.imageio.IIOException: I/O error reading image
>>>>>>> metadata!
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:340)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:310)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getImageTypes(TIFFImageReader.java:741)
>>>>>>>        at
>>>>>>> javax.imageio.ImageReader.getRawImageType(ImageReader.java:665)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.layoutHelper(ImageReadOpImage.java:228)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadOpImage.<init>(ImageReadOpImage.java:473)
>>>>>>>        at
>>>>>>> com.sun.media.jai.imageioimpl.ImageReadCRIF.create(ImageReadCRIF.java:309)
>>>>>>>        ... 14 more
>>>>>>> Caused by: java.io.EOFException
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readShort(ImageInputStreamImpl.java:211)
>>>>>>>        at
>>>>>>> javax.imageio.stream.ImageInputStreamImpl.readUnsignedShort(ImageInputStreamImpl.java:222)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFIFD.initialize(TIFFIFD.java:194)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageMetadata.initializeFromStream(TIFFImageMetadata.java:110)
>>>>>>>        at
>>>>>>> com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.readMetadata(TIFFImageReader.java:336)
>>>>>>>        ... 20 more
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Gabriel Roldan wrote:
>>>>>>>>
>>>>>>>> By looking at the code it seems you can just do:
>>>>>>>> InputStream in = ...
>>>>>>>> GeotiffReader reader = new GeotiffReader(in);
>>>>>>>> RenderedImage image =
>>>>>>>> ((GridCoverage2D)reader.read(null)).view(ViewType.GEOPHYSICS);
>>>>>>>>
>>>>>>>> cheers,
>>>>>>>> Gabriel
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I've got a working(ish) WCS client, now I'm wondering if it's
>>>>>>>>> possible
>>>>>>>>> to
>>>>>>>>> load a GridCoverage2D directly from the InputStream I get as a
>>>>>>>>> response
>>>>>>>>> to a
>>>>>>>>> GetCoverage request?  Just GeoTIFF would do fine for now, but I can
>>>>>>>>> only
>>>>>>>>> find how to load one from a file, not directly from an InputStream.
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>>
>>>>>>>>> Jon
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Gabriel Roldan
>>>>>>>> OpenGeo - http://opengeo.org
>>>>>>>> Expert service straight from the developers.
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Crystal Reports - New Free Runtime and 30 Day Trial
>>>>>>>> Check out the new simplified licensing option that enables unlimited
>>>>>>>> royalty-free distribution of the report engine for externally facing
>>>>>>>> server and web deployment.
>>>>>>>> http://p.sf.net/sfu/businessobjects
>>>>>>>> _______________________________________________
>>>>>>>> Geotools-gt2-users mailing list
>>>>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3160693.html
>>>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> _______________________________________________
>>>>>>> Geotools-gt2-users mailing list
>>>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> _______________________________________________
>>>>>> Geotools-gt2-users mailing list
>>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3162136.html
>>>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> _______________________________________________
>>>>> Geotools-gt2-users mailing list
>>>>> Geotools-gt2-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> _______________________________________________
>>>> Geotools-gt2-users mailing list
>>>> Geotools-gt2-users@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181518.html
>>> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> _______________________________________________
>>> Geotools-gt2-users mailing list
>>> Geotools-gt2-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>>
>>
>> ------------------------------------------------------------------------------
>> _______________________________________________
>> Geotools-gt2-users mailing list
>> Geotools-gt2-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>>
>>
>
> --
> View this message in context: http://n2.nabble.com/Reading-a-GeoTiff-from-an-InputStream--tp3093431p3181688.html
> Sent from the geotools-gt2-users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Geotools-gt2-users mailing list
> Geotools-gt2-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users
>

------------------------------------------------------------------------------
_______________________________________________
Geotools-gt2-users mailing list
Geotools-gt2-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users