Unable to perform spatial query (BBOX param) on complex features - Axis
ordering, transformation of filter failing
------------------------------------------------------------------------------------------------------------------
Key: GEOT-3174
URL: http://jira.codehaus.org/browse/GEOT-3174
Project: GeoTools
Issue Type: Bug
Components: data app-schema
Affects Versions: 2.6.5, 2.7-M3, 2.7-RC1
Environment: Windows XP, JAVA 1.5
Reporter: Derrick Wong
Fix For: 2.6.5, 2.7-M3, 2.7-RC1
Attachments: AxisOrder2.patch, BBoxFitlerTest.patch
Performing spatial query (with BBOX param) on complex features returns 0
Results.
This is due to the transformation of the filter (which handles the Axis
ordering) not working for complex features.
In my initial investigation, I have written a test class which extends
org.geoserver.test.AbstractAppSchemaWfsTestSuport, when trying to obtain a
org.w3c.dom.Document object by calling the method getAsDom(String path), if I
specified the param "BBOX" in my WFS request, my Unit Test would fail. This
only happens on complex features, which led me to the following 2 classes in
particular.
org.geotools.filter.expression.SimpleFeaturePropertyAccessor line 67-68:
//if ("".equals(xpath) && target == Geometry.class)
if ("".equals(xpath))
return DEFAULT_GEOMETRY_ACCESS;
I had a look into the repository and this change was made in geotools-trunk
revision 26186. (jdeolive 10/07/2007 10:18:59 AM GEOT-1372, feature model api
changes in preparation for geoapi feature model implementation)
Comparing this with
org.geotools.filter.expression.FeaturePropertyAccessorFactory line 113-114:
if ("".equals(xpath) && target == Geometry.class)
return DEFAULT_GEOMETRY_ACCESS;
The method createPropertyAccessor for both classes are now different.
an snippet of the reply I had from Jody:
From: Jody Garnett [mailto:[email protected]]
Sent: Monday, 3 May 2010 3:36 PM
To: Wong, Derrick (CESRE, Kensington)
Cc: [email protected]
Subject: Re: [Geotools-devel] Geotool query - Differences in
SimpleFeaturePropertyAccessor and FeaturePropertyAccessorFactory
The check of target == Geometry.class looks very ill advised (should use
Geometry.class.isAssignableFrom( target ) for one).
I see no trouble removing the target test in the manner you described; the
process is to submit a JIRA bug report (with a patch + test case if you want it
acted on promptly). Chances are you know someone in your organisation who can
apply the patch :-D
Please find attached the patch for this problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel