[Geoserver-users] GS 7.1, Byte Coverages and Nodata - once again

Hi,

I see this have been talked about in "Problems with rendering 8-bit
images in 1.7 beta 1", but 1.7RC3 still has it, so here goes my
question:

I have a raster, exported from GRASS into an Byte and an Int32 GeoTiff.
(see attached gdalinfos). Using the attached SLD, the Int32 GeoTiff
works fine, the Byte GeoTiff gives GS the hiccups (also see attached
logfile)

Most of my Data will be GeoTiffs and I only need Byte range to display
them. Any clever tricks or known solutions?

Thanks,
  Crischan
--
   Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.
--
   Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.

Je suis un homme du nord.

byte.log (9.58 KB)

gdalinfo_byte (5.95 KB)

gdalinfo_int32 (1.64 KB)

Ciao Christian,
I have quickly checked the email to get an idea about the error you are getting.
I have two questions:
1> Can you send over the SLD you are using? I apologize if you already
sent it over in the past but I am not able to find it.
2> Can you share one of your geotiff files for testing?

Anyway, from a quick inspection of your error I can think of two reasons:

1> the sld makes wrong assumptions on the number of bands you are
using for the 8 bit tiff file
2> the raster symbolizer is making wrong assumptions on the same
concept as in 1 (in which case I'll fix things asap :slight_smile: ).
Conclusion is, I need at least to see the SLD; anyway, having a sample
8 bit tiff file would be great.

Ciao,
Simone.

2008/9/28 Christian Wygoda <crischan@anonymised.com>:

Hi,

I see this have been talked about in "Problems with rendering 8-bit
images in 1.7 beta 1", but 1.7RC3 still has it, so here goes my
question:

I have a raster, exported from GRASS into an Byte and an Int32 GeoTiff.
(see attached gdalinfos). Using the attached SLD, the Int32 GeoTiff
works fine, the Byte GeoTiff gives GS the hiccups (also see attached
logfile)

Most of my Data will be GeoTiffs and I only need Byte range to display
them. Any clever tricks or known solutions?

Thanks,
Crischan
--
  Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.
--
  Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.

Je suis un homme du nord.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
-------------------------------------------------------
Eng. 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://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

Based on this exception, I think I am getting the same error.

Here is my SLD file contents:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;
xmlns:xlink="http://www.w3.org/1999/xlink&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd&quot;
version="1.0.0">
<UserLayer>
  <Name>raster_layer</Name>
        <LayerFeatureConstraints>
            <FeatureTypeConstraint/>
        </LayerFeatureConstraints>
  <UserStyle>
    <Name>raster</Name>
    <Title>A boring default style</Title>
    <Abstract>A sample style for rasters</Abstract>
    <FeatureTypeStyle>
          <FeatureTypeName>Feature</FeatureTypeName>
      <Rule>
        <RasterSymbolizer>
            <Opacity>0.8</Opacity>
                <ColorMap>
       <ColorMapEntry color="#ffffff" opacity="0.0" quantity="0"/>
       <ColorMapEntry color="#ff0000" opacity="0.8" quantity="4"/>
</ColorMap>
        </RasterSymbolizer>
      </Rule>
    </FeatureTypeStyle>
  </UserStyle>
</UserLayer>
</StyledLayerDescriptor>

My gdalinfo geotiff output:
Driver: GTiff/GeoTIFF
Files: DEFAULT29062.tiff
Size is 200, 200
Coordinate System is:
GEOGCS["m",
    DATUM["unknown",
        SPHEROID["unnamed",6378137,298.2572235630016]],
    PRIMEM["Greenwich",0],
    UNIT[,0.0174532925199433]]
Origin = (44.275798606872556,33.383650941848757)
Pixel Size = (0.000800704956055,-0.000680599212646)
Metadata:
  AREA_OR_POINT=Point
  TIFFTAG_XRESOLUTION=1
  TIFFTAG_YRESOLUTION=1
  TIFFTAG_RESOLUTIONUNIT=1 (unitless)
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 44.2757986, 33.3836509) ( 44d16'32.87"E, 33d23'1.14"N)
Lower Left ( 44.2757986, 33.2475311) ( 44d16'32.87"E, 33d14'51.11"N)
Upper Right ( 44.4359396, 33.3836509) ( 44d26'9.38"E, 33d23'1.14"N)
Lower Right ( 44.4359396, 33.2475311) ( 44d26'9.38"E, 33d14'51.11"N)
Center ( 44.3558691, 33.3155910) ( 44d21'21.13"E, 33d18'56.13"N)
Band 1 Block=200x40 Type=Byte, ColorInterp=Palette
  Color Table (RGB with 256 entries)
    0: 255,255,255,255
    1: 255,255,255,255
    2: 255,255,255,255
    3: 255,255,255,255
    4: 255,255,255,255
    5: 255,255,255,255
    6: 255,255,255,255
    7: 255,255,255,255
    8: 255,255,255,255
    9: 255,255,255,255
   10: 255,255,255,255
   11: 255,255,255,255
   12: 255,255,255,255
   13: 255,255,255,255
   14: 255,255,255,255
   15: 255,255,255,255
   16: 255,160,122,255
   17: 255,160,122,255
   18: 255,160,122,255
   19: 255,0,0,255
   20: 255,255,255,255
   21: 255,255,255,255
   22: 0,0,0,255
... Repeats from 22 to 255...

I have attempted to attach the tiff file:
http://www.nabble.com/file/p19766649/DEFAULT29062.tiff DEFAULT29062.tiff

Here is my stack dump:
14:31:18,581 INFO [STDOUT] 01 Oct 14:31:18 ERROR [geotools.rendering] -
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
        at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.paint(GridCoverageRenderer.java:548)
        at
org.geotools.renderer.lite.StreamingRenderer.renderRaster(StreamingRenderer.java:1852)
        at
org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:1712)
        at
org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1658)
        at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1600)
        at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:642)
        at
org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1472)
        at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1341)
        at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:265)
        at
