This is my first encounter with Geoserver 1.5.3 on WinXP SP2. My hearty
congratulations to the developers for making it so easy to install. I really
found it easy to start serving the demo data.
I then built a mosaic from 34 GeoTiffs, each with a size of about 183MB
including overviews, following the instructions for using gdal at: http://docs.codehaus.org/display/GEOSDOC/Using+the+ImageMosaic+plugin I have
two issues and I am hoping that the gurus on this list might give me some
pointers on where I am going wrong.
Issue 1:
One of the images is appearing twice, the one position is wrong and so it
overlays another image. I have checked the index shapefile and all appears
to be in order. gdalinfo Also reports the correct projection information
embedded in the GeoTiff (no World Files).
Issue 2:
I find it very difficult to obtain a rendered image due to frequent errors.
I have tried with uDig and Openlayers and the behaviour is the same.
Sometimes I'll get a black screen then if I pan slightly the image appears
correctly. Most other times I cannot retrieve an image at all. uDig gives
the error message: Unexpected end of file from server.
I don't know where to look for error logs or what to look for once I find an
error log, so any pointers will be greatly appreciated. What sort of
hardware is generally advised for this sort of thing? I have a very basic
machine (1GHz processor with 512MB of RAM).
Issue 1:
One of the images is appearing twice, the one position is wrong and so it
overlays another image. I have checked the index shapefile and all appears
to be in order. gdalinfo Also reports the correct projection information
embedded in the GeoTiff (no World Files).
I've never seen this issue... the only way for us to try and track this
down is probably to get a hold on the mosaic. Is there any way you can
let us access it? (by putting it on a http/ftp server, or pointing us
at the images if they are freely downloadable somewhere).
Issue 2:
I find it very difficult to obtain a rendered image due to frequent errors.
I have tried with uDig and Openlayers and the behaviour is the same.
Sometimes I'll get a black screen then if I pan slightly the image appears
correctly. Most other times I cannot retrieve an image at all. uDig gives
the error message: Unexpected end of file from server.
I don't know where to look for error logs or what to look for once I find an
error log, so any pointers will be greatly appreciated.
In your geoserver install, look for the data directory, there is a logs subdirectory in it, and there you can find the log files.
What sort of
hardware is generally advised for this sort of thing? I have a very basic
machine (1GHz processor with 512MB of RAM).
I fear that's too basic. A decent machine to do web gis serving should be a modern one, dual core and 2GB or memory.
Anyways, let's try to get the most of what you have. Try to follow
the instructions at http://docs.codehaus.org/display/GEOSDOC/5+GeoServer+in+Production+Environment,
in particular, make sure you're running java6 and adjust the virtual machine settings to use the server vm (you'll have to modify the links
that do start geoserver in your windows menu).
Also, if you're serving imagery, modify the OL page we generate for the
preview to use JPEG format instead of png format.
I turned logging on and found the following in the log:
2007/12/05 12:05:36 org.vfny.geoserver.servlets.AbstractService doService
WARNING: service exception while executing request: org.vfny.geoserver.wms.requests.GetLegendGraphicRequest@anonymised.com
cause: Can't get input stream from URL!
2007/12/05 12:05:36 org.vfny.geoserver.servlets.AbstractService sendError
SEVERE: Service exception occurred
org.vfny.geoserver.wms.WmsException: Can't get input stream from URL!
at org.vfny.geoserver.wms.responses.DefaultRasterLegendProducer.produceLegendGraphic(DefaultRasterLegendProducer.java:232)
at org.vfny.geoserver.wms.responses.GetLegendGraphicResponse.execute(GetLegendGraphicResponse.java:80)
at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:516)
at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:315)
at org.geoserver.request.Dispatcher.dispatch(Dispatcher.java:192)
at org.geoserver.request.Dispatcher.handleRequestInternal(Dispatcher.java:52)
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.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:445)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1050)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:627)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:430)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:687)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:492)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:199)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339)
at org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: javax.imageio.IIOException: Can't get input stream from URL!
at javax.imageio.ImageIO.read(ImageIO.java:1369)
at org.vfny.geoserver.wms.responses.DefaultRasterLegendProducer.produceLegendGraphic(DefaultRasterLegendProducer.java:224)
at java.net.URL.openStream(URL.java:1009)
at javax.imageio.ImageIO.read(ImageIO.java:1367)
... 32 more
2007/12/05 12:06:11 org.vfny.geoserver.servlets.AbstractService doService
I took a look at the above page and found the instructions daunting, basically because I have no experience with Java. Given my limiting hardware, that I currently use for Geoserver, I think the best use of my time will be to implement the advanced configuration on a decent machine. I will wait for a day when I am brave enough to tinker with my production box
Well, if you want you can join us on the GeoServer IRC channel at irc.freenode.net and we can try to help you setting up the config.
Cheers
Andrea