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

Reply via email to