Ciao Martin, I use the sample code here:
http://pastebin.com/f79de1989 with this style: http://pastebin.com/f2dd587d8 and here is the result: http://imagebin.ca/view/CEOGgY.html I am using geotools 2.5.x branch. 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:44 PM, Martin Tomko <martin.to...@geo.uzh.ch> wrote: > Dear Simone, > attached is a geotiff output of my processing. There is not difference in > the way how the gridcoverage is shown or the tiff created whether it is > including the channel selection or not. > Cheers > Martin > > Simone Giannecchini wrote: >> >> 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 >>> >>> >> >> >> > > > -- > 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