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

Reply via email to