Hi Daniele,
Thank you very much for your response! Will do that then.

Best regards,
Tom

El vie., 16 ago. 2019 a las 5:01, Daniele Romagnoli (<
[email protected]>) escribió:

> Dear Tomas,
> note that these are 4 Float32 bands.
> When you open it on QGIS, it automatically applies some contrast-stretch
> and band selection, making them looks-like an RGB dataset.
> On GeoServer, you can use the 3 bands channelselection+contrastEnhancement
> SLD you have applied.
> I think there is some issue when applying the bandSelect (as reported on
> your logs) to go from 4 bands to 3 bands in order to write it as JPEG
> (which only supports 1 or 3 bands).
> Could you please check if there is already a JIRA on GeoServer reporting
> the same issue and, if not, create a bug-report with sample data and SLD to
> replicate the problem?
>
> Best Regards,
> Daniele
>
> On Wed, Aug 14, 2019 at 10:51 PM Tomas Link <[email protected]>
> wrote:
>
>> Hi all.
>>
>> I have a raster
>> <https://drive.google.com/file/d/1Pnr6EzXxIs5kl_b6mt5NHovYiufjG3Bx/view?usp=sharing>
>> that contains 4 bands: 2th, 3th, 4th, and 8th bands from sentinel 2A
>> dataset.
>> These are BLUE, GREEN, RED, NIR, respectively. When I upload this raster
>> to GeoServer, Layer Preview (WMS) section gives me a blank image. I tried
>> many things for days and read all the information I could find but i'm
>> really stuck. I'm hoping you can help me with this problem. I will describe
>> here all the things I've been trying.
>>
>> I'm using GeoServer 2.15.1 in Ubungu 18.04.1 LTS.
>>
>> This is the complete gdalinfo for the raster:
>>
>> Driver: GTiff/GeoTIFF
>> Files: test.tiff
>> Size is 1999, 1579
>> Coordinate System is:
>> PROJCS["WGS 84 / UTM zone 19S",
>>     GEOGCS["WGS 84",
>>         DATUM["WGS_1984",
>>             SPHEROID["WGS 84",6378137,298.257223563,
>>                 AUTHORITY["EPSG","7030"]],
>>             AUTHORITY["EPSG","6326"]],
>>         PRIMEM["Greenwich",0,
>>             AUTHORITY["EPSG","8901"]],
>>         UNIT["degree",0.0174532925199433,
>>             AUTHORITY["EPSG","9122"]],
>>         AUTHORITY["EPSG","4326"]],
>>     PROJECTION["Transverse_Mercator"],
>>     PARAMETER["latitude_of_origin",0],
>>     PARAMETER["central_meridian",-69],
>>     PARAMETER["scale_factor",0.9996],
>>     PARAMETER["false_easting",500000],
>>     PARAMETER["false_northing",10000000],
>>     UNIT["metre",1,
>>         AUTHORITY["EPSG","9001"]],
>>     AXIS["Easting",EAST],
>>     AXIS["Northing",NORTH],
>>     AUTHORITY["EPSG","32719"]]
>> Origin = (560050.000000000000000,5700040.000000000000000)
>> Pixel Size = (10.000000000000000,-10.000000000000000)
>> Metadata:
>>   AREA_OR_POINT=Area
>> Image Structure Metadata:
>>   INTERLEAVE=PIXEL
>> Corner Coordinates:
>> Upper Left  (  560050.000, 5700040.000) ( 68d18'28.85"W, 38d50'47.07"S)
>> Lower Left  (  560050.000, 5684250.000) ( 68d18'23.87"W, 38d59'19.28"S)
>> Upper Right (  580040.000, 5700040.000) ( 68d 4'39.66"W, 38d50'41.34"S)
>> Lower Right (  580040.000, 5684250.000) ( 68d 4'33.02"W, 38d59'13.52"S)
>> Center      (  570045.000, 5692145.000) ( 68d11'31.34"W, 38d55' 0.51"S)
>> *Band 1 Block=1999x1 Type=Float32, ColorInterp=Gray*
>> *Band 2 Block=1999x1 Type=Float32, ColorInterp=Undefined*
>> *Band 3 Block=1999x1 Type=Float32, ColorInterp=Undefined*
>> *Band 4 Block=1999x1 Type=Float32, ColorInterp=Undefined*
>>
>> *1)* Opened the same raster in QGIS, the raster renders RGB bands just
>> fine (well, just with RED-BLUE inverted...)
>> *2) *Downloaded the raster uploaded in GeoServer via QGIS. I noted that
>> the downloaded file from geoserver now has these band specifications in
>> gdalinfo:
>>
>> *Band 1 Block=512x512 Type=Float32, ColorInterp=Red*
>> *Band 2 Block=512x512 Type=Float32, ColorInterp=Green*
>> *Band 3 Block=512x512 Type=Float32, ColorInterp=Blue*
>> *Band 4 Block=512x512 Type=Float32, ColorInterp=Alpha*
>>
>> So, by default GeoServer seems to be interpreting the bands color in that
>> way.
>> If I open this raster in QGIS, I see a blank image. I discovered that the
>> reason for this is that QGIS assigns the ALPHA channel as a transparency
>> band. Selecting None in transparency band, QGIS renders again just fine.
>> At this point I started to think that is a problem related to the alpha
>> band, or with any raster with more than 3 bands.
>>
>> *3)* I removed the 4th band from the raster, and uploaded to GeoServer.
>> Now the image is all black, but adding a proper SLD style with contrast
>> enhancement (generated from QGIS) GeoServer render the raster just fine.
>> This is the SLD:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <StyledLayerDescriptor xmlns="http://www.opengis.net/sld"; xmlns:ogc="
>> http://www.opengis.net/ogc"; version="1.0.0" xmlns:gml="
>> http://www.opengis.net/gml"; xmlns:sld="http://www.opengis.net/sld";>
>>   <UserLayer>
>>     <sld:LayerFeatureConstraints>
>>       <sld:FeatureTypeConstraint/>
>>     </sld:LayerFeatureConstraints>
>>     <sld:UserStyle>
>>       <sld:Name>testrgb</sld:Name>
>>       <sld:FeatureTypeStyle>
>>         <sld:Rule>
>>           <sld:RasterSymbolizer>
>>             <sld:ChannelSelection>
>>               <sld:RedChannel>
>>                 <sld:SourceChannelName>3</sld:SourceChannelName>
>>                 <sld:ContrastEnhancement>
>>                   <sld:Normalize>
>>                     <sld:VendorOption
>> name="algorithm">StretchToMinimumMaximum</sld:VendorOption>
>>                     <sld:VendorOption
>> name="minValue">0.0506552</sld:VendorOption>
>>                     <sld:VendorOption
>> name="maxValue">0.25763</sld:VendorOption>
>>                   </sld:Normalize>
>>                 </sld:ContrastEnhancement>
>>               </sld:RedChannel>
>>               <sld:GreenChannel>
>>                 <sld:SourceChannelName>2</sld:SourceChannelName>
>>                 <sld:ContrastEnhancement>
>>                   <sld:Normalize>
>>                     <sld:VendorOption
>> name="algorithm">StretchToMinimumMaximum</sld:VendorOption>
>>                     <sld:VendorOption
>> name="minValue">0.07764</sld:VendorOption>
>>                     <sld:VendorOption
>> name="maxValue">0.209892</sld:VendorOption>
>>                   </sld:Normalize>
>>                 </sld:ContrastEnhancement>
>>               </sld:GreenChannel>
>>               <sld:BlueChannel>
>>                 <sld:SourceChannelName>1</sld:SourceChannelName>
>>                 <sld:ContrastEnhancement>
>>                   <sld:Normalize>
>>                     <sld:VendorOption
>> name="algorithm">StretchToMinimumMaximum</sld:VendorOption>
>>                     <sld:VendorOption
>> name="minValue">0.0916334</sld:VendorOption>
>>                     <sld:VendorOption
>> name="maxValue">0.20144</sld:VendorOption>
>>                   </sld:Normalize>
>>                 </sld:ContrastEnhancement>
>>               </sld:BlueChannel>
>>             </sld:ChannelSelection>
>>           </sld:RasterSymbolizer>
>>         </sld:Rule>
>>       </sld:FeatureTypeStyle>
>>     </sld:UserStyle>
>>   </UserLayer>
>> </StyledLayerDescriptor>
>>
>> *4)* I applied the same SLD style to the raster with 4 bands, and got
>> this following NullPointerException:
>>
>> java.lang.NullPointerException
>> at
>> it.geosolutions.jaiext.bandselect.BandSelectOpImage.computeTile(BandSelectOpImage.java:142)
>> at
>> it.geosolutions.jaiext.bandselect.BandSelectOpImage.getTile(BandSelectOpImage.java:156)
>> at javax.media.jai.RenderedOp.getTile(RenderedOp.java:2257)
>> at
>> com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeOnThread(JPEGImageWriter.java:401)
>> at
>> com.sun.imageio.plugins.jpeg.JPEGImageWriter.write(JPEGImageWriter.java:363)
>> at org.geotools.image.ImageWorker.writeJPEG(ImageWorker.java:4002)
>> at
>> org.geoserver.wms.map.JPEGMapResponse.formatImageOutputStream(JPEGMapResponse.java:69)
>> at
>> org.geoserver.wms.map.RenderedImageMapResponse.write(RenderedImageMapResponse.java:112)
>> at org.geoserver.ows.Dispatcher.response(Dispatcher.java:1029)
>> at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:268)
>> at
>> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177)
>> at
>> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52)
>> at
>> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
>> at
>> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
>> at
>> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:998)
>> at
>> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:890)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
>> at
>> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
>> at
>> org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69)
>> at
>> org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:73)
>> at
>> org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66)
>> at
>> org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
>> at
>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>> org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:51)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
>> at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>> org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:81)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70)
>> at
>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
>> at
>> org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74)
>> at
>> org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
>> at
>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
>> at
>> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
>> at
>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
>> at
>> org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142)
>> at
>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357)
>> at
>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:90)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:79)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
>> at
>> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
>> at
>> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>> at
>> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
>> at
>> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
>> at
>> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
>> at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
>> at
>> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
>> at org.eclipse.jetty.server.Server.handle(Server.java:503)
>> at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
>> at
>> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
>> at
>> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
>> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
>> at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
>> at
>> org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
>> at
>> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
>> at java.lang.Thread.run(Thread.java:748)
>>
>> I couldn't figure out if this exception has anything to do with the 4th
>> band.
>>
>> 5) If I change *StretchToMinimumMaximum to **ClipToMinimumMaximum,* the
>> nullpointerexception goes away, but now I see a blank image again.
>>
>> 6) Applying the following SLD style (also generated in QGIS) that renders
>> only the first band as greyscale works:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <StyledLayerDescriptor xmlns="http://www.opengis.net/sld"; xmlns:gml="
>> http://www.opengis.net/gml"; xmlns:sld="http://www.opengis.net/sld";
>> version="1.0.0" xmlns:ogc="http://www.opengis.net/ogc";>
>>   <UserLayer>
>>     <sld:LayerFeatureConstraints>
>>       <sld:FeatureTypeConstraint/>
>>     </sld:LayerFeatureConstraints>
>>     <sld:UserStyle>
>>       <sld:Name>test</sld:Name>
>>       <sld:FeatureTypeStyle>
>>         <sld:Rule>
>>           <sld:RasterSymbolizer>
>>             <sld:ChannelSelection>
>>               <sld:GrayChannel>
>>                 <sld:SourceChannelName>1</sld:SourceChannelName>
>>                 <sld:ContrastEnhancement>
>>                   <sld:Normalize>
>>                     <sld:VendorOption
>> name="algorithm">ClipToMinimumMaximum</sld:VendorOption>
>>                     <sld:VendorOption
>> name="minValue">0.0803</sld:VendorOption>
>>                     <sld:VendorOption
>> name="maxValue">0.193875</sld:VendorOption>
>>                   </sld:Normalize>
>>                 </sld:ContrastEnhancement>
>>               </sld:GrayChannel>
>>             </sld:ChannelSelection>
>>             <sld:ColorMap>
>>               <sld:ColorMapEntry opacity="0" color="#000000"
>> quantity="0.0869045"/>
>>               <sld:ColorMapEntry color="#000000" quantity="0.0869045"/>
>>               <sld:ColorMapEntry color="#ffffff" quantity="0.193875"/>
>>               <sld:ColorMapEntry opacity="0" color="#ffffff"
>> quantity="0.193875"/>
>>             </sld:ColorMap>
>>           </sld:RasterSymbolizer>
>>         </sld:Rule>
>>       </sld:FeatureTypeStyle>
>>     </sld:UserStyle>
>>   </UserLayer>
>> </StyledLayerDescriptor>
>>
>>
>> The only thing that makes sense to me is that GeoServer is interpreting
>> the 4th band as a transparency band (like QGIS). But I really don't know if
>> this is the case or if can be disabled.
>> Thanks in advance.
>>
>> Tomás
>>
>>
>>
>>
>>
>>
>> --
>>
>>
>> Tomás Juan Link
>>
>> Software Developer
>>
>> +54 (11) 4342-2976/84
>>
>> www.spacesur.com
>>
>> _______________________________________________
>> Geoserver-users mailing list
>>
>> Please make sure you read the following two resources before posting to
>> this list:
>> - Earning your support instead of buying it, but Ian Turton:
>> http://www.ianturton.com/talks/foss4g.html#/
>> - The GeoServer user list posting guidelines:
>> http://geoserver.org/comm/userlist-guidelines.html
>>
>> If you want to request a feature or an improvement, also see this:
>> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>>
>>
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>>
>
>
> --
> Regards,
> Daniele Romagnoli
> ==
> GeoServer Professional Services from the experts! Visit
> http://goo.gl/it488V for more information.
> ==
>
> Ing. Daniele Romagnoli
> Senior Software Engineer
>
> GeoSolutions S.A.S.
> Via di Montramito 3/A
> 55054  Massarosa (LU)
> Italy
> phone: +39 0584 962313
> fax:      +39 0584 1660272
>
> http://www.geo-solutions.it
> http://twitter.com/geosolutions_it
>
> -------------------------------------------------------
>
> Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE
> 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si
> precisa che ogni circostanza inerente alla presente email (il suo
> contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è
> riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il
> messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra
> operazione è illecita. Le sarei comunque grato se potesse darmene notizia.
>
> This email is intended only for the person or entity to which it is
> addressed and may contain information that is privileged, confidential or
> otherwise protected from disclosure. We remind that - as provided by
> European Regulation 2016/679 “GDPR” - copying, dissemination or use of this
> e-mail or the information herein by anyone other than the intended
> recipient is prohibited. If you have received this email by mistake, please
> notify us immediately by telephone or e-mail.
>


-- 


Tomás Juan Link

Software Developer

+54 (11) 4342-2976/84

www.spacesur.com
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to