Hi list,
I've been experimenting a bit with the 1.5.beta2 WCS and have run into a problem which looks like its caused when resampling the data (within the same CRS) when the source and target grids don't have the same width:height ratio (although it seems to work when the ratio matches to within a few decimal places). Probably really a GeoTools problem, but since I'm meeting it through GeoServer then I'll post it here.
In this case the source data header (ArcGrid) is
ncols 403
nrows 300
xllcorner 4428336.328601
yllcorner 5800831.4255006
cellsize 1.6166666666693
and I get the stacktrace below.
When I try the same request on source data
ncols 1298
nrows 967
xllcorner 4428336.3286009
yllcorner 5800831.4255015
cellsize 0.5
or
ncols 130
nrows 97
xllcorner 4428336.328601
yllcorner 5800831.4255006
cellsize 5
Then I get the expected image result.
(in case it helps, the GeoTools coverage jar gt2-coverage-2.3.1-SNAPSHOT.jar is dated 2007-01-18 15:21)
Cheers,
Edward Nash
Request: null
coverage:preagro:2003
output format:JPEG
version:1.0.0
envelope:Env[4428336.328601 : 4428986.328601, 5800831.4255006 : 5801316.4255006]
interpolation:null
89308547 [WARNUNG] org.vfny.geoserver.servlets.AbstractService - service exception while executing request:
Request: null
coverage:preagro:2003
output format:JPEG
version:1.0.0
envelope:Env[4428336.328601 : 4428986.328601, 5800831.4255006 : 5801316.4255006]
interpolation:null
cause: java.lang.IllegalArgumentException: The operation name parameter may not be null.
89308547 [WARNUNG] org.vfny.geoserver.wcs.WcsException - encountered error: java.lang.IllegalArgumentException: The operation name parameter may not be null.
org.vfny.geoserver.wcs.WcsException: java.lang.IllegalArgumentException: The operation name parameter may not be null.
at org.vfny.geoserver.wcs.responses.CoverageResponse.execute(CoverageResponse.java:247)
at org.vfny.geoserver.wcs.responses.CoverageResponse.execute(CoverageResponse.java:191)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:535)
at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:340)
at org.geoserver.request.Dispatcher.dispatch(Dispatcher.java:195)
at org.geoserver.request.Dispatcher.handleRequestInternal(Dispatcher.java:58)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalArgumentException: The operation name parameter may not be null.
at javax.media.jai.JAI.createNS(JAI.java:1058)
at org.geotools.coverage.processing.operation.Resampler2D.reproject(Resampler2D.java:521)
at org.geotools.coverage.processing.operation.Resample.doOperation(Resample.java:201)
at org.vfny.geoserver.util.WCSUtils.scale(WCSUtils.java:205)
at org.vfny.geoserver.wcs.responses.CoverageResponse.getFinalCoverage(CoverageResponse.java:430)
at org.vfny.geoserver.wcs.responses.CoverageResponse.execute(CoverageResponse.java:235)
... 32 more
--
preagro TP7 - Geodateninfrastruktur
http://www.preagro.de
Universität Rostock
Agrar- und Umweltwissenschaftliche Fakultät
Professur für Geodäsie und Geoinformatik
Justus-von-Liebig-Weg 6
18059 Rostock
Tel: +49 381 498 2164
Fax: +49 381 498 2188
Web: http://www.auf.uni-rostok.de/gg