org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:335)
        at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:416)
        at
org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
        at org.geoserver.ows.Dispatcher.response(Dispatcher.java:639)

        at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:202)
        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:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        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:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
        at
org.geotools.renderer.lite.gridcoverage2d.SubchainStyleVisitorCoverageProcessingAdapter.execute(SubchainStyleVisitorCoverageProcessingAdapter.java:112)
        at
org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:68)
        at
org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:48)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140
14:31:18,674 INFO [STDOUT] )
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
        ... 69 more
Caused by: org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
        at
org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:234)
        at
org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:76)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
        ... 77 more
Caused by: java.lang.IllegalArgumentException: Band number 1 is not valid.
        at
org.geotools.coverage.TypeMap.getColorInterpretation(TypeMap.java:510)
        at
org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:297)
        at
org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:53)
        at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
        at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
        ... 84 more

--
View this message in context: http://www.nabble.com/GS-7.1%2C-Byte-Coverages-and-Nodata---once-again-tp19710665p19766649.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Ciao Kevin,
we found a minor problem in the code that applis the ColorMap element
to raster data with palette. That has been fixed for gs 1.7, however,
please refere to the other thread for hints on how to overcome your
isssues.

Simone.

On Wed, Oct 1, 2008 at 8:41 PM, ktcorby <ktcorby@anonymised.com> wrote:

Based on this exception, I think I am getting the same error.

Here is my SLD file contents:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld&quot;
xmlns:ogc="http://www.opengis.net/ogc&quot;
xmlns:xlink="http://www.w3.org/1999/xlink&quot;
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
xsi:schemaLocation="http://www.opengis.net/sld
http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd&quot;
version="1.0.0">
<UserLayer>
<Name>raster_layer</Name>
       <LayerFeatureConstraints>
           <FeatureTypeConstraint/>
       </LayerFeatureConstraints>
