Hi Daniele,
thanks for your reply.
I tried using GeoTIFF store and it works, but I need to use PostGIS (v2.2)
database because I need to show an image that is the result of some raster
images' transformation (eg. calculate the average value of some bands in raster
images collected at different times). Moreover, I tiled the raster images
before storing them into PostGIS database.
That store seemed to me the best one to fit my goals. Is it correct?
Here there are the requested information.
GDALINFO
Driver: GTiff/GeoTIFF
Files: 10m.tiff
Size is 10980, 10980
Coordinate System is:
PROJCS["WGS 84 / UTM zone 32N",
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",9],
PARAMETER["scale_factor",0.9996],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",0],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
AXIS["Easting",EAST],
AXIS["Northing",NORTH],
AUTHORITY["EPSG","32632"]]
Origin = (600000.000000000000000,4900020.000000000000000)
Pixel Size = (10.000000000000000,-10.000000000000000)
Metadata:
AOT_RETRIEVAL_ACCURACY=0.0
AREA_OR_POINT=Area
BARE_SOILS_PERCENTAGE=13.036722
CLOUD_COVERAGE_ASSESSMENT=10.9763
CLOUD_SHADOW_PERCENTAGE=5.470848
DARK_FEATURES_PERCENTAGE=0.877505
DATATAKE_1_DATATAKE_SENSING_START=2015-09-02T10:10:26.027Z
DATATAKE_1_DATATAKE_TYPE=INS-NOBS
DATATAKE_1_ID=GS2A_20150902T101026_001020_N02.04
DATATAKE_1_SENSING_ORBIT_DIRECTION=DESCENDING
DATATAKE_1_SENSING_ORBIT_NUMBER=22
DATATAKE_1_SPACECRAFT_NAME=Sentinel-2A
DEGRADED_ANC_DATA_PERCENTAGE=0
DEGRADED_MSI_DATA_PERCENTAGE=0
FORMAT_CORRECTNESS_FLAG=FAILED
GENERAL_QUALITY_FLAG=PASSED
GENERATION_TIME=2016-11-26T08:46:20Z
GEOMETRIC_QUALITY_FLAG=PASSED
HIGH_PROBA_CLOUDS_PERCENTAGE=13.556615
L1C_TOA_QUANTIFICATION_VALUE=10000
L1C_TOA_QUANTIFICATION_VALUE_UNIT=none
L2A_AOT_QUANTIFICATION_VALUE=1000.0
L2A_AOT_QUANTIFICATION_VALUE_UNIT=none
L2A_BOA_QUANTIFICATION_VALUE=10000
L2A_BOA_QUANTIFICATION_VALUE_UNIT=none
L2A_WVP_QUANTIFICATION_VALUE=1000.0
L2A_WVP_QUANTIFICATION_VALUE_UNIT=cm
LOW_PROBA_CLOUDS_PERCENTAGE=3.424972
MEDIUM_PROBA_CLOUDS_PERCENTAGE=2.952299
NODATA_PIXEL_PERCENTAGE=0.000000
PREVIEW_GEO_INFO=BrowseImageFootprint
PREVIEW_IMAGE_URL=http://www.telespazio-vega.de
PROCESSING_BASELINE=02.04
PROCESSING_LEVEL=Level-2Ap
PRODUCT_START_TIME=2015-09-02T10:10:26.027Z
PRODUCT_STOP_TIME=2015-09-02T10:10:20.457Z
PRODUCT_TYPE=S2MSI2Ap
PRODUCT_URI=http://www.telespazio-vega.de
RADIATIVE_TRANSFER_ACCURAY=0.0
RADIOMETRIC_QUALITY_FLAG=PASSED
REFERENCE_BAND=B1
REFLECTANCE_CONVERSION_U=0.981020278678645
SATURATED_DEFECTIVE_PIXEL_PERCENTAGE=0.000036
SENSOR_QUALITY_FLAG=PASSED
SNOW_ICE_PERCENTAGE=0.158500
SPECIAL_VALUE_NODATA=0
SPECIAL_VALUE_SATURATED=65535
THIN_CIRRUS_PERCENTAGE=0.044854
VEGETATION_PERCENTAGE=55.968863
WATER_PERCENTAGE=4.508784
WATER_VAPOUR_RETRIEVAL_ACCURACY=0.0
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 600000.000, 4900020.000) ( 10d15' 8.93"E, 44d14'47.58"N)
Lower Left ( 600000.000, 4790220.000) ( 10d13'55.32"E, 43d15'29.36"N)
Upper Right ( 709800.000, 4900020.000) ( 11d37'35.93"E, 44d13'23.56"N)
Lower Right ( 709800.000, 4790220.000) ( 11d35' 1.71"E, 43d14' 8.16"N)
Center ( 654900.000, 4845120.000) ( 10d55'25.47"E, 43d44'34.56"N)
Band 1 Block=256x256 Type=UInt16, ColorInterp=Red
Description = B4, central wavelength 665 nm
Metadata:
BANDNAME=B4
BANDWIDTH=30
BANDWIDTH_UNIT=nm
SOLAR_IRRADIANCE=1512.79
SOLAR_IRRADIANCE_UNIT=W/m2/um
WAVELENGTH=665
WAVELENGTH_UNIT=nm
Band 2 Block=256x256 Type=UInt16, ColorInterp=Green
Description = B3, central wavelength 560 nm
Metadata:
BANDNAME=B3
BANDWIDTH=35
BANDWIDTH_UNIT=nm
SOLAR_IRRADIANCE=1822.61
SOLAR_IRRADIANCE_UNIT=W/m2/um
WAVELENGTH=560
WAVELENGTH_UNIT=nm
Band 3 Block=256x256 Type=UInt16, ColorInterp=Blue
Description = B2, central wavelength 490 nm
Metadata:
BANDNAME=B2
BANDWIDTH=65
BANDWIDTH_UNIT=nm
SOLAR_IRRADIANCE=1941.63
SOLAR_IRRADIANCE_UNIT=W/m2/um
WAVELENGTH=490
WAVELENGTH_UNIT=nm
Band 4 Block=256x256 Type=UInt16, ColorInterp=Undefined
Description = B8, central wavelength 842 nm
Metadata:
BANDNAME=B8
BANDWIDTH=115
BANDWIDTH_UNIT=nm
SOLAR_IRRADIANCE=1036.39
SOLAR_IRRADIANCE_UNIT=W/m2/um
WAVELENGTH=842
WAVELENGTH_UNIT=nm
Band 5 Block=256x256 Type=UInt16, ColorInterp=Undefined
Description = AOT, Aerosol Optical Thickness map (at 550nm)
Metadata:
BANDNAME=AOT
Band 6 Block=256x256 Type=UInt16, ColorInterp=Undefined
Description = WVP, Scene-average Water Vapour map
Metadata:
BANDNAME=WVP
FULL LOG OF GEOSERVER EXCEPTION
org.apache.wicket.WicketRuntimeException: Method onRequest of interface
org.apache.wicket.behavior.IBehaviorListener targeted at
org.apache.wicket.ajax.markup.html.AjaxLink$1@25a5d49b on component [AjaxLink
[Component id = link]] threw an exception at
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:268)
at
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
at
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
at
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:865)
at
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
at
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
at
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
at
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
at
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
at org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:147)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
at
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:859)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:844)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808) at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
at
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:28)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)
at org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)
at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)
at
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:116)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:157)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
at
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
at
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
at
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:152)
at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:87) at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42) at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44) at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:499) at
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at
org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
at java.lang.Thread.run(Thread.java:745) Caused by:
java.lang.reflect.InvocationTargetException at
sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source) at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498) at
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
... 101 more Caused by: java.lang.RuntimeException: Error occurred while
building the resources for the configuration page at
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:354)
at org.geoserver.web.data.layer.NewLayerPage$8.onClick(NewLayerPage.java:280)
at org.geoserver.web.wicket.SimpleAjaxLink$1.onClick(SimpleAjaxLink.java:47) at
org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:84) at
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155) at
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:588)
... 105 more Caused by: java.lang.Exception: Unable to acquire test coverage
for format:ImageMosaicJDBC at
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:980) at
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:859) at
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:344)
... 110 more
On 05 Dec 2016, at 15:11, Daniele Romagnoli
<[email protected]<mailto:[email protected]>>
wrote:
Hi Tommaso,
couple of questions for you so we can provide you some more assistance based on
your feedbacks:
- could you run a gdalinfo on the L2A output after being gdal_translated and
report back the output?
- did you consider using GeoTIFF or ImageMosaic stores instead of
imagemosaic-jdbc (why this format?)
- could you provide us the full log (as txt file) of the GeoServer exception?
Please, let us know.
Best Regards,
Daniele
On Mon, Dec 5, 2016 at 10:09 AM, Tommaso Pirini
<[email protected]<mailto:[email protected]>> wrote:
Hi all,
I need to show in a web application an esa image, corrected by sen2cor 2.2.1
(standard parameters).
After the sen2cor elaboration, I use the gdal_translate function to obtain a
GeoTiff version of that image (just for the 10m bands).
The command is the following (see
here1<http://www.gdal.org/frmt_sentinel2.html> for details):
gdal_translate SENTINEL2_L2A:<FILENAME>.xml:10m:EPSG_32632 10m.tif -co TILED=YES
After this I followed this
tutorial<http://docs.geoserver.org/stable/en/user/tutorials/imagemosaic-jdbc/imagemosaic-jdbc_tutorial.html>
from the geoserver website. I'm using Geoserver 2.9.0.
Using L1C images the process succeed, but if I try the same process with a
sen2cor corrected image, I get this error:
<error1.jpg>
Any suggestion?
Thanks!
_________________________
Tommaso Pirini, PhD
Computer Engineer
email: [email protected]<mailto:[email protected]>
Skype: tommy.piro24
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
==
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://www.geo-solutions.it/>
http://twitter.com/geosolutions_it
-------------------------------------------------------
AVVERTENZE AI SENSI DEL D.Lgs. 196/2003
Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i
file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo
è consentito esclusivamente al destinatario del messaggio, per le finalità
indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne
il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di
procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro
sistema. Conservare il messaggio stesso, divulgarlo anche in parte,
distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse,
costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.
The information in this message and/or attachments, is intended solely for the
attention and use of the named addressee(s) and may be confidential or
proprietary in nature or covered by the provisions of privacy act (Legislative
Decree June, 30 2003, no.196 - Italy's New Data Protection Code).Any use not in
accord with its purpose, any disclosure, reproduction, copying, distribution,
or either dissemination, either whole or partial, is strictly forbidden except
previous formal approval of the named addressee(s). If you are not the intended
recipient, please contact immediately the sender by telephone, fax or e-mail
and delete the information in this message that has been received in error. The
sender does not give any warranty or accept liability as the content, accuracy
or completeness of sent messages and accepts no responsibility for changes
made after they were sent or for other risks which arise as a result of e-mail
transmission, viruses, etc.
------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users