[Geoserver-devel] getting image from wms results in error

hello

i just installed geoserver 1.1. i'm still trying to get an image from the wms. executing the following url results in the following error-stack and causes the geoserver-application to be unavailable until restart. calling http://127.0.0.1:8081/geoserver/wfs/GetFeature for jpp:province returns the propper gml.
any idea?

thanks
jean-pierre

http://127.0.0.1:8081/geoserver/wms?REQUEST=GetMap&BBOX=-59,-1,151,61&LAYERS=jpp:province&STYLES=normal&WIDTH=600&HEIGHT=200&FORMAT=image/svg

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE ServiceExceptionReport...>
<ServiceExceptionReport version="1.1.0">
<ServiceException code="">UNCAUGHT EXCEPTION: java.lang.NoClassDefFoundError: javax/media/jai/ComponentSampleModelJAI at org.geotools.io.image.TextImageReader$Spi.<clinit>(TextImageReader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:219) at sun.misc.Service$LazyIterator.next(Service.java:270) at javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:174) at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:113) at javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:134) at javax.imageio.ImageIO.<clinit>(ImageIO.java:46) at org.geotools.renderer.lite.LiteRenderer.<clinit>(LiteRenderer.java:192) at org.vfny.geoserver.responses.wms.map.JAIMapResponse.<init>(JAIMapResponse.java:57) at org.vfny.geoserver.responses.wms.GetMapResponse.<clinit>(GetMapResponse.java:38) at org.vfny.geoserver.servlets.wms.GetMap.getResponseHandler(GetMap.java:42) at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:268) at org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:195) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:129) at org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:100) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151) at java.lang.Thread.run(Thread.java:534)</ServiceException>
</ServiceExceptionReport>

Oh, shoot, I forgot that you need Java Advanced Imagining for the WMS to
work. You can get it at
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
It's not a jar so we can't include it with GeoServer, you have to install
into your JVM.

Does anyone know if there's a good way to detect whether the user has JAI
installed? If it is then we can make it so the capabilities document only
advertises the non JAI ones, we can disable the JAIMapDelegate.

I'll make a note in the online docs.

Hrm. I was going to suggest that you try it with svg, but it looks like
you are issueing the request with format=image/svg, so I'm not sure why
it's going to the JAIMapResponse delegate, it should go to SVGMapResponse.
Could you send me the logs, with the loggingLevel set to FINER?

Chris

On Thu, 8 Jan 2004, Jean-Pierre Praz wrote:

hello

i just installed geoserver 1.1. i'm still trying to get an image from the
wms. executing the following url results in the following error-stack and
causes the geoserver-application to be unavailable until restart. calling
http://127.0.0.1:8081/geoserver/wfs/GetFeature for jpp:province returns the
propper gml.
any idea?

thanks
jean-pierre

http://127.0.0.1:8081/geoserver/wms?REQUEST=GetMap&BBOX=-59,-1,151,61&LAYERS=jpp:province&STYLES=normal&WIDTH=600&HEIGHT=200&FORMAT=image/svg

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE ServiceExceptionReport...>
<ServiceExceptionReport version="1.1.0">
<ServiceException code="">UNCAUGHT EXCEPTION:
java.lang.NoClassDefFoundError: javax/media/jai/ComponentSampleModelJAI at
org.geotools.io.image.TextImageReader$Spi.<clinit>(TextImageReader.java:356)
at java.lang.Class.forName0(Native Method) at
java.lang.Class.forName(Class.java:219) at
sun.misc.Service$LazyIterator.next(Service.java:270) at
javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:174)
at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:113) at
javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:134) at
javax.imageio.ImageIO.<clinit>(ImageIO.java:46) at
org.geotools.renderer.lite.LiteRenderer.<clinit>(LiteRenderer.java:192) at
org.vfny.geoserver.responses.wms.map.JAIMapResponse.<init>(JAIMapResponse.java:57)
at
org.vfny.geoserver.responses.wms.GetMapResponse.<clinit>(GetMapResponse.java:38)
at
org.vfny.geoserver.servlets.wms.GetMap.getResponseHandler(GetMap.java:42)
at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:268)
at
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:195)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:129)
at
org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:100)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
at java.lang.Thread.run(Thread.java:534)</ServiceException>
</ServiceExceptionReport>

-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--

At 08:00 PM 1/8/2004 +0100, Jean-Pierre Praz wrote:

