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 >>> >>> >>> > > > > ------------------------------------------------------------------------------ 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