Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.5-M2
-
Fix Version/s: None
-
Component/s: jdbc
-
Labels:None
Description
Unlike other spatial databases Oracle knows about lat/lon periodicity and normalizes the coordinates provided in the query, meaning a bbox exceeding the world bounds end ups being smaller than the actual world bounds and return less records.
For example in a sample dataset covering the world bounds with 19 polygons here are some results:
SELECT count(*) FROM "FAO_MAJOR" WHERE SDO_RELATE("GEOMETRY",MDSYS.SDO_GEOMETRY(2003,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-179.99999,-89.99999,179.99999,89.99999)),'mask=anyinteract querytype=WINDOW') = 'TRUE'; --> 19 SELECT count(*) FROM "FAO_MAJOR" WHERE SDO_RELATE("GEOMETRY",MDSYS.SDO_GEOMETRY(2003,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-180,-90,180,90)),'mask=anyinteract querytype=WINDOW') = 'TRUE'; --> 17 (not sure why) SELECT count(*) FROM "FAO_MAJOR" WHERE SDO_RELATE("GEOMETRY",MDSYS.SDO_GEOMETRY(2003,4326,NULL,MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-310.1484375,-143.2460937499999,310.1484375,145.2460937500001)),'mask=anyinteract querytype=WINDOW') = 'TRUE'; --> 12!
Issue Links
- is depended upon by
-
GEOS-2070
Oracle data won't show up properly when bbox exceeeds world bounds
-