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 <[email protected]> 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 <[email protected]>
>> 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/[email protected]/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 <[email protected]>
>>>> 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
>>>>>> <[email protected]>
>>>>>> 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
>>>>>>>> <[email protected]>
>>>>>>>> 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
>>>>>>>>> [email protected]
>>>>>>>>> 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:  [email protected]
>>>>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to