Chris,
this has fixed the WMS KML output problem where the sql was mal-formed.
it has also fixed our hundreds of open oracle connections as hoped.
so now i can report my next bug... that KML output only goes to 4
decimal places, and the cadastre looks like its been drawn by a crazy
person.
surely the kml output should output the same number of decimals as set
in the admin tool for GML?
and is it expected that we will be able to configure the KML output
somewhere ?.. i.e. define the html template for the content returned ?
what role will the sld play in this ?
-ivan
-----Original Message-----
From: Chris Holmes [mailto:cholmes@anonymised.com]
Sent: Tuesday, 25 July 2006 1:44 AM
To: Ivan Price
Cc: Geoserver-devel; nkrueger@anonymised.com
Subject: Re: [Geoserver-devel] problem with wms and oracle spatial..
Ok, I just made a go at fixing the bug. ArcSDE actually had a similar
problem, but complained a bit more strongly. I attached the new file
to: http://jira.codehaus.org/browse/GEOS-439
Please download and let me know if it works, and I'll commit. There's
been some annoying weirdness going on in GeoTools with backwards
compatibility, but I believe this jar should work fine.
Nils, could you also give this a try for your problem? I think it might
fix it for real
best regards,
Chris
Ivan Price wrote:
Hi there,
i think this bug has been rasied previously relating to svg:
http://jira.codehaus.org/browse/GEOS-439
but i'm mentioning here cause its also killing kml output from oracle
spatial datastore..
my getmap wms url that looks like this:
http://webdev1.ipe.nt.gov.au/geoserver/wms?Service=wms&Version=1.1.0&R
eq
uest=GetMap&Width=800&Height=800&Srs=EPSG:4326&Bgcolor=0xCEFFFF&Format
=a
pplication/vnd.google-earth.kml+XML&Styles=&Transparent=True&Layers=nt
li
s:CADASTRE&bbox=130,-20,131,-19
results in the following oracle sql: (i've abreviated attribute/column
names to '*')
SELECT * FROM "CADASTRE" WHERE
SDO_RELATE(MDSYS.SDO_GEOMETRY(2003,8311,NULL,MDSYS.SDO_ELEM_INFO_ARRAY
(1
,1003,1),MDSYS.SDO_ORDINATE_ARRAY(130.0,-20.0,131.0,-20.0,131.0,-19.0,
13 0.0,-19.0,130.0,-20.0)),"GEOMETRY",'mask=anyinteract
querytype=WINDOW') = 'TRUE'
(which doesn't work)
but it seems the name of the geometry column is in the wrong place..
it should be:
SELECT * FROM "CADASTRE" WHERE
SDO_RELATE("GEOMETRY",MDSYS.SDO_GEOMETRY(2003,8311,NULL,MDSYS.SDO_ELEM
_I
NFO_ARRAY(1,1003,1),MDSYS.SDO_ORDINATE_ARRAY(130.0,-20.0,131.0,-20.0,1
31 .0,-19.0,130.0,-19.0,130.0,-20.0)),'mask=anyinteract
querytype=WINDOW') = 'TRUE'
(which works)
the wfs server is fine for all type os sptail queries, only the wms
seems to have issues.
i'm running geoserver 1.3.2 on windows 2000 on Apache Tomcat/4.1.29 on
JVM 1.4.2_03-b02, connecting to oracle 10g.
i'm guessing that when bug GEOS 439 gets fixed so will this, but i
thought i'd raise it cause its stopping me from using the kml/kmz
feature.
stack trace follows including the error that oracle spits..thanks,
-ivan
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><!DOCTYPE
ServiceExceptionReport SYSTEM
"http://webdev1.ipe.nt.gov.au:80/geoserver/schemas//wms/1.1.1/WMS_exce
pt ion_1_1_1.dtd"> <ServiceExceptionReport version="1.1.1">
<ServiceException code="">org.geotools.data.DataSourceException: Error
Performing SQL query: SELECT "MI_PRINX",
"LAISKEY", "LOCATION", "LTOCODE",
"PARCEL", "PART_PARCEL", "PARCEL_TYPE",
"AREA_M2", "ST_NUMBER", "ST_PART",
"ST_NAME", "ST_TYPE", "ST_SUBURB",
"SURVEY", "TEN_REF_TYPE", "TEN_REF_NUM",
"TEN_STATUS", "TEN_VOL_TYPE",
"TEN_VOLUME", "TEN_FOLIO", "TP_ZONE",
"GEOMETRY", "STATUS_CODE", "PFI",
"UFI", "FEAT_NAME", "OWN_CATEGORY",
"PROPERTY_NAME" FROM "CADASTRE" WHERE
SDO_RELATE(MDSYS.SDO_GEOMETRY(2003,8311,NULL,MDSYS.SDO_ELEM_INFO_ARRAY
(1
,1003,1),MDSYS.SDO_ORDINATE_ARRAY(130.0,-20.0,131.0,-20.0,131.0,-19.0,
13 0.0,-19.0,130.0,-20.0)),"GEOMETRY",'mask=anyinteract
querytype=WINDOW') = 'TRUE'
at
org.geotools.data.jdbc.JDBC1DataStore.executeQuery(JDBC1DataStore.java
:9
08)
at
org.geotools.data.jdbc.JDBC1DataStore.getFeatureReader(JDBC1DataStore.
ja
va:656)
at
org.geotools.data.jdbc.JDBCFeatureCollection.reader(JDBCFeatureCollect
io
n.java:78)
at
org.vfny.geoserver.wms.responses.map.kml.EncodeKML.writeLayers(EncodeK
ML
.java:320)
at
org.vfny.geoserver.wms.responses.map.kml.EncodeKML.encodeKML(EncodeKML
.j
ava:130)
at
org.vfny.geoserver.wms.responses.map.kml.KMLMapProducer.writeTo(KMLMap
Pr
oducer.java:93)
at
org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapResponse
.j
ava:258)
at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.
ja
va:527)
at
org.vfny.geoserver.servlets.AbstractService.doGet(AbstractService.java
:2
79)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.vfny.geoserver.wms.servlets.WmsDispatcher.doResponse(WmsDispatcher
.j
ava:156)
at
org.vfny.geoserver.wms.servlets.WmsDispatcher.doGet(WmsDispatcher.java
:1
15)
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(Appli
ca
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
lt
erChain.java:193)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetChar
ac
terEncodingFilter.java:122)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
ca
tionFilterChain.java:213)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
lt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
lv
e.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
lv
e.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2
41
6)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
va
:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcher
Va
lve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
va
:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext
.i
nvokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
:4
80)
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
.i
nvokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java
:4
80)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:263)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:360)
at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:604)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:
562)
at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:679)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPo
ol
.java:619)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: ORA-13226: interface not supported
without a spatial index
ORA-06512: at "MDSYS.MD", line 1723
ORA-06512: at "MDSYS.MDERR", line 8
ORA-06512: at "MDSYS.SDO_3GL", line 62
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:
12
5)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at
oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
at
oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:561)
at
oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatem
en
t.java:961)
at
oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.ja
va
:463)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.
java:1037)
at
oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1
18
3)
at
org.geotools.data.jdbc.JDBC1DataStore.executeQuery(JDBC1DataStore.java
:8
97)
... 48 more
</ServiceException> </ServiceExceptionReport>
----------------------------------------------------------------------
--- Take Surveys. Earn Cash. Influence the Future of IT Join
SourceForge.net's Techsay panel and you'll get the chance to share
your opinions on IT & business topics through brief surveys -- and
earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEV
DEV _______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
!DSPAM:1003,44c4653765631995013331!
--
Chris Holmes
The Open Planning Project
http://topp.openplans.org