Ciao Martin, two things: 1> can you try to remove the channelselection elemt entirely? 2> can you wrote as geotiff and then send over one of your raster so that I can use it?
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, Feb 17, 2009 at 1:23 PM, Martin Tomko <martin.to...@geo.uzh.ch> wrote: > Simone, > thanks so much for your help, here it is; > > code snippet: > somewhere in my processing chain, I set up cell values as follows: > WritableRaster myraster > myraster.setSample(xx, yy, 0, 6); > > and then: > > GridCoverageFactory gcFactory = new GridCoverageFactory(); > > GridCoverage2D gchor = gcFactoryhor.create("test", myraster, envelope); > > File sldfile = new File("C:\\dev\\GTViewshed\\tmp\\gcstyle.sld"); > SLDParser stylereader = new SLDParser(new StyleFactoryImpl() , > sldfile); > StyledLayerDescriptor sld = stylereader.parseSLD(); > // the RasterSymbolizer Helper > SubchainStyleVisitorCoverageProcessingAdapter rsh_SLD = new > RasterSymbolizerHelper(gchor, null); > // build the RasterSymbolizer > final UserLayer nl = (UserLayer) sld.getStyledLayers()[0]; > final Style style = nl.getUserStyles()[0]; > final FeatureTypeStyle fts = style.getFeatureTypeStyles()[0]; > final Rule rule = fts.getRules()[0]; > final RasterSymbolizer rs_1 = (RasterSymbolizer) > rule.getSymbolizers()[0]; > // visit the RasterSymbolizer > //GridCoverage2D tmpgc = (GridCoverage2D)rsh_SLD.getOutput(); > //tmpgc.show(); > rsh_SLD.visit(rs_1); > ((GridCoverage2D)rsh_SLD.getOutput()).show(); > > gdalinfo horizon5.tif: > > Driver: GTiff/GeoTIFF > Files: horizon5.tif > Size is 240, 301 > Coordinate System is: > GEOGCS["WGS 84", > DATUM["WGS_1984", > SPHEROID["WGS 84",6378137,298.2572235630016, > AUTHORITY["EPSG","7030"]], > AUTHORITY["EPSG","6326"]], > PRIMEM["Greenwich",0], > UNIT["degree",0.0174532925199433], > AUTHORITY["EPSG","4326"]] > Origin = (7.000416666666666,46.199584717607976) > Pixel Size = (0.000833333333333,-0.000830564784053) > Metadata: > AREA_OR_POINT=Point > TIFFTAG_XRESOLUTION=1 > TIFFTAG_YRESOLUTION=1 > TIFFTAG_RESOLUTIONUNIT=1 (unitless) > Image Structure Metadata: > INTERLEAVE=BAND > Corner Coordinates: > Upper Left ( 7.0004167, 46.1995847) ( 7d 0'1.50"E, 46d11'58.50"N) > Lower Left ( 7.0004167, 45.9495847) ( 7d 0'1.50"E, 45d56'58.50"N) > Upper Right ( 7.2004167, 46.1995847) ( 7d12'1.50"E, 46d11'58.50"N) > Lower Right ( 7.2004167, 45.9495847) ( 7d12'1.50"E, 45d56'58.50"N) > Center ( 7.1004167, 46.0745847) ( 7d 6'1.50"E, 46d 4'28.50"N) > Band 1 Block=240x17 Type=Int16, ColorInterp=Gray > > the sld : > <?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"> > <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> > <!-- ColorMap type="ramp" extended="true"> > <ColorMapEntry color="#ffffff" quantity="-1.0" opacity="1.0"/> > <ColorMapEntry color="#000000" quantity="0.0" opacity="1.0"/> > <ColorMapEntry color="#ffff00" quantity="1.0" opacity="1.0"/> > <ColorMapEntry color="#00ff00" quantity="2.0" opacity="1.0"/> > <ColorMapEntry color="#00ffff" quantity="3.0" opacity="1.0"/> > <ColorMapEntry color="#0000ff" quantity="4.0" opacity="1.0"/> > <ColorMapEntry color="#ff00ff" quantity="5.0" opacity="1.0"/> > <ColorMapEntry color="#ff0000" quantity="6.0" opacity="1.0"/> > </ColorMap --> > <Opacity>1.0</Opacity> > <ChannelSelection> > <GrayChannel> > <SourceChannelName>1</SourceChannelName> > </GrayChannel> > </ChannelSelection> > </RasterSymbolizer> > </Rule> > </FeatureTypeStyle> > </UserStyle> > </UserLayer> > </StyledLayerDescriptor> > > thanks, > Martin > > Simone Giannecchini wrote: >> Ciao Martin, >> yeah, you are correct. >> >> However, I need to know a few things (yesterday I sent you back stuff >> in a rush I might have given you bad code :-) ). >> >> 1> your sld >> 2> code snippet >> 3> gdalinfo of a sample geotiff >> >> >> 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, Feb 17, 2009 at 12:25 PM, Martin Tomko <martin.to...@geo.uzh.ch> >> wrote: >> >>> Hi Simone, >>> thanks for the exaplanation. I would still like to use the acceleration >>> provided through the mlib wrapper, is there a way to use it through maven? >>> >>> Regarding the colors: all the cells are displayed in shades of grey, despite >>> my styling that contains something like: >>> <ColorMapEntry color="#ffffff" quantity="-1.0" opacity="1.0"/> >>> <ColorMapEntry color="#000000" quantity="0.0" opacity="1.0"/> >>> <ColorMapEntry color="#ffff00" quantity="1.0" opacity="1.0"/> >>> <ColorMapEntry color="#00ff00" quantity="2.0" opacity="1.0"/> >>> <ColorMapEntry color="#00ffff" quantity="3.0" opacity="1.0"/> >>> <ColorMapEntry color="#0000ff" quantity="4.0" opacity="1.0"/> >>> <ColorMapEntry color="#ff00ff" quantity="5.0" opacity="1.0"/> >>> <ColorMapEntry color="#ff0000" quantity="6.0" opacity="1.0"/> >>> So, for instance, I would assume cells with a value of 6 to be rendered as >>> #ff0000 (red), is that right? >>> >>> Thanks >>> Martin >>> >>> Simone Giannecchini wrote: >>> >>>> Ciao Martin, >>>> what you are seeing is just a warning, the only consequence (or at >>>> least the one you should care of) is that JAI will work in pure java >>>> mode, withou native acceleration. >>>> >>>> About the shaded gray, can you be more specific? >>>> >>>> >>>> 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, Feb 17, 2009 at 11:46 AM, Martin Tomko <martin.to...@geo.uzh.ch> >>>> wrote: >>>> >>>> >>>>> Dear Simone, >>>>> thank you very much for the simplified sld and the code. Indeed, there is >>>>> progress: the change to the last two lines : >>>>> >>>>> rsh.visit(rs); >>>>> ((GridCoverage2D)rsh.getOutput()).show(); >>>>> >>>>> helped. I guess this is the way it should be included in the tutorial as >>>>> well. However, not all is good yet - while I get the output, it is all >>>>> only >>>>> in shades of grey, and I am getting the followng error (see stack trace >>>>> at >>>>> the end of the message). My reading is that it results from the missing >>>>> library (I think the JAI libraries, specially mlibwrapper_jai.jar ). Now, >>>>> I >>>>> did not install the jai on my machine, as I ues maven to handle my >>>>> classpaths. I searched for a dependency for mlibwrapper_jai.jar without >>>>> success (tried: >>>>> <dependency> >>>>> <groupId>javax.media</groupId> >>>>> <artifactId>mlibwrapper_jai</artifactId> >>>>> <version>${jai.version}</version> >>>>> </dependency>) >>>>> but that throws errors. Even in mvnbrowser there is not artefact declared >>>>> for this class. I have found soem discussion pointing to this requirement >>>>> in >>>>> the new geotools >>>>> >>>>> (http://www.mail-archive.com/geotools-de...@lists.sourceforge.net/msg16471.html). >>>>> Is there a way to run this without the mlibwrapper_jai yet, or a way to >>>>> add this as a dependency in the maven build? As I am going to package my >>>>> program as a webservice, I cannot rely on external installation of jai, I >>>>> am >>>>> afraid. >>>>> >>>>> Thanks a lot for all the help. >>>>> >>>>> Martin >>>>> >>>>> >>>>> >>>>> >>>>> Feb 17, 2009 11:37:13 AM org.geotools.styling.SLDParser parseUserLayer >>>>> INFO: layer name: raster_layer >>>>> Error: Could not find mediaLib accelerator wrapper classes. Continuing in >>>>> pure Java mode. >>>>> Occurs in: com.sun.media.jai.mlib.MediaLibAccessor >>>>> java.lang.NoClassDefFoundError: com/sun/medialib/mlib/Image >>>>> at >>>>> com.sun.media.jai.mlib.MediaLibAccessor$1.run(MediaLibAccessor.java:248) >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> at >>>>> >>>>> com.sun.media.jai.mlib.MediaLibAccessor.setUseMlib(MediaLibAccessor.java:245) >>>>> at >>>>> >>>>> com.sun.media.jai.mlib.MediaLibAccessor.useMlib(MediaLibAccessor.java:177) >>>>> at >>>>> >>>>> com.sun.media.jai.mlib.MediaLibAccessor.isMediaLibCompatible(MediaLibAccessor.java:357) >>>>> at com.sun.media.jai.mlib.MlibExtremaRIF.create(MlibExtremaRIF.java:44) >>>>> 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:597) >>>>> 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.getRendering(RenderedOp.java:888) >>>>> at javax.media.jai.RenderedOp$1.getPropertyNames(RenderedOp.java:1791) >>>>> at >>>>> >>>>> javax.media.jai.PropertyEnvironment.mapDefaults(PropertyEnvironment.java:270) >>>>> at >>>>> >>>>> javax.media.jai.PropertyEnvironment.getPropertyNames(PropertyEnvironment.java:125) >>>>> at >>>>> >>>>> javax.media.jai.WritablePropertySourceImpl.addProperties(WritablePropertySourceImpl.java:298) >>>>> at javax.media.jai.RenderedOp.createPropertySource(RenderedOp.java:1817) >>>>> at javax.media.jai.RenderedOp.getProperty(RenderedOp.java:1968) >>>>> at >>>>> org.geotools.image.ImageWorker.getComputedProperty(ImageWorker.java:585) >>>>> at org.geotools.image.ImageWorker.getExtremas(ImageWorker.java:605) >>>>> at org.geotools.image.ImageWorker.rescaleToBytes(ImageWorker.java:748) >>>>> at >>>>> >>>>> org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:108) >>>>> at >>>>> >>>>> org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:48) >>>>> 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) >>>>> at >>>>> >>>>> org.geotools.renderer.lite.gridcoverage2d.BaseCoverageProcessingNode.getOutput(BaseCoverageProcessingNode.java:42) >>>>> at >>>>> >>>>> org.geotools.renderer.lite.gridcoverage2d.StyleVisitorCoverageProcessingNodeAdapter.getOutput(StyleVisitorCoverageProcessingNodeAdapter.java:180) >>>>> at ch.uzh.geo.tomko.GTViewshed.GTtest.main(GTtest.java:209) >>>>> Caused by: java.lang.ClassNotFoundException: com.sun.medialib.mlib.Image >>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:200) >>>>> at java.security.AccessController.doPrivileged(Native Method) >>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:188) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:306) >>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) >>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251) >>>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) >>>>> ... 34 more >>>>> >>>>> >>>>> >>>>> >>>>> Simone Giannecchini wrote: >>>>> >>>>> >>>>>> Ciao Martin, >>>>>> I copied and pasted (with few modifications) your stile inside the >>>>>> renderer tests and it worked. I am attaching it to this email. >>>>>> >>>>>> The code used is as follows: >>>>>> >>>>>> RasterSymbolizerHelper rsh = new >>>>>> RasterSymbolizerHelper(gc, >>>>>> null); >>>>>> final UserLayer nl = (UserLayer) sld.getStyledLayers()[0]; >>>>>> final Style style = nl.getUserStyles()[0]; >>>>>> final FeatureTypeStyle fts = >>>>>> style.getFeatureTypeStyles()[0]; >>>>>> final Rule rule = fts.getRules()[0]; >>>>>> RasterSymbolizer rs = (RasterSymbolizer) >>>>>> rule.getSymbolizers()[0]; >>>>>> rsh.visit(rs); >>>>>> ((GridCoverage2D)rsh.getOutput()).show(); >>>>>> >>>>>> What are the characteristics of your data? A gdalinfo might help. >>>>>> >>>>>> Let me know if this works. >>>>>> >>>>>> 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 Mon, Feb 16, 2009 at 6:15 PM, Martin Tomko <martin.to...@geo.uzh.ch> >>>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>>> Hi Simone, >>>>>>> I used the one in your example, with changed values that are to be >>>>>>> mapped, >>>>>>> as follows: >>>>>>> Thanks >>>>>>> Martin >>>>>>> >>>>>>> <?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*"> >>>>>>> - <#> <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> >>>>>>> - <#> <!-- >>>>>>> >>>>>>> ColorMap type="ramp" extended="true"> >>>>>>> <ColorMapEntry color="#000000" quantity="-1.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#ff0000" quantity="0.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#ffff00" quantity="1.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#00ff00" quantity="2.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#00ffff" quantity="3.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#0000ff" quantity="4.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#ff00ff" quantity="5.0" opacity="1.0"/> >>>>>>> <ColorMapEntry color="#ffffff" quantity="6.0" opacity="1.0"/> >>>>>>> </ColorMap >>>>>>> --> >>>>>>> <Opacity>1.0</Opacity> >>>>>>> - <#> <ChannelSelection> >>>>>>> - <#> <GrayChannel> >>>>>>> <SourceChannelName>1</SourceChannelName> >>>>>>> - <#> <ContrastEnhancement> >>>>>>> <Normalize /> >>>>>>> </ContrastEnhancement> >>>>>>> </GrayChannel> >>>>>>> </ChannelSelection> >>>>>>> - <#> <ContrastEnhancement> >>>>>>> <GammaValue>1</GammaValue> >>>>>>> </ContrastEnhancement> >>>>>>> </RasterSymbolizer> >>>>>>> </Rule> >>>>>>> </FeatureTypeStyle> >>>>>>> </UserStyle> >>>>>>> </UserLayer> >>>>>>> </StyledLayerDescriptor> >>>>>>> >>>>>>> >>>>>>> Simone Giannecchini wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Ciao Martin, >>>>>>>> please, send over the SLD file you are using. >>>>>>>> >>>>>>>> >>>>>>>> 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 Mon, Feb 16, 2009 at 5:57 PM, Martin Tomko >>>>>>>> <martin.to...@geo.uzh.ch> >>>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hi Simone, >>>>>>>>> I have solved the Style factory problem as follows: >>>>>>>>> SLDParser stylereader = new SLDParser(new StyleFactoryImpl() , >>>>>>>>> sldfile); >>>>>>>>> I have imported the UserLayer, Style and all following classess from >>>>>>>>> org.geotools.styling (it seems that classes with the same name are >>>>>>>>> also >>>>>>>>> in >>>>>>>>> org.opemgis...). The methods called are shown as deprecated (I work >>>>>>>>> with >>>>>>>>> 2.5-SNAPSHOT thorugh maven). Anyway, I tried to use them. >>>>>>>>> >>>>>>>>> I am not able to run your example because of the line: >>>>>>>>> rsh_SLD.visit(rs_1).show(); >>>>>>>>> >>>>>>>>> where >>>>>>>>> SubchainStyleVisitorCoverageProcessingAdapter rsh_SLD = new >>>>>>>>> RasterSymbolizerHelper(gc, null); >>>>>>>>> final RasterSymbolizer rs_1 = (RasterSymbolizer) >>>>>>>>> rule.getSymbolizers()[0]; >>>>>>>>> >>>>>>>>> where show() cannot be invoked on a type void. Any idea why this is? >>>>>>>>> I tried a workaround (also tried through theexecute method): >>>>>>>>> GridCoverage2D tmpgc = (GridCoverage2D)rsh_SLD.getOutput(); >>>>>>>>> tmpgc.show(); >>>>>>>>> >>>>>>>>> but I am getting the following error: >>>>>>>>> Feb 16, 2009 5:49:01 PM org.geotools.styling.SLDParser parseUserLayer >>>>>>>>> INFO: layer name: raster_layer >>>>>>>>> Exception in thread "main" >>>>>>>>> org.geotools.coverage.processing.CoverageProcessingException: >>>>>>>>> java.lang.NullPointerException >>>>>>>>> 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 ch.uzh.geo.tomko.GTViewshed.GTtest.main(GTtest.java:207) >>>>>>>>> Caused by: java.lang.NullPointerException >>>>>>>>> at >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:69) >>>>>>>>> at >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> org.geotools.renderer.lite.gridcoverage2d.RasterSymbolizerHelper.execute(RasterSymbolizerHelper.java:48) >>>>>>>>> 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) >>>>>>>>> ... 3 more >>>>>>>>> >>>>>>>>> Any help more than welcome, >>>>>>>>> Martin >>>>>>>>> >>>>>>>>> >>>>>>>>> Simone Giannecchini wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> Ciao Martin, >>>>>>>>>> a way to achieve that is by using the RasterSymbolizer (2.5.0 and >>>>>>>>>> successive releases). >>>>>>>>>> See >>>>>>>>>> http://docs.codehaus.org/display/GEOTOOLS/Raster+Symbolizer+support >>>>>>>>>> for more information. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> 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 Mon, Feb 16, 2009 at 3:59 PM, Martin Tomko >>>>>>>>>> <martin.to...@geo.uzh.ch> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Dear all, >>>>>>>>>>> I am creating a gridcoverage2D (and consequently a geotiff, based >>>>>>>>>>> on >>>>>>>>>>> processing of a source geotiff DEM), and I want to quickly >>>>>>>>>>> visualize >>>>>>>>>>> the >>>>>>>>>>> results of the analysis. Instead of opening it in some GIS, I would >>>>>>>>>>> like >>>>>>>>>>> to assign a color model to the result.and display it through the >>>>>>>>>>> show() >>>>>>>>>>> method. I tried to change the viewtype, but it does not seem to >>>>>>>>>>> help. >>>>>>>>>>> >>>>>>>>>>> My GridCoverage2D is created as follows: >>>>>>>>>>> >>>>>>>>>>> WritableRaster hor = ...; >>>>>>>>>>> GridCoverage2D gchor = gcFactoryhor.create("hor", hor, env); >>>>>>>>>>> gchor.view(ViewType.GEOPHYSICS); >>>>>>>>>>> gchor.show(); >>>>>>>>>>> >>>>>>>>>>> and I use a GeoTiffWriter to output the geoTiff. Note that ArcMap >>>>>>>>>>> open >>>>>>>>>>> the geotiff fine (requiring classification to assign colors), as >>>>>>>>>>> well >>>>>>>>>>> as >>>>>>>>>>> a normal image viewer (e.g., XnView), but the result is just a >>>>>>>>>>> binary >>>>>>>>>>> nodata/anydata black and white rendering. >>>>>>>>>>> >>>>>>>>>>> I see that it is possible to assign colors in the GridCoverage2D >>>>>>>>>>> gchor >>>>>>>>>>> = >>>>>>>>>>> gcFactoryhor.create(...) part, but I am not sure how to map the >>>>>>>>>>> values >>>>>>>>>>> in the raster to the colors. Any hints welcome. >>>>>>>>>>> >>>>>>>>>>> Thanks >>>>>>>>>>> Martin >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> ------------------------------------------------------------------------------ >>>>>>>>>>> Open Source Business Conference (OSBC), March 24-25, 2009, San >>>>>>>>>>> Francisco, >>>>>>>>>>> CA >>>>>>>>>>> -OSBC tackles the biggest issue in open source: Open Sourcing the >>>>>>>>>>> Enterprise >>>>>>>>>>> -Strategies to boost innovation and cut costs with open source >>>>>>>>>>> participation >>>>>>>>>>> -Receive a $600 discount off the registration fee with the source >>>>>>>>>>> code: >>>>>>>>>>> SFAD >>>>>>>>>>> http://p.sf.net/sfu/XcvMzF8H >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Geotools-gt2-users mailing list >>>>>>>>>>> Geotools-gt2-users@lists.sourceforge.net >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> -- >>>>>>> Martin Tomko >>>>>>> Postdoctoral Research Assistant Geographic Information Systems >>>>>>> Division >>>>>>> Department of Geography >>>>>>> University of Zurich - Irchel >>>>>>> Winterthurerstr. 190 >>>>>>> CH-8057 Zurich, Switzerland >>>>>>> >>>>>>> email: martin.to...@geo.uzh.ch >>>>>>> site: http://www.geo.uzh.ch/~mtomko >>>>>>> mob: +41-788 629 558 >>>>>>> tel: +41-44-6355256 >>>>>>> fax: +41-44-6356848 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >> >> > > > -- > Martin Tomko > Postdoctoral Research Assistant > > Geographic Information Systems Division > Department of Geography > University of Zurich - Irchel > Winterthurerstr. 190 > CH-8057 Zurich, Switzerland > > email: martin.to...@geo.uzh.ch > site: http://www.geo.uzh.ch/~mtomko > mob: +41-788 629 558 > tel: +41-44-6355256 > fax: +41-44-6356848 > > > ------------------------------------------------------------------------------ > Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA > -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise > -Strategies to boost innovation and cut costs with open source participation > -Receive a $600 discount off the registration fee with the source code: SFAD > http://p.sf.net/sfu/XcvMzF8H > _______________________________________________ > Geotools-gt2-users mailing list > Geotools-gt2-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users > ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Geotools-gt2-users mailing list Geotools-gt2-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users