hello

i just installed geoserver 1.1. i'm still trying to get an image from the wms. executing the following url results in the following error-stack and causes the geoserver-application to be unavailable until restart. calling http://127.0.0.1:8081/geoserver/wfs/GetFeature for jpp:province returns the propper gml.
any idea?

The key part of that error message is a class not found for:
javax/media/jai/ComponentSampleModelJAI

The JAI (Java Advanced Imaging) API is a standard extension for java provided by sun as such it can not be distributed along with GeoServer directly. You will need to download and install it on your machine (and probably the JAI imageio library as well).

You can find both of them at:
http://java.sun.com/products/java-media/jai/current.html

That said we need a more helpful and informative error message in the future as well as a note in the readme file explaining how to obtain the JAI libraries.

James

Hmmmm... Since GeoServer is a JDK 1.4 application, why doesn't it just
use the Imageio classes included in the standard Java distribution
instead of the older JAI classes?

Doug

On Thu, 2004-01-08 at 11:18, Chris Holmes wrote:

Oh, shoot, I forgot that you need Java Advanced Imagining for the WMS to
work. You can get it at
http://java.sun.com/products/java-media/jai/downloads/download-1_1_2.html
It's not a jar so we can't include it with GeoServer, you have to install
into your JVM.

Does anyone know if there's a good way to detect whether the user has JAI
installed? If it is then we can make it so the capabilities document only
advertises the non JAI ones, we can disable the JAIMapDelegate.

I'll make a note in the online docs.

Hrm. I was going to suggest that you try it with svg, but it looks like
you are issueing the request with format=image/svg, so I'm not sure why
it's going to the JAIMapResponse delegate, it should go to SVGMapResponse.
Could you send me the logs, with the loggingLevel set to FINER?

Chris

On Thu, 8 Jan 2004, Jean-Pierre Praz wrote:

> hello
>
> i just installed geoserver 1.1. i'm still trying to get an image from the
> wms. executing the following url results in the following error-stack and
> causes the geoserver-application to be unavailable until restart. calling
> http://127.0.0.1:8081/geoserver/wfs/GetFeature for jpp:province returns the
> propper gml.
> any idea?
>
> thanks
> jean-pierre
>
> http://127.0.0.1:8081/geoserver/wms?REQUEST=GetMap&BBOX=-59,-1,151,61&LAYERS=jpp:province&STYLES=normal&WIDTH=600&HEIGHT=200&FORMAT=image/svg
>
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <!DOCTYPE ServiceExceptionReport...>
> <ServiceExceptionReport version="1.1.0">
> <ServiceException code="">UNCAUGHT EXCEPTION:
> java.lang.NoClassDefFoundError: javax/media/jai/ComponentSampleModelJAI at
> org.geotools.io.image.TextImageReader$Spi.<clinit>(TextImageReader.java:356)
> at java.lang.Class.forName0(Native Method) at
> java.lang.Class.forName(Class.java:219) at
> sun.misc.Service$LazyIterator.next(Service.java:270) at
> javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:174)
> at javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:113) at
> javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:134) at
> javax.imageio.ImageIO.<clinit>(ImageIO.java:46) at
> org.geotools.renderer.lite.LiteRenderer.<clinit>(LiteRenderer.java:192) at
> org.vfny.geoserver.responses.wms.map.JAIMapResponse.<init>(JAIMapResponse.java:57)
> at
> org.vfny.geoserver.responses.wms.GetMapResponse.<clinit>(GetMapResponse.java:38)
> at
> org.vfny.geoserver.servlets.wms.GetMap.getResponseHandler(GetMap.java:42)
> at
> org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:268)
> at
> org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:195)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
> org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:129)
> at
> org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:100)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
> at
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
> at java.lang.Thread.run(Thread.java:534)</ServiceException>
> </ServiceExceptionReport>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Perforce Software.
> Perforce is the Fast Software Configuration Management System offering
> advanced branching capabilities and atomic changes on 50+ platforms.
> Free Eval! http://www.perforce.com/perforce/loadprog.html
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>

hello

after installing "java advanced imaging" i get the following output. there's no geometry...!?

<?xml version="1.0" standalone="no"?>
         <!DOCTYPE svg
         PUBLIC "-//W3C//DTD SVG 20001102//EN"
         "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd&quot;&gt;
