Details
Description
Report from Matthew White:
I have set-up GeoServer and created an Oracle Spatial
datastore and several FeatureTypes. To test that
everything is working OK, I submitted several GetMap
requests with bbox set to the extent defined in the
FeatureType editor (used Generate to calculate). For
the polygon and line layers, everything worked OK and
I received the map as expected. However for point
layers, I was only receiving features that were
actually on the boundary defined by the bbox
parameter.
Looking at the SQL sent to Oracle, SDO_RELATE is being
used to select anything that is not DISJOINT to the
polygon defined by the bbox parameter (i.e., therefore
everything in the selected box). It appears that the
SDO_EMEL_INFO_ARRAY used to define the selection
polygon uses the value of 1003 (exterior polygon ring)
and the SDO_ORDINATE_ARRAY is passed the bbox
coordinate points in clockwise order. What I believe
may be my problem (speculation on my part) is that the
Oracle documentation indicates that for an element
type of 1003, the coordinate points should be passed
into SDO_ORDINATE_ARRAY in counterclockwise order
(clockwise ordering is indicated for element type 2003
interior polygon ring). If I switch the element type
to 2003 in the SQL, I get the results that I would
expect. So my question, is it possible that I have
set-up something incorrectly that would result in the
element type / point ordering combination that I am
seeing, or could the problem be caused from something
else that I may have configured incorrectly?
Issue Links
- depends upon
-
GEOT-427
Requests for bounding boxes are sometimes in wrong coordinate order
-
I
think you're exactly right, and your speculations rattled my memories to
bring up a thread where we talked about this but I don't think we ever
resolved it, since it was right before christmas and everyone was swamped.
See
http://sourceforge.net/mailarchive/forum.php?thread_id=6172502&forum_id=7425
The basic point being that JTS just passes things off without specifying
the order, but we do have a counterclockwise method that we should be able
to utilize. I will try to fix it this week and post a jar for you to
test.