[Geoserver-users] tif coverage store Float32

Hi all,

trying to use a Float32-type single band GeoTiff as a coverage store I ended
up with rendering exceptions on wcs GetCoverage-requests (wms works fine
though). When converting the same file to "Byte" wcs-requests work as
expected.

Is the usage of tif-coverages limited to Byte-type? Has anybody succeeded in
using anything else, especially Float32, Int16 or Int32?

cheers,
Uwe
--
View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23865501.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi Uwe,
which version of geoserver are you using?

Regards,
Daniele

On Thu, Jun 4, 2009 at 10:02 AM, uhag <uwehag@anonymised.com57…> wrote:

Hi all,

trying to use a Float32-type single band GeoTiff as a coverage store I ended
up with rendering exceptions on wcs GetCoverage-requests (wms works fine
though). When converting the same file to “Byte” wcs-requests work as
expected.

Is the usage of tif-coverages limited to Byte-type? Has anybody succeeded in
using anything else, especially Float32, Int16 or Int32?

cheers,
Uwe

View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23865501.html
Sent from the GeoServer - User mailing list archive at Nabble.com.


OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Eng. Daniele Romagnoli
Software Engineer

GeoSolutions S.A.S.
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 328 0559267

http://www.geo-solutions.it


Daniele,

thanks for your reply. I'm using geoserver 1.7.4 deployed in Tomcat 6.0 (and
5.5 on another machine giving the same results), all in a linux environment.
I'd be happy to provide any additional information that might be related to
this.

Uwe

Daniele Romagnoli wrote:

Hi Uwe,
which version of geoserver are you using?

Regards,
Daniele

--
View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23868311.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Hi,
Can you provide me your tiff (as an instance, via private email in case you don’t want to share it with everybody) as well as more details on the WCS Rendering Exception? (Do you have some logs/stack traces?)

Regards,
Daniele

On Thu, Jun 4, 2009 at 1:43 PM, uhag <uwehag@anonymised.com> wrote:

Daniele,

thanks for your reply. I’m using geoserver 1.7.4 deployed in Tomcat 6.0 (and
5.5 on another machine giving the same results), all in a linux environment.
I’d be happy to provide any additional information that might be related to
this.

Uwe

Daniele Romagnoli wrote:

Hi Uwe,
which version of geoserver are you using?

Regards,
Daniele


View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23868311.html

Sent from the GeoServer - User mailing list archive at Nabble.com.


OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Eng. Daniele Romagnoli
Software Engineer

GeoSolutions S.A.S.
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 328 0559267

http://www.geo-solutions.it


Hi Daniele,

the data is a DEM from the Baltic-Sea-region that is going to be released
publicly along with other scientific data. I put it to
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_tld.tif
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_tld.tif .
It's 390MB, so I prepared a 100x100px (40KB) sample from it which I tested
to produce the same error - it's at
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_mini.tif
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_mini.tif
(both files are linked to by
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/index.html
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/index.html ). My sample
request for the small coverage would be
http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=png&request=GetCoverage&version=1.0.0&coverage=imk:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035
http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=png&request=GetCoverage&version=1.0.0&coverage=imk:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035
.

This is the log entry in catalina.out:
-----------------------------------------------------
java.lang.RuntimeException: - Unable to render RenderedOp for this
operation.
        at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:827)
        at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
        at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:888)
        at javax.media.jai.JAI.createNS(JAI.java:1099)
        at javax.media.jai.JAI.create(JAI.java:973)
        at javax.media.jai.JAI.create(JAI.java:1395)
        at
org.geotools.gce.image.WorldImageWriter.encode(WorldImageWriter.java:434)
        at
org.geotools.gce.image.WorldImageWriter.write(WorldImageWriter.java:213)
        at
org.vfny.geoserver.wcs.responses.coverage.IMGCoverageResponseDelegate.encode(IMGCoverageResponseDelegate.java:117)
        at
org.vfny.geoserver.wcs.responses.CoverageResponse.writeTo(CoverageResponse.java:162)
        at
org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
        at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
        at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
        at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
        at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
        at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
        at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
        at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
        at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
        at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
        at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
        at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:619)
-----------------------------------------------------

Thanks,
Uwe
--
View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23876431.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Ciao Uwe,
I tried your test data. The problem is that you are trying to get a
png form the geotiff. Now this is good for WMS with a style but not
for WCS where you get the raw data. You raw data is float32 therefore
there is no way we can encode it as png. Try to change the format to
tiff, which means a request like this:

http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=tiff&request=GetCoverage&version=1.0.0&coverage=topp:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035

THis should succeed.

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 Thu, Jun 4, 2009 at 9:40 PM, uhag <uwehag@anonymised.com> wrote:

Hi Daniele,

the data is a DEM from the Baltic-Sea-region that is going to be released
publicly along with other scientific data. I put it to
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_tld.tif
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_tld.tif .
It's 390MB, so I prepared a 100x100px (40KB) sample from it which I tested
to produce the same error - it's at
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_mini.tif
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/IMK_DEM_EPSG_3035_mini.tif
(both files are linked to by
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/index.html
http://ifgdv-mesh.de:8080/imkonos-web/GEODATA/index.html ). My sample
request for the small coverage would be
http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=png&request=GetCoverage&version=1.0.0&coverage=imk:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035
http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=png&request=GetCoverage&version=1.0.0&coverage=imk:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035
.

This is the log entry in catalina.out:
-----------------------------------------------------
java.lang.RuntimeException: - Unable to render RenderedOp for this
operation.
at javax.media.jai.RenderedOp.createInstance(RenderedOp.java:827)
at javax.media.jai.RenderedOp.createRendering(RenderedOp.java:867)
at javax.media.jai.RenderedOp.getRendering(RenderedOp.java:888)
at javax.media.jai.JAI.createNS(JAI.java:1099)
at javax.media.jai.JAI.create(JAI.java:973)
at javax.media.jai.JAI.create(JAI.java:1395)
at
org.geotools.gce.image.WorldImageWriter.encode(WorldImageWriter.java:434)
at
org.geotools.gce.image.WorldImageWriter.write(WorldImageWriter.java:213)
at
org.vfny.geoserver.wcs.responses.coverage.IMGCoverageResponseDelegate.encode(IMGCoverageResponseDelegate.java:117)
at
org.vfny.geoserver.wcs.responses.CoverageResponse.writeTo(CoverageResponse.java:162)
at
org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:216)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)
-----------------------------------------------------

Thanks,
Uwe
--
View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23876431.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Simone,

thank you very much for clarifying this, seems to be pretty consequent after
all. I'll just remove the picture-formats from the capabilities-doc and be
happy.

regards,
Uwe

Simone Giannecchini wrote:

Ciao Uwe,
I tried your test data. The problem is that you are trying to get a
png form the geotiff. Now this is good for WMS with a style but not
for WCS where you get the raw data. You raw data is float32 therefore
there is no way we can encode it as png. Try to change the format to
tiff, which means a request like this:

http://localhost:8080/geoserver/wcs?service=WCS&bbox=4280760.0,3711420.0,4285260.0,3715920.0&CRS=EPSG:3035&Format=tiff&request=GetCoverage&version=1.0.0&coverage=topp:IMK_DEM_EPSG_3035_mini&width=100&height=100&srs=EPSG:3035

THis should succeed.

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

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

--
View this message in context: http://www.nabble.com/tif-coverage-store-Float32-tp23865501p23892518.html
Sent from the GeoServer - User mailing list archive at Nabble.com.