Hmmm... I'll try to test this out on our arcsde test box soon - it's
8.3, but it is quite possible that this case wasn't tested thoroughly
(I'm working offline so I can't test right now). I am interested in
one line:
Caused by: java.lang.IllegalArgumentException: no geometry builder is
defined to construct class
com.vividsolutions.jts.geom.GeometryCollection
instances.
at
org.geotools.data.arcsde.GeometryBuilder.builderFor(GeometryBuilder.java:391)
at
As that doesn't make sense to me, that in requests outside of the bounds
it would try to make a GeometryCollection. I'll dig into the code and
see what I can come up with.
If you wouldn't mind putting this in our JIRA task tracker that would be
helpful, to make sure the bug is not lost in the shuffle.
thanks,
Chris
----- Original Message -----
From: <Ivan.Price@anonymised.com>
To: <geoserver-devel@lists.sourceforge.net>
Sent: Tuesday, August 17, 2004 6:47 AM
Subject: [Geoserver-devel] getfeature filter to arcsde
Hi there,
I've come across what might be a bug in the ArcSDE data source.
i'm running geoserver 1.2.0 on jakarta 5.0.27 on windows 2000, ArcSDE
is
version 8.2
When i do a getfeature with a spatial filter where the spatial filter
is in
the bounds of the target datasource such as:
http://beta.landgate.com.au/geoserver/wfs/GetFeature
<wfs:GetFeature service="WFS" version="1.0.0"
outputFormat="GML2"
xmlns:topp="http://www.openplans.org/topp"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns="http://www.opengis.net/ogc"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
<wfs:Query typeName="topp:SDE.W_PLANNING_MRSBDRY">
<ogc:Filter>
<ogc:Intersects>
<ogc:PropertyName>the_geom</ogc:PropertyName>
<gml:Point
srsName="http://www.opengis.net/gml/srs/epsg.xml#4326
">
<gml:coordinates>116.30,-31.80</gml:coordinates>
</gml:Point>
</ogc:Intersects>
</ogc:Filter>
</wfs:Query>
</wfs:GetFeature>it works fine, however if i make a modification to the location of the
point so that it is outside of the extent of the dataset (say 126.30,
-31.80) i get a java error:<?xml version="1.0" ?>
<ServiceExceptionReport
version="1.2.0"
xmlns="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/ogc
http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">
<ServiceException>
problem with FeatureResults:
org.geotools.data.DataSourceException:
Encoder error Error building SeFilter
at
org.geotools.data.arcsde.ArcSDEAdapter.createSeQuery(ArcSDEAdapter.java:446)
at
org.geotools.data.arcsde.ArcSDEAdapter.createSeQuery(ArcSDEAdapter.java:363)
at
org.geotools.data.arcsde.ArcSDEDataStore.getCount(ArcSDEDataStore.java:476)
at
org.geotools.data.AbstractFeatureSource.getCount(AbstractFeatureSource.java:221)
at
org.geotools.data.DefaultFeatureResults.getCount(DefaultFeatureResults.java:196)
at
org.vfny.geoserver.responses.wfs.FeatureResponse.execute(FeatureResponse.java:285)
at
org.vfny.geoserver.responses.wfs.FeatureResponse.execute(FeatureResponse.java:142)
at
org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:357)
at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:295)
at
org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:249)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at
org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at
org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.RuntimeException: Error building SeFilter
at
org.geotools.filter.GeometryEncoderSDE.visit(GeometryEncoderSDE.java:210)
at
org.geotools.filter.GeometryFilterImpl.accept(GeometryFilterImpl.java:353)
at
org.geotools.filter.GeometryEncoderSDE.encode(GeometryEncoderSDE.java:144)
at
org.geotools.data.arcsde.FilterSet.createSpatialFilters(ArcSDEAdapter.java:635)
at
org.geotools.data.arcsde.ArcSDEAdapter.createSeQuery(ArcSDEAdapter.java:424)
... 37 more
Caused by: java.lang.IllegalArgumentException: no geometry builder is
defined to construct class
com.vividsolutions.jts.geom.GeometryCollection
instances.
at
org.geotools.data.arcsde.GeometryBuilder.builderFor(GeometryBuilder.java:391)
at
org.geotools.filter.GeometryEncoderSDE.addSpatialFilter(GeometryEncoderSDE.java:258)
at
org.geotools.filter.GeometryEncoderSDE.visit(GeometryEncoderSDE.java:186)
... 41 more
</ServiceException>
</ServiceExceptionReport>doing a query to an area in the target dataset that has no feature but
is
within the boundings works fine (i.e. a feature set with no features),
you
only get this error when the filter request is outside the boundings
of the
dataset. Altering the boundings in the WFS config has no effect, i'm
guessing SDE is returning an 'out of bounds' error that is choking
geoserver ? is this because its ArcSDE version 8.2 and not 8.3 ?Cheers and well done on the excellent work !
-ivan
Ivan Price
Shared Land Services
Department of Land Information
Western Australia
Ivan.Price@anonymised.com
+61 08 9273 7520This e-mail and any files transmitted with it are intended only for
the use
of the addressee(s). It may contain information that is confidential
and
privileged. If you are not an intended recipient, any use,
interference
with, disclosure, distribution or copying of this material is
unauthorised
and prohibited. If you receive this in error, please notify the author
by
return e-mail or telephone +61-8-9273 7533. Information in this
message
not relating to the official business of DLI shall be understood as
neither
given nor endorsed by it. While every care is taken, it is
recommended
that you scan any attachments for viruses. DLI liability is limited to
re-supplying affected attachments.-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel
----------------------------------------------------------
This mail sent through IMP: https://webmail.limegroup.com/