[Geoserver-devel] about Oracle Datastore when request svg map...

I've used geoserver ( rc3) with Oracle 10g... It worked well.. ( Connecting,
getmap with Image/png, Image/jpeg format) but when I have request as:
http://3d:8080/geoserver/wms?request=GetMap&layers=HANOI_ROAD&bbox=1.176091750706E7,2326526.4628375,1.177867477252E7,2347642.9254375&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg+xml
it said:
java.lang.IllegalStateException: getOutputStream() has already been called for
this response
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.
java:163)
org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:614)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:670)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:654)
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:434)
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:235)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:
137)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:106)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

and on Tomcat's log file:

87567451 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
image/svg+xml
87567451 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
FeatureReader for HANOI_ROAD
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
with filter [ GEOLOC bbox POLYGON ((11760917.50706 2326526.4628375,
11760917.50706 2347642.9254375, 11778674.77252 2347642.9254375, 11778674.77252
2326526.4628375, 11760917.50706 2326526.4628375)) ]
87567466 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
262148
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
connection.
87567982 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
create Geometry convertor for HANOI_ROAD.GEOLOC
87567982 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
FeatureReader, now writing
87567982 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
87567982 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
Connection closed - adding to available connections.
87567982 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
delegate for aborting the process
87567982 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
error: UNCAUGHT exception: No SVG Feature writer defined for class com.
vividsolutions.jts.geom.Geometry
87567982 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - clean
request is
request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
27354&styles=normal&Format=image/svg xml
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader -
returning parsed {SRS=EPSG:27354, BBOX=579463,2313996,595972,2334980,
LAYERS=HANOI_ROAD, HEIGHT=485, REQUEST=GetMap, STYLES=normal, WIDTH=597,
FORMAT=image/svg xml}
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service responses' strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service strategy SPEED
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
configured strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service
strategy class org.vfny.geoserver.servlets.SpeedStrategy
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - reading request:
request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
27354&styles=normal&Format=image/svg+xml
89849545 [FINE] org.vfny.geoserver.global.Data - getting type HANOI_ROAD
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
request: org.vfny.geoserver.requests.wms.GetMapRequest@anonymised.com
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is: org.
vfny.geoserver.servlets.SpeedStrategy@anonymised.com
89849545 [FINE] org.vfny.geoserver.responses.wms.map.SVGMapResponse - checking
if can producer image/svg xml, returningtrue
89849545 [FINE] org.vfny.geoserver.responses.wms.map.GetMapDelegate - query
for map is Query:
   feature type: HANOI_ROAD
   filter: [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
2334980, 595972 2313996, 579463 2313996)) ]
   [properties: GEOLOC]
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
image/svg+xml
89849545 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
FeatureReader for HANOI_ROAD
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
with filter [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
2334980, 595972 2313996, 579463 2313996)) ]
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
262148
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
connection.
89873701 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
create Geometry convertor for HANOI_ROAD.GEOLOC
89873701 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
FeatureReader, now writing
89873701 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
89873701 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
Connection closed - adding to available connections.
89873701 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
delegate for aborting the process
89873701 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
error: UNCAUGHT exception: No SVG Feature writer defined for class com.
vividsolutions.jts.geom.Geometry
89873701 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry

How can i solve the problem...

P/S with Postgis, shape file it works well all out put format ( png, jpg,
bitmap and svg)
thanks

Ah, I've been hearing about this problem, but this is the first time I've
seen the logs for it. I see the problem, unfortunately there are no easy
fixes. The problem is that Oracle is unable to tell more information on
its geometry other than it is a geometry. Most of the other datastores
are able to tell which _type_ of geometry it is. The other half of the
problem is that the current svg writer was built assuming that it could
find out the type before it started writing.

This could be changed by having the svg writer no longer assume that, but
it will take some rearchitecture. So go ahead and submit this as a bug.
But I'm not sure how much time we want to spend rewriting the svg writer,
as it doesn't work with styles, and I think will take some major reworking
to work right with styles.

Chris

On Wed, 20 Oct 2004, Long Nguyen wrote:

I've used geoserver ( rc3) with Oracle 10g... It worked well.. ( Connecting,
getmap with Image/png, Image/jpeg format) but when I have request as:
http://3d:8080/geoserver/wms?request=GetMap&layers=HANOI_ROAD&bbox=1.176091750706E7,2326526.4628375,1.177867477252E7,2347642.9254375&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg+xml
it said:
java.lang.IllegalStateException: getOutputStream() has already been called for
this response
org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.
java:163)
org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:614)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:670)
org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:654)
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:434)
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:235)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:
137)
org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:106)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)

and on Tomcat's log file:

87567451 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
image/svg+xml
87567451 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
FeatureReader for HANOI_ROAD
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
with filter [ GEOLOC bbox POLYGON ((11760917.50706 2326526.4628375,
11760917.50706 2347642.9254375, 11778674.77252 2347642.9254375, 11778674.77252
2326526.4628375, 11760917.50706 2326526.4628375)) ]
87567466 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
262148
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
87567466 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
connection.
87567982 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
create Geometry convertor for HANOI_ROAD.GEOLOC
87567982 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
FeatureReader, now writing
87567982 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
87567982 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
Connection closed - adding to available connections.
87567982 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
delegate for aborting the process
87567982 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
error: UNCAUGHT exception: No SVG Feature writer defined for class com.
vividsolutions.jts.geom.Geometry
87567982 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - clean
request is
request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
27354&styles=normal&Format=image/svg xml
89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader -
returning parsed {SRS=EPSG:27354, BBOX=579463,2313996,595972,2334980,
LAYERS=HANOI_ROAD, HEIGHT=485, REQUEST=GetMap, STYLES=normal, WIDTH=597,
FORMAT=image/svg xml}
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service responses' strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
configured service strategy SPEED
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
configured strategy
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service
strategy class org.vfny.geoserver.servlets.SpeedStrategy
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - reading request:
request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
27354&styles=normal&Format=image/svg+xml
89849545 [FINE] org.vfny.geoserver.global.Data - getting type HANOI_ROAD
89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
request: org.vfny.geoserver.requests.wms.GetMapRequest@anonymised.com
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is: org.
vfny.geoserver.servlets.SpeedStrategy@anonymised.com
89849545 [FINE] org.vfny.geoserver.responses.wms.map.SVGMapResponse - checking
if can producer image/svg xml, returningtrue
89849545 [FINE] org.vfny.geoserver.responses.wms.map.GetMapDelegate - query
for map is Query:
   feature type: HANOI_ROAD
   filter: [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
2334980, 595972 2313996, 579463 2313996)) ]
   [properties: GEOLOC]