<UserStyle>
   <Name>raster</Name>
   <Title>A boring default style</Title>
   <Abstract>A sample style for rasters</Abstract>
   <FeatureTypeStyle>
         <FeatureTypeName>Feature</FeatureTypeName>
     <Rule>
       <RasterSymbolizer>
           <Opacity>0.8</Opacity>
               <ColorMap>
      <ColorMapEntry color="#ffffff" opacity="0.0" quantity="0"/>
      <ColorMapEntry color="#ff0000" opacity="0.8" quantity="4"/>
</ColorMap>
       </RasterSymbolizer>
     </Rule>
   </FeatureTypeStyle>
</UserStyle>
</UserLayer>
</StyledLayerDescriptor>

My gdalinfo geotiff output:
Driver: GTiff/GeoTIFF
Files: DEFAULT29062.tiff
Size is 200, 200
Coordinate System is:
GEOGCS["m",
   DATUM["unknown",
       SPHEROID["unnamed",6378137,298.2572235630016]],
   PRIMEM["Greenwich",0],
   UNIT[,0.0174532925199433]]
Origin = (44.275798606872556,33.383650941848757)
Pixel Size = (0.000800704956055,-0.000680599212646)
Metadata:
AREA_OR_POINT=Point
TIFFTAG_XRESOLUTION=1
TIFFTAG_YRESOLUTION=1
TIFFTAG_RESOLUTIONUNIT=1 (unitless)
Image Structure Metadata:
INTERLEAVE=BAND
Corner Coordinates:
Upper Left ( 44.2757986, 33.3836509) ( 44d16'32.87"E, 33d23'1.14"N)
Lower Left ( 44.2757986, 33.2475311) ( 44d16'32.87"E, 33d14'51.11"N)
Upper Right ( 44.4359396, 33.3836509) ( 44d26'9.38"E, 33d23'1.14"N)
Lower Right ( 44.4359396, 33.2475311) ( 44d26'9.38"E, 33d14'51.11"N)
Center ( 44.3558691, 33.3155910) ( 44d21'21.13"E, 33d18'56.13"N)
Band 1 Block=200x40 Type=Byte, ColorInterp=Palette
Color Table (RGB with 256 entries)
   0: 255,255,255,255
   1: 255,255,255,255
   2: 255,255,255,255
   3: 255,255,255,255
   4: 255,255,255,255
   5: 255,255,255,255
   6: 255,255,255,255
   7: 255,255,255,255
   8: 255,255,255,255
   9: 255,255,255,255
  10: 255,255,255,255
  11: 255,255,255,255
  12: 255,255,255,255
  13: 255,255,255,255
  14: 255,255,255,255
  15: 255,255,255,255
  16: 255,160,122,255
  17: 255,160,122,255
  18: 255,160,122,255
  19: 255,0,0,255
  20: 255,255,255,255
  21: 255,255,255,255
  22: 0,0,0,255
... Repeats from 22 to 255...

I have attempted to attach the tiff file:
http://www.nabble.com/file/p19766649/DEFAULT29062.tiff DEFAULT29062.tiff

Here is my stack dump:
14:31:18,581 INFO [STDOUT] 01 Oct 14:31:18 ERROR [geotools.rendering] -
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
       at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.paint(GridCoverageRenderer.java:548)
       at
org.geotools.renderer.lite.StreamingRenderer.renderRaster(StreamingRenderer.java:1852)
       at
org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:1712)
       at
org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1658)
       at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1600)
       at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:642)
       at
org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1472)
       at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1341)
       at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:265)
       at
org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:335)
       at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:416)
       at
org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
       at org.geoserver.ows.Dispatcher.response(Dispatcher.java:639)

       at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:202)
       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:290)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       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:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
       at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
       at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
       at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
       at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
       at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
       at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
       at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
       at java.lang.Thread.run(Thread.java:619)
