Hi Simone,

is there any possibility to apply a ColorMap to each single channel? 

I have got a SID-Image with 3 bands and a big fat black edging. I want to set 
each´s band values 0 to 5 as transparent. Is there any possibility to style the 
image this way?

Thank you
Tobias

-----Ursprüngliche Nachricht-----
Von: Simone Giannecchini [mailto:simone.giannecch...@geo-solutions.it] 
Gesendet: Mittwoch, 14. März 2012 17:13
An: Dominik Affolter
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] Rendering failed for GeoTiff layer with ColorMap 
styling on GS 2.1

Ciao Dominik,
quick hint, although you are not showing the entire exception, I believe the 
style is not correct.
You cannot apply the ColorMap element when having 3 bands, you need only 1.

Regards,
Simone Giannecchini
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Founder

Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy

phone: +39 0584 962313
fax:      +39 0584 962313
mob:    +39 333 8128928

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/simonegiannecchini
http://twitter.com/simogeo

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



On Wed, Mar 14, 2012 at 4:12 PM, Dominik Affolter <d1affol...@netscape.net> 
wrote:
> I have the same problem with the following configuration:
>
> Ubuntu 10.04.4 LTS
> JVM Version 1.6.0_31 (Java HotSpot(TM) 64-Bit Server VM) Apache 
> Tomcat/6.0.24 Geoserver Version 2.1-SNAPSHOT
>
> Here is the Error Code:
>
> 2012-03-14 15:39:36,297 ERROR [geoserver.ows] -
> org.geoserver.platform.ServiceException: Error rendering coverage on 
> the fast path
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rendered
> ImageMapOutputFormat.java:334)
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rendered
> ImageMapOutputFormat.java:250)
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rendered
> ImageMapOutputFormat.java:125)
>        at org.geoserver.wms.GetMap.run(GetMap.java:374)
>        at org.geoserver.wms.GetMap.run(GetMap.java:107)
>        at
> org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.jav
> a:353)
>        at sun.reflect.GeneratedMethodAccessor247.invoke(Unknown 
> Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
> Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflectio
> n(AopUtils.java:310)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoi
> npoint(ReflectiveMethodInvocation.java:182)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:149)
>        at
> org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWeb
> MapService.java:60)
>        at
> org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWeb
> MapService.java:34)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:171)
>        at
> org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService
> .java:73)
>        at
> org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService
> .java:40)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:171)
>        at
> org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.
> java:51)
>        at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(R
> eflectiveMethodInvocation.java:171)
>        at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamic
> AopProxy.java:204)
>        at $Proxy31.getMap(Unknown Source)
>        at sun.reflect.GeneratedMethodAccessor213.invoke(Unknown 
> Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown 
> Source)
>        at java.lang.reflect.Method.invoke(Unknown Source)
>        at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:630)
>        at 
> org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:234
> )
>        at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(A
> bstractController.java:153)
>        at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.han
> dle(SimpleControllerHandlerAdapter.java:48)
>        at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatche
> rServlet.java:875)
>        at
> org.springframework.web.servlet.DispatcherServlet.doService(Dispatcher
> Servlet.java:809)
>        at
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framew
> orkServlet.java:571)
>        at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServle
> t.java:501)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:290)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsC
> leanupFilter.java:23)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDele
> gatingFilter.java:74)
>        at
> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegating
> Filter.java:45)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatc
> hFilter.java:49)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetChar
> acterEncodingFilter.java:109)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:394)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.i
> nvoke(FilterSecurityInterceptor.java:109)
>        at
> org.springframework.security.intercept.web.FilterSecurityInterceptor.d
> oFilter(FilterSecurityInterceptor.java:83)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:406)
>        at
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHtt
> p(ExceptionTranslationFilter.java:101)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSe
> curityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:406)
>        at
> org.springframework.security.providers.anonymous.AnonymousProcessingFi
> lter.doFilterHttp(AnonymousProcessingFilter.java:105)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSe
> curityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:406)
>        at
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilt
> erHttp(BasicProcessingFilter.java:174)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSe
> curityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:406)
>        at
> org.springframework.security.context.HttpSessionContextIntegrationFilt
> er.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
>        at
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSe
> curityFilter.java:53)
>        at
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.
> doFilter(FilterChainProxy.java:406)
>        at
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChai
> nProxy.java:185)
>        at
> org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToB
> eanProxy.java:99)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at 
> org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.j
> ava:183)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at 
> org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.j
> ava:46)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:233)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:191)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:102)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:109)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :298)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 859)
>        at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
> s(Http11Protocol.java:588)
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489
> )
>        at java.lang.Thread.run(Unknown Source) Caused by: 
> org.geoserver.platform.ServiceException:
> java.lang.IllegalArgumentException: Band number 3 is not valid.
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(
> RenderedImageMapOutputFormat.java:912)
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(Rendered
> ImageMapOutputFormat.java:332)
>        ... 91 more
> Caused by: java.lang.IllegalArgumentException: Band number 3 is not valid.
>        at
> org.geotools.renderer.lite.gridcoverage2d.ColorMapNode.visit(ColorMapN
> ode.java:150)
>        at
> org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.visit
> (RasterSymbolizerHelper.java:178)
>        at
> org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.prepare
> FinalImage(GridCoverageRenderer.java:678)
>        at
> org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderI
> mage(GridCoverageRenderer.java:777)
>        at
> org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(
> RenderedImageMapOutputFormat.java:901)
>        ... 92 more
>
> I used the following SLD Code:
>
> <?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor 
> xmlns="http://www.opengis.net/sld";
> xmlns:ogc="http://www.opengis.net/ogc";
> xmlns:xlink="http://www.w3.org/1999/xlink";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="http://www.opengis.net/sld
> http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd";
> version="1.0.0">
>  <NamedLayer>
>    <Name>raster_map_landuse</Name>
>    <UserStyle>
>      <Name>raster_map_landuse</Name>
>      <Title>landuse</Title>
>      <Abstract>test</Abstract>
>      <FeatureTypeStyle>
>        <Rule>
>          <RasterSymbolizer>
>            <Geometry>
>              <ogc:PropertyName>geom</ogc:PropertyName>
>            </Geometry>
>            <Opacity>1.0</Opacity>
>            <ChannelSelection>
>             <RedChannel>
>                <SourceChannelName>1</SourceChannelName>
>              </RedChannel>
>              <GreenChannel>
>                <SourceChannelName>2</SourceChannelName>
>              </GreenChannel>
>               <BlueChannel>
>                <SourceChannelName>3</SourceChannelName>
>              </BlueChannel>
>            </ChannelSelection>
>            <ColorMap type="ramp" extended="false" >
>              <ColorMapEntry color="#FFFFFF" quantity="1" opacity="0"/>
>              <ColorMapEntry color="#000000" quantity="2" opacity="1"/>
>              <ColorMapEntry color="#FFFFFF" quantity="256" 
> opacity="1"/>
>            </ColorMap>
>          </RasterSymbolizer>
>        </Rule>
>      </FeatureTypeStyle>
>    </UserStyle>
>  </NamedLayer>
> </StyledLayerDescriptor>
>
> this is the gdalinfo of the used raster-file:
>
> Driver: GTiff/GeoTIFF
> Files: Land_use_map_Sarawak_1958_WMerc_clip6.tif
> Size is 8114, 5537
> Coordinate System is:
> PROJCS["unnamed",
>    GEOGCS["WGS 84",
>        DATUM["unknown",
>            SPHEROID["unretrievable - using 
> WGS84",6378137,298.257223563]],
>        PRIMEM["Greenwich",0],
>        UNIT["degree",0.0174532925199433]],
>    UNIT["metre",1,
>        AUTHORITY["EPSG","9001"]],
>    AUTHORITY["EPSG","3857"]]
> Origin = (12193973.920287996530533,563834.560806534718722)
> Pixel Size = (84.758015151284383,-84.755426053108181)
> Metadata:
>  AREA_OR_POINT=Area
> Image Structure Metadata:
>  INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left  (12193973.920,  563834.561) Lower Left  (12193973.920,   
> 94543.767) Upper Right (12881700.455,  563834.561) Lower Right 
> (12881700.455,   94543.767) Center      (12537837.188,  329189.164) 
> Band 1 Block=8114x1 Type=Byte, ColorInterp=Red Band 2 Block=8114x1 
> Type=Byte, ColorInterp=Green Band 3 Block=8114x1 Type=Byte, 
> ColorInterp=Blue
>
> I get the same error when I use another Raster with the same style.
>
> When I use only one gray channel the colormap works fine.
>
> --
> View this message in context: 
> http://osgeo-org.1560.n6.nabble.com/Rendering-failed-for-GeoTiff-layer
> -with-ColorMap-styling-on-GS-2-1-tp3791434p4578534.html
> Sent from the GeoServer - User mailing list archive at Nabble.com.
>
> ----------------------------------------------------------------------
> -------- Virtualization & Cloud Management Using Capacity Planning 
> Cloud computing makes use of virtualization - but cloud computing also 
> focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Geoserver-users mailing list
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning Cloud computing makes 
use of virtualization - but cloud computing also focuses on allowing computing 
to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to