89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
image/svg+xml
89849545 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
FeatureReader for HANOI_ROAD
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
Geometric Column is: GEOLOC
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
with filter [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
2334980, 595972 2313996, 579463 2313996)) ]
89849545 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
262148
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
(2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
(579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
'mask=disjoint querytype=WINDOW') = 'TRUE'
89849545 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
connection.
89873701 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
create Geometry convertor for HANOI_ROAD.GEOLOC
89873701 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
FeatureReader, now writing
89873701 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry
89873701 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
Connection closed - adding to available connections.
89873701 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
delegate for aborting the process
89873701 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
error: UNCAUGHT exception: No SVG Feature writer defined for class com.
vividsolutions.jts.geom.Geometry
89873701 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
jts.geom.Geometry

How can i solve the problem...

P/S with Postgis, shape file it works well all out put format ( png, jpg,
bitmap and svg)
thanks

-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--

As a quick hack, you could call getGeometryType() on the geometry of the
first feature .. would be substantially slower but it's a start.

David

On Wed, 2004-10-20 at 13:47, Chris Holmes wrote:

Ah, I've been hearing about this problem, but this is the first time I've
seen the logs for it. I see the problem, unfortunately there are no easy
fixes. The problem is that Oracle is unable to tell more information on
its geometry other than it is a geometry. Most of the other datastores
are able to tell which _type_ of geometry it is. The other half of the
problem is that the current svg writer was built assuming that it could
find out the type before it started writing.

This could be changed by having the svg writer no longer assume that, but
it will take some rearchitecture. So go ahead and submit this as a bug.
But I'm not sure how much time we want to spend rewriting the svg writer,
as it doesn't work with styles, and I think will take some major reworking
to work right with styles.

Chris

On Wed, 20 Oct 2004, Long Nguyen wrote:

> I've used geoserver ( rc3) with Oracle 10g... It worked well.. ( Connecting,
> getmap with Image/png, Image/jpeg format) but when I have request as:
> http://3d:8080/geoserver/wms?request=GetMap&layers=HANOI_ROAD&bbox=1.176091750706E7,2326526.4628375,1.177867477252E7,2347642.9254375&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg+xml
> it said:
> java.lang.IllegalStateException: getOutputStream() has already been called for
> this response
> org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
> org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.
> java:163)
> org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:614)
> org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:670)
> org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:654)
> org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:434)
> org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:235)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:
> 137)
> org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:106)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
>
> and on Tomcat's log file:
>
>
> 87567451 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
> image/svg+xml
> 87567451 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
> FeatureReader for HANOI_ROAD
> 87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> Geometric Column is: GEOLOC
> 87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> Geometric Column is: GEOLOC
> 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
> with filter [ GEOLOC bbox POLYGON ((11760917.50706 2326526.4628375,
> 11760917.50706 2347642.9254375, 11778674.77252 2347642.9254375, 11778674.77252
> 2326526.4628375, 11760917.50706 2326526.4628375)) ]
> 87567466 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
> 262148
> 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
> FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
> NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> (1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
> 'mask=disjoint querytype=WINDOW') = 'TRUE'
> 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
> SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
> (2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> (1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
> 'mask=disjoint querytype=WINDOW') = 'TRUE'
> 87567466 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
> connection.
> 87567982 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
> create Geometry convertor for HANOI_ROAD.GEOLOC
> 87567982 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
> FeatureReader, now writing
> 87567982 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
> UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> jts.geom.Geometry
> 87567982 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
> Connection closed - adding to available connections.
> 87567982 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
> delegate for aborting the process
> 87567982 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
> error: UNCAUGHT exception: No SVG Feature writer defined for class com.
> vividsolutions.jts.geom.Geometry
> 87567982 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
> UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> jts.geom.Geometry
> 89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - clean
> request is
> request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
> 27354&styles=normal&Format=image/svg xml
> 89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader -
> returning parsed {SRS=EPSG:27354, BBOX=579463,2313996,595972,2334980,
> LAYERS=HANOI_ROAD, HEIGHT=485, REQUEST=GetMap, STYLES=normal, WIDTH=597,
> FORMAT=image/svg xml}
> 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
> configured service responses' strategy
> 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
> configured service strategy SPEED
> 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
> configured strategy
> 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service
> strategy class org.vfny.geoserver.servlets.SpeedStrategy
> 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - reading request:
> request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
> 27354&styles=normal&Format=image/svg+xml
> 89849545 [FINE] org.vfny.geoserver.global.Data - getting type HANOI_ROAD
> 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
> request: org.vfny.geoserver.requests.wms.GetMapRequest@anonymised.com
> 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is: org.
> vfny.geoserver.servlets.SpeedStrategy@anonymised.com
> 89849545 [FINE] org.vfny.geoserver.responses.wms.map.SVGMapResponse - checking
> if can producer image/svg xml, returningtrue
> 89849545 [FINE] org.vfny.geoserver.responses.wms.map.GetMapDelegate - query
> for map is Query:
> feature type: HANOI_ROAD
> filter: [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
> 2334980, 595972 2313996, 579463 2313996)) ]
> [properties: GEOLOC]
> 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
> image/svg+xml
> 89849545 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
> FeatureReader for HANOI_ROAD
> 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> Geometric Column is: GEOLOC
> 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> Geometric Column is: GEOLOC
> 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
> with filter [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
> 2334980, 595972 2313996, 579463 2313996)) ]
> 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
> 262148
> 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
> FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
> NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> (579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
> 'mask=disjoint querytype=WINDOW') = 'TRUE'
> 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
> SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
> (2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> (579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
> 'mask=disjoint querytype=WINDOW') = 'TRUE'
> 89849545 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
> connection.
> 89873701 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
> create Geometry convertor for HANOI_ROAD.GEOLOC
> 89873701 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
> FeatureReader, now writing
> 89873701 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
> UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> jts.geom.Geometry
> 89873701 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
> Connection closed - adding to available connections.
> 89873701 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
> delegate for aborting the process
> 89873701 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
> error: UNCAUGHT exception: No SVG Feature writer defined for class com.
> vividsolutions.jts.geom.Geometry
> 89873701 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
> UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> jts.geom.Geometry
>
>
> How can i solve the problem...
>
>
> P/S with Postgis, shape file it works well all out put format ( png, jpg,
> bitmap and svg)
> thanks
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
> Use IT products in your business? Tell us what you think of them. Give us
> Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
> http://productguide.itmanagersjournal.com/guidepromo.tmpl
> _______________________________________________
> Geoserver-devel mailing list
> Geoserver-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>

Yeah, it's architected so that's not the easiest thing to do, and the
thing is oracle is allowed to return different geometry types. But you're
right, in more cases it would probably work, so probably should go ahead
and implement that way.

c

On Wed, 20 Oct 2004, David Zwiers wrote:

As a quick hack, you could call getGeometryType() on the geometry of the
first feature .. would be substantially slower but it's a start.

David

On Wed, 2004-10-20 at 13:47, Chris Holmes wrote:
> Ah, I've been hearing about this problem, but this is the first time I've
> seen the logs for it. I see the problem, unfortunately there are no easy
> fixes. The problem is that Oracle is unable to tell more information on
> its geometry other than it is a geometry. Most of the other datastores
> are able to tell which _type_ of geometry it is. The other half of the
> problem is that the current svg writer was built assuming that it could
> find out the type before it started writing.
>
> This could be changed by having the svg writer no longer assume that, but
> it will take some rearchitecture. So go ahead and submit this as a bug.
> But I'm not sure how much time we want to spend rewriting the svg writer,
> as it doesn't work with styles, and I think will take some major reworking
> to work right with styles.
>
> Chris
>
> On Wed, 20 Oct 2004, Long Nguyen wrote:
>
> > I've used geoserver ( rc3) with Oracle 10g... It worked well.. ( Connecting,
> > getmap with Image/png, Image/jpeg format) but when I have request as:
> > http://3d:8080/geoserver/wms?request=GetMap&layers=HANOI_ROAD&bbox=1.176091750706E7,2326526.4628375,1.177867477252E7,2347642.9254375&width=597&height=485&srs=EPSG:27354&styles=normal&Format=image/svg+xml
> > it said:
> > java.lang.IllegalStateException: getOutputStream() has already been called for
> > this response
> > org.apache.coyote.tomcat5.CoyoteResponse.getWriter(CoyoteResponse.java:599)
> > org.apache.coyote.tomcat5.CoyoteResponseFacade.getWriter(CoyoteResponseFacade.
> > java:163)
> > org.vfny.geoserver.servlets.AbstractService.send(AbstractService.java:614)
> > org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:670)
> > org.vfny.geoserver.servlets.AbstractService.sendError(AbstractService.java:654)
> > org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:434)
> > org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java:235)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> > org.vfny.geoserver.servlets.wms.WmsDispatcher.doResponse(WmsDispatcher.java:
> > 137)
> > org.vfny.geoserver.servlets.wms.WmsDispatcher.doGet(WmsDispatcher.java:106)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> >
> > and on Tomcat's log file:
> >
> >
> > 87567451 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
> > image/svg+xml
> > 87567451 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
> > FeatureReader for HANOI_ROAD
> > 87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> > Geometric Column is: GEOLOC
> > 87567451 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> > Geometric Column is: GEOLOC
> > 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
> > with filter [ GEOLOC bbox POLYGON ((11760917.50706 2326526.4628375,
> > 11760917.50706 2347642.9254375, 11778674.77252 2347642.9254375, 11778674.77252
> > 2326526.4628375, 11760917.50706 2326526.4628375)) ]
> > 87567466 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
> > 262148
> > 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
> > FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
> > NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> > (1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
> > 'mask=disjoint querytype=WINDOW') = 'TRUE'
> > 87567466 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
> > SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
> > (2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> > (1.176091750706E7,2326526.4628375,1.176091750706E7,2347642.9254375,1.177867477252E7,2347642.9254375,1.177867477252E7,2326526.4628375,1.176091750706E7,2326526.4628375)),
> > 'mask=disjoint querytype=WINDOW') = 'TRUE'
> > 87567466 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
> > connection.
> > 87567982 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
> > create Geometry convertor for HANOI_ROAD.GEOLOC
> > 87567982 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
> > FeatureReader, now writing
> > 87567982 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
> > UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> > jts.geom.Geometry
> > 87567982 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
> > Connection closed - adding to available connections.
> > 87567982 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
> > delegate for aborting the process
> > 87567982 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
> > error: UNCAUGHT exception: No SVG Feature writer defined for class com.
> > vividsolutions.jts.geom.Geometry
> > 87567982 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
> > UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> > jts.geom.Geometry
> > 89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader - clean
> > request is
> > request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
> > 27354&styles=normal&Format=image/svg xml
> > 89849545 [FINE] org.vfny.geoserver.requests.readers.KvpRequestReader -
> > returning parsed {SRS=EPSG:27354, BBOX=579463,2313996,595972,2334980,
> > LAYERS=HANOI_ROAD, HEIGHT=485, REQUEST=GetMap, STYLES=normal, WIDTH=597,
> > FORMAT=image/svg xml}
> > 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
> > configured service responses' strategy
> > 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Looking for
> > configured service strategy SPEED
> > 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - verifying
> > configured strategy
> > 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - Using service
> > strategy class org.vfny.geoserver.servlets.SpeedStrategy
> > 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - reading request:
> > request=GetMap&layers=HANOI_ROAD&bbox=579463,2313996,595972,2334980&width=597&height=485&srs=EPSG:
> > 27354&styles=normal&Format=image/svg+xml
> > 89849545 [FINE] org.vfny.geoserver.global.Data - getting type HANOI_ROAD
> > 89849545 [INFO] org.vfny.geoserver.servlets.AbstractService - handling
> > request: org.vfny.geoserver.requests.wms.GetMapRequest@anonymised.com
> > 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - strategy is: org.
> > vfny.geoserver.servlets.SpeedStrategy@anonymised.com
> > 89849545 [FINE] org.vfny.geoserver.responses.wms.map.SVGMapResponse - checking
> > if can producer image/svg xml, returningtrue
> > 89849545 [FINE] org.vfny.geoserver.responses.wms.map.GetMapDelegate - query
> > for map is Query:
> > feature type: HANOI_ROAD
> > filter: [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
> > 2334980, 595972 2313996, 579463 2313996)) ]
> > [properties: GEOLOC]
> > 89849545 [FINE] org.vfny.geoserver.servlets.AbstractService - mime type is:
> > image/svg+xml
> > 89849545 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - obtaining
> > FeatureReader for HANOI_ROAD
> > 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> > Geometric Column is: GEOLOC
> > 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - SQLEncoderOracle:
> > Geometric Column is: GEOLOC
> > 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - calling sql builder
> > with filter [ GEOLOC bbox POLYGON ((579463 2313996, 579463 2334980, 595972
> > 2334980, 595972 2313996, 579463 2313996)) ]
> > 89849545 [FINE] org.geotools.filter.SQLEncoderOracle - Using layer SRID:
> > 262148
> > 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - sql is SELECT GEOLOC
> > FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY(2003,262148,
> > NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> > (579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
> > 'mask=disjoint querytype=WINDOW') = 'TRUE'
> > 89849545 [FINE] org.geotools.data.jdbc.JDBCDataStore - About to execure query:
> > SELECT GEOLOC FROM HANOI_ROAD WHERE NOT SDO_RELATE("GEOLOC",MDSYS.SDO_GEOMETRY
> > (2003,262148,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY
> > (579463.0,2313996.0,579463.0,2334980.0,595972.0,2334980.0,595972.0,2313996.0,579463.0,2313996.0)),
> > 'mask=disjoint querytype=WINDOW') = 'TRUE'
> > 89849545 [FINE] org.geotools.data.jdbc.ConnectionPool - Getting available
> > connection.
> > 89873701 [FINE] org.geotools.data.oracle.attributeio.SDOAttributeIO - About to
> > create Geometry convertor for HANOI_ROAD.GEOLOC
> > 89873701 [FINE] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG - got
> > FeatureReader, now writing
> > 89873701 [WARNING] org.vfny.geoserver.responses.wms.map.svg.EncodeSVG -
> > UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> > jts.geom.Geometry
> > 89873701 [FINE] org.geotools.data.jdbc.ConnectionPool$ConnectionListManager -
> > Connection closed - adding to available connections.
> > 89873701 [FINE] org.vfny.geoserver.responses.wms.GetMapResponse - asking
> > delegate for aborting the process
> > 89873701 [INFO] org.vfny.geoserver.servlets.AbstractService - Had an undefined
> > error: UNCAUGHT exception: No SVG Feature writer defined for class com.
> > vividsolutions.jts.geom.Geometry
> > 89873701 [FINE] org.vfny.geoserver.ServiceException - java.io.IOException:
> > UNCAUGHT exception: No SVG Feature writer defined for class com.vividsolutions.
> > jts.geom.Geometry
> >
> >
> > How can i solve the problem...
> >
> >
> > P/S with Postgis, shape file it works well all out put format ( png, jpg,
> > bitmap and svg)
> > thanks
> >
> >
> > -------------------------------------------------------
> > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
> > Use IT products in your business? Tell us what you think of them. Give us
> > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
> > http://productguide.itmanagersjournal.com/guidepromo.tmpl
> > _______________________________________________
> > Geoserver-devel mailing list
> > Geoserver-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/geoserver-devel
> >

--