<svg
         stroke="green"
         fill="none"
         stroke-width="0.001%"
         width="600"
         height="200"
         viewBox="-59 -1 210 62"
         preserveAspectRatio="xMidYMid meet">
<g id="jpp:province" class="jpp:province">
</g>
</svg>

and here's the corresponding log. when i execute the sql from the log i get the correct geometry. any idea why there are no geometry-objects in the svg?

thanks

jean-pierre

23444 [FEIN] org.vfny.geoserver.requests.readers.KvpRequestReader - clean request is REQUEST=GetMap&BBOX=-59,-1,151,61&LAYERS=jpp:province&STYLES=normal&WIDTH=600&HEIGHT=200&FORMAT=image/svg&EXCEPTION=application/vnd.ogc.se_xml
  23444 [FEIN] org.vfny.geoserver.requests.readers.KvpRequestReader - returning parsed {LAYERS=jpp:province, BBOX=-59,-1,151,61, HEIGHT=200, REQUEST=GetMap, STYLES=normal, WIDTH=600, FORMAT=image/svg, EXCEPTION=application/vnd.ogc.se_xml}
  23444 [FEINER] org.vfny.geoserver.requests.readers.DispatcherKvpReader - dispatcher got request GetMap
  23444 [FEINER] org.vfny.geoserver.servlets.wms.WmsDispatcher - req_type is 7
  23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service responses' stratagy
  23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service stratagy SPEED
  23484 [FEIN] org.vfny.geoserver.servlets.AbstractService - verifying configured stratagy
  23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service stratagy class org.vfny.geoserver.servlets.SpeedStratagy
  23544 [FEINER] org.vfny.geoserver.requests.readers.wms.GetMapKvpReader - parsing attributes null
  23544 [FEINER] org.vfny.geoserver.servlets.AbstractService - stratagy is: org.vfny.geoserver.servlets.SpeedStratagy@anonymised.com
  23815 [FEIN] org.geotools.renderer.lite.LiteRenderer - creating new lite renderer
  23815 [FEINER] org.vfny.geoserver.servlets.AbstractService - response handler is: org.vfny.geoserver.responses.wms.GetMapResponse@anonymised.com
  23815 [FEIN] org.vfny.geoserver.servlets.AbstractService - executing request
  23825 [INFO] org.vfny.geoserver.config.FeatureTypeConfig - got style org.geotools.styling.StyleImpl@anonymised.com from {green=org.geotools.styling.StyleImpl@anonymised.com, normal=org.geotools.styling.StyleImpl@anonymised.com, blue=org.geotools.styling.StyleImpl@anonymised.com, dotty=org.geotools.styling.StyleImpl@anonymised.com, thick outline=org.geotools.styling.StyleImpl@anonymised.com, maleVsFemale=org.geotools.styling.StyleImpl@anonymised.com}
  23835 [FEINER] ExpressionAttribute - ENTRY the_geom
  23835 [INFO] org.vfny.geoserver.config.DataStoreConfig - about to get datastore for DataStoreConfig[namespace=jpp, enabled=true, abstract=null, connection parameters={user=Jean-Pierre, passwd=postgres, host=localhost, charset=iso-8859-1, port=5432, database=atlas, dbtype=postgis}]
  23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.sde.SdeDataStoreFactory@anonymised.com is an available DataSource
  23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.oracle.OracleDataStoreFactory@anonymised.com is an available DataSource
  23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.postgis.PostgisDataStoreFactory@anonymised.com is an available DataSource
  23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.shapefile.ShapefileDataStoreFactory@anonymised.com is an available DataSource
  23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - about to get datastore for DataStoreConfig[namespace=jpp, enabled=true, abstract=null, connection parameters={user=Jean-Pierre, passwd=postgres, host=localhost, charset=iso-8859-1, port=5432, database=atlas, dbtype=postgis}]
  23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.sde.SdeDataStoreFactory@anonymised.com is an available DataSource
  23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.oracle.OracleDataStoreFactory@anonymised.com is an available DataSource
  23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.postgis.PostgisDataStoreFactory@anonymised.com is an available DataSource
  23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.shapefile.ShapefileDataStoreFactory@anonymised.com is an available DataSource
  23855 [FEIN] org.geotools.data.postgis.PostgisDataStore - get Feature source called on province
  23855 [FEIN] org.geotools.data.postgis.PostgisDataStore - returning pg feature locking
  23885 [FEIN] org.vfny.geoserver.servlets.AbstractService - execution succeed, mime type is: image/svg+xml
  23895 [FEINER] org.vfny.geoserver.servlets.AbstractService - stratagy output is: java.io.BufferedOutputStream
  23905 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - obtaining FeatureReader for jpp:province
  23915 [FEINER] AbstractFilter - ENTRY 4
  23925 [FEINER] AbstractFilter - ENTRY 4
  23935 [FEIN] org.geotools.data.jdbc.JDBCDataStore - calling sql builder with filter [ the_geom bbox POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1)) ]
  23935 [FEINER] AbstractFilter - ENTRY 4
  23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting GeometryFilter
  23935 [FEINER] org.geotools.filter.SQLEncoder - exporting ExpressionAttribute
  23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting LiteralExpression
  23935 [FEINER] org.geotools.filter.SQLEncoder - exporting ExpressionAttribute
  23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting LiteralExpression
  23935 [INFO] org.geotools.data.postgis.PostgisSQLBuilder - encoded where WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
  23945 [INFO] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT oid, AsText(force_2d("the_geom")) FROM "province" WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
  23945 [INFO] org.geotools.data.jdbc.JDBCDataStore - About to execure query: SELECT oid, AsText(force_2d("the_geom")) FROM "province" WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
  23945 [FEIN] org.geotools.data.jdbc.ConnectionPool - Getting available connection.
  24415 [FEINER] org.geotools.data.jdbc.ResultSetAttributeIO - Creating Ranged AttributeReader: [DefaultAttributeType [name=the_geom , type=class com.vividsolutions.jts.geom.Polygon , nillable=true]] range: 2-3
  24425 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - got FeatureReader, now writing
  24486 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - encoded province skipped 0 coordinates
  24486 [FEIN] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager - Connection closed - adding to available connections.
  24486 [INFO] org.vfny.geoserver.responses.wms.map.SVGEncoder - SVG generated in 581 ms, written 0 coordinates, skipped 0
  24486 [INFO] org.vfny.geoserver.servlets.AbstractService - Service handled

Looks like SVG to me, install an SVG view, and look at the resulting picture. The viewer can be downloaded from adobe.

David

Jean-Pierre Praz wrote:

hello

after installing "java advanced imaging" i get the following output. there's no geometry...!?

<?xml version="1.0" standalone="no"?>
        <!DOCTYPE svg
        PUBLIC "-//W3C//DTD SVG 20001102//EN"
        "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd&quot;&gt;
<svg
        stroke="green"
        fill="none"
        stroke-width="0.001%"
        width="600"
        height="200"
        viewBox="-59 -1 210 62"
        preserveAspectRatio="xMidYMid meet">
<g id="jpp:province" class="jpp:province">
</g>
</svg>

and here's the corresponding log. when i execute the sql from the log i get the correct geometry. any idea why there are no geometry-objects in the svg?

thanks

jean-pierre

23444 [FEIN] org.vfny.geoserver.requests.readers.KvpRequestReader - clean request is REQUEST=GetMap&BBOX=-59,-1,151,61&LAYERS=jpp:province&STYLES=normal&WIDTH=600&HEIGHT=200&FORMAT=image/svg&EXCEPTION=application/vnd.ogc.se_xml

23444 [FEIN] org.vfny.geoserver.requests.readers.KvpRequestReader - returning parsed {LAYERS=jpp:province, BBOX=-59,-1,151,61, HEIGHT=200, REQUEST=GetMap, STYLES=normal, WIDTH=600, FORMAT=image/svg, EXCEPTION=application/vnd.ogc.se_xml}
23444 [FEINER] org.vfny.geoserver.requests.readers.DispatcherKvpReader - dispatcher got request GetMap
23444 [FEINER] org.vfny.geoserver.servlets.wms.WmsDispatcher - req_type is 7
23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service responses' stratagy
23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for configured service stratagy SPEED
23484 [FEIN] org.vfny.geoserver.servlets.AbstractService - verifying configured stratagy
23484 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service stratagy class org.vfny.geoserver.servlets.SpeedStratagy
23544 [FEINER] org.vfny.geoserver.requests.readers.wms.GetMapKvpReader - parsing attributes null
23544 [FEINER] org.vfny.geoserver.servlets.AbstractService - stratagy is: org.vfny.geoserver.servlets.SpeedStratagy@anonymised.com
23815 [FEIN] org.geotools.renderer.lite.LiteRenderer - creating new lite renderer
23815 [FEINER] org.vfny.geoserver.servlets.AbstractService - response handler is: org.vfny.geoserver.responses.wms.GetMapResponse@anonymised.com
23815 [FEIN] org.vfny.geoserver.servlets.AbstractService - executing request
23825 [INFO] org.vfny.geoserver.config.FeatureTypeConfig - got style org.geotools.styling.StyleImpl@anonymised.com from {green=org.geotools.styling.StyleImpl@anonymised.com, normal=org.geotools.styling.StyleImpl@anonymised.com, blue=org.geotools.styling.StyleImpl@anonymised.com, dotty=org.geotools.styling.StyleImpl@anonymised.com, thick outline=org.geotools.styling.StyleImpl@anonymised.com, maleVsFemale=org.geotools.styling.StyleImpl@anonymised.com}
23835 [FEINER] ExpressionAttribute - ENTRY the_geom
23835 [INFO] org.vfny.geoserver.config.DataStoreConfig - about to get datastore for DataStoreConfig[namespace=jpp, enabled=true, abstract=null, connection parameters={user=Jean-Pierre, passwd=postgres, host=localhost, charset=iso-8859-1, port=5432, database=atlas, dbtype=postgis}]
23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.sde.SdeDataStoreFactory@anonymised.com is an available DataSource
23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.oracle.OracleDataStoreFactory@anonymised.com is an available DataSource
23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.postgis.PostgisDataStoreFactory@anonymised.com is an available DataSource
23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.shapefile.ShapefileDataStoreFactory@anonymised.com is an available DataSource
23845 [INFO] org.vfny.geoserver.config.DataStoreConfig - about to get datastore for DataStoreConfig[namespace=jpp, enabled=true, abstract=null, connection parameters={user=Jean-Pierre, passwd=postgres, host=localhost, charset=iso-8859-1, port=5432, database=atlas, dbtype=postgis}]
23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.sde.SdeDataStoreFactory@anonymised.com is an available DataSource
23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.oracle.OracleDataStoreFactory@anonymised.com is an available DataSource
23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.postgis.PostgisDataStoreFactory@anonymised.com is an available DataSource
23855 [INFO] org.vfny.geoserver.config.DataStoreConfig - org.geotools.data.shapefile.ShapefileDataStoreFactory@anonymised.com is an available DataSource
23855 [FEIN] org.geotools.data.postgis.PostgisDataStore - get Feature source called on province
23855 [FEIN] org.geotools.data.postgis.PostgisDataStore - returning pg feature locking
23885 [FEIN] org.vfny.geoserver.servlets.AbstractService - execution succeed, mime type is: image/svg+xml
23895 [FEINER] org.vfny.geoserver.servlets.AbstractService - stratagy output is: java.io.BufferedOutputStream
23905 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - obtaining FeatureReader for jpp:province
23915 [FEINER] AbstractFilter - ENTRY 4
23925 [FEINER] AbstractFilter - ENTRY 4
23935 [FEIN] org.geotools.data.jdbc.JDBCDataStore - calling sql builder with filter [ the_geom bbox POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1)) ]
23935 [FEINER] AbstractFilter - ENTRY 4
23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting GeometryFilter
23935 [FEINER] org.geotools.filter.SQLEncoder - exporting ExpressionAttribute
23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting LiteralExpression
23935 [FEINER] org.geotools.filter.SQLEncoder - exporting ExpressionAttribute
23935 [FEINER] org.geotools.filter.SQLEncoderPostgisGeos - exporting LiteralExpression
23935 [INFO] org.geotools.data.postgis.PostgisSQLBuilder - encoded where WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
23945 [INFO] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT oid, AsText(force_2d("the_geom")) FROM "province" WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
23945 [INFO] org.geotools.data.jdbc.JDBCDataStore - About to execure query: SELECT oid, AsText(force_2d("the_geom")) FROM "province" WHERE (intersects("the_geom", GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1)) AND "the_geom" && GeometryFromText('POLYGON ((-59 -1, -59 61, 151 61, 151 -1, -59 -1))', -1))
23945 [FEIN] org.geotools.data.jdbc.ConnectionPool - Getting available connection.
24415 [FEINER] org.geotools.data.jdbc.ResultSetAttributeIO - Creating Ranged AttributeReader: [DefaultAttributeType [name=the_geom , type=class com.vividsolutions.jts.geom.Polygon , nillable=true]] range: 2-3
24425 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - got FeatureReader, now writing
24486 [FEIN] org.vfny.geoserver.responses.wms.map.SVGEncoder - encoded province skipped 0 coordinates
24486 [FEIN] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager - Connection closed - adding to available connections.
24486 [INFO] org.vfny.geoserver.responses.wms.map.SVGEncoder - SVG generated in 581 ms, written 0 coordinates, skipped 0
24486 [INFO] org.vfny.geoserver.servlets.AbstractService - Service handled