Caused by: org.geotools.coverage.processing.CoverageProcessingException:
org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
       at
org.geotools.renderer.lite.gridcoverage2d.SubchainStyleVisitorCoverageProcessingAdapter.execute(SubchainStyleVisitorCoverageProcessingAdapter.java:112)
       at
org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:68)
       at
org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:48)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140
14:31:18,674 INFO [STDOUT] )
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
       ... 69 more
Caused by: org.geotools.coverage.processing.CoverageProcessingException:
java.lang.IllegalArgumentException: Band number 1 is not valid.
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:339)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180)
       at
org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:234)
       at
org.geotools.renderer.lite.gridcoverage2d.ContrastEnhancementNode.execute(ContrastEnhancementNode.java:76)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
       ... 77 more
Caused by: java.lang.IllegalArgumentException: Band number 1 is not valid.
       at
org.geotools.coverage.TypeMap.getColorInterpretation(TypeMap.java:510)
       at
org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:297)
       at
org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.execute(ColorMapNode.java:53)
       at
org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter$1.execute(StyleVisitorCoverageProcessingNodeAdapter.java:140)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.checkExecuted(BaseCoverageProcessingNode.java:235)
       at
org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:337)
       ... 84 more

--
View this message in context: http://www.nabble.com/GS-7.1%2C-Byte-Coverages-and-Nodata---once-again-tp19710665p19766649.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
-------------------------------------------------------
Eng. 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://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

Hi Christian,
the problem was inside the colorMap Node which doesn't work correctly
with some color mapped rasters.
Before the fix, the color map node was creating N sample dimensions,
where N is the number of components of the color model of the original
image, resulting in an exception since the classified image has a
single band. Instead, the coverage creation have to leverage on the
number of components of the sample model of the classified image.

The fix is available in gt-2.5.x branch and gt-trunk, and will be part
of the 1.7.0 release of the GeoServer.
Let me know if you need more help with this.

Regards,
Simone

On Sun, Sep 28, 2008 at 6:36 PM, Simone Giannecchini <simboss1@anonymised.com> wrote:

Ciao Christian,
I have quickly checked the email to get an idea about the error you are getting.
I have two questions:
1> Can you send over the SLD you are using? I apologize if you already
sent it over in the past but I am not able to find it.
2> Can you share one of your geotiff files for testing?

Anyway, from a quick inspection of your error I can think of two reasons:

1> the sld makes wrong assumptions on the number of bands you are
using for the 8 bit tiff file
2> the raster symbolizer is making wrong assumptions on the same
concept as in 1 (in which case I'll fix things asap :slight_smile: ).
Conclusion is, I need at least to see the SLD; anyway, having a sample
8 bit tiff file would be great.

Ciao,
Simone.

2008/9/28 Christian Wygoda <crischan@anonymised.com>:

Hi,

I see this have been talked about in "Problems with rendering 8-bit
images in 1.7 beta 1", but 1.7RC3 still has it, so here goes my
question:

I have a raster, exported from GRASS into an Byte and an Int32 GeoTiff.
(see attached gdalinfos). Using the attached SLD, the Int32 GeoTiff
works fine, the Byte GeoTiff gives GS the hiccups (also see attached
logfile)

Most of my Data will be GeoTiffs and I only need Byte range to display
them. Any clever tricks or known solutions?

Thanks,
Crischan
--
  Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.
--
  Handy 0177-7644527
Festnetz 03334-836018
Webseite wygoda.net

Je souhaite dans ma maison, - Une femme ayant sa raison, - Un chat passant parmi les livres, - Des amis en toute saison - Sans lesquels je ne peux pas vivre.

Je suis un homme du nord.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
-------------------------------------------------------
Eng. 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://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

--
-------------------------------------------------------
Eng. 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://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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