-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

david

yes, of course this is svg and i have of course a viewer (adobe). but it's a blank svg-file....!? i expected some shapes...:slight_smile:

<?xml version="1.0" standalone="no"?>
         <!DOCTYPE svg
         PUBLIC "-//W3C//DTD SVG 20001102//EN"
         "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd&quot;&gt;
<svg
         stroke="green"
         fill="none"
         stroke-width="0.001%"
         width="600"
         height="200"
         viewBox="-59 -1 210 62"
         preserveAspectRatio="xMidYMid meet">
<g id="jpp:province" class="jpp:province">

something like:

<path d="....." />

or

<polygon points="...." />

</g>
</svg>

jean-pierre

At 14:44 08.01.2004 -0800, you wrote:

Looks like SVG to me, install an SVG view, and look at the resulting picture. The viewer can be downloaded from adobe.

David

On Thursday 08 January 2004 20:33, Doug Cates wrote:

Hmmmm... Since GeoServer is a JDK 1.4 application, why doesn't it just
use the Imageio classes included in the standard Java distribution
instead of the older JAI classes?

JAI is not older, is newer (at least version 1.1.2), has better capabilities
for handling huge rasters (that is, it's capable of loading them by tiles instead
of loading the whole data set) and much faster raster processing thank to
native procedures written in assembler.
That said, geotools is becoming more dependent on JAI than I would like to,
and we should try to leave the possibility for people to handle at least the
vector data without having to install JAI and JAI ImageIO...

Best regards
Andrea Aime

Hello all

Andrea Aime a écrit :

Hmmmm... Since GeoServer is a JDK 1.4 application, why doesn't it just
use the Imageio classes included in the standard Java distribution
instead of the older JAI classes?

JAI is not older, is newer (at least version 1.1.2), has better capabilities
for handling huge rasters (that is, it's capable of loading them by tiles instead
of loading the whole data set) and much faster raster processing thank to
native procedures written in assembler.

Just some slight precisions:

* Prior to J2SE 1.4, JAI had its own API for image I/O (the
   "com.sun.media.jai.codec" package). This package still there
   in latest JAI version, but is deprecated. Geotools is using
   only J2SE 1.4 Image I/O API, with extensions when applicable
   (like JAI extensions). If any class in Geotools has a dependency
   to the "com.sun.media.jai.codec" package, then I think it should
   be fixed.

* Since J2SE 1.4, JAI provides a set of *extensions* to
   J2SE Image I/O API. Those extensions lives in the
   "com.sun.media.imageio" package, not to be confused with
   the legacy "com.sun.media.jai.codec" package. As Andrea
   point out, JAI is an Image Processing toolkit which goes
   much further than just I/O. Furthermore, the JAI's I/O extension
   to "javax.imageio" provides usefull feature, like better tiles
   handling.

That said, geotools is becoming more dependent on JAI than I would like to,
and we should try to leave the possibility for people to handle at least the
vector data without having to install JAI and JAI ImageIO...

This dependency will be removed (or at least reduced). One reason why cts-coordtrans has a dependency with JAI is because I was not happy with the way to handle parameter in the original OpenGIS specification:

http://geoapi.sourceforge.net/legacy/org/opengis/ct/CT_Parameter.html

So I used JAI ParameterList instead:

http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/ParameterList.html

However, OpenGIS has now a new specification for coordinate system. While incomplete, the parameter handling seems more promising in the new spec than is was in the old one:

http://geoapi.sourceforge.net/javadoc/org/opengis/cc/GeneralParameterValue.html

Hopefully, refactoring the cts-coordtrans implementation from old OpenGIS spec to the new one will help to reduce or eliminate JAI dependencies.

  Martin.