Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> sdo_within_distance and sdo_distance differ

sdo_within_distance and sdo_distance differ

From: Martin Haltmayer <Martin.Haltmayer_at_0800-einwahl.de>
Date: Wed, 24 Jan 2001 04:34:09 +0100
Message-ID: <3A6E4D31.AC3D3E1C@0800-einwahl.de>

I tried some spatial query with sdo_within_distance and I checked with sdo_distance:

set pagesize 0
set linesize 1000
set trimspool on

whenever sqlerror continue

drop table ppp;
drop table rrr;

drop INDEX ppp_i;
drop INDEX ppp_k;
drop INDEX rrr_i;

whenever sqlerror exit failure rollback

delete from user_sdo_geom_metadata;

CREATE TABLE "PPP" ("FFF" "MDSYS"."SDO_GEOMETRY", "TTT" "MDSYS"."SDO_GEOMETRY") ;

CREATE TABLE "RRR" ("OOO" "MDSYS"."SDO_GEOMETRY") ; INSERT INTO USER_SDO_GEOM_METADATA values ('PPP','FFF'
,mdsys.SDO_dim_array(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.001)
,MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.001)), 1);
CREATE INDEX ppp_i ON "PPP" ("FFF" ) INDEXTYPE IS "MDSYS"."SPATIAL_INDEX" PARAMETERS ('SDO_LEVEL=12 SDO_NUMTILES=4 SDO_MAXLEVEL=32 SDO_COMMIT_INTERVAL=-1 TABLESPACE="DRSYS"') ; INSERT INTO USER_SDO_GEOM_METADATA values ('PPP','TTT'
,mdsys.SDO_dim_array(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.001)
,MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.001)),1);
CREATE INDEX ppp_k ON "PPP" ("TTT" ) INDEXTYPE IS "MDSYS"."SPATIAL_INDEX" PARAMETERS ('SDO_LEVEL=12 SDO_NUMTILES=4 SDO_MAXLEVEL=32 SDO_COMMIT_INTERVAL=-1 TABLESPACE="DRSYS"') ; INSERT INTO USER_SDO_GEOM_METADATA values ('RRR','OOO'
,mdsys.SDO_dim_array(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.001)
,MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.001)),1);
CREATE INDEX rrr_i ON "RRR" ("OOO" ) INDEXTYPE IS "MDSYS"."SPATIAL_INDEX" PARAMETERS ('SDO_LEVEL=9 SDO_NUMTILES=4 SDO_MAXLEVEL=32 SDO_COMMIT_INTERVAL=-1 TABLESPACE="DRSYS"') ; insert into PPP (fff, ttt) values (mdsys.SDO_GEOMETRY(2001, NULL, NULL
, mdsys.SDO_ELEM_INFO_ARRAY(1, 1, 1)
, mdsys.SDO_ORDINATE_ARRAY(-1.98544, 52.98456))
, mdsys.SDO_GEOMETRY(2001, NULL, NULL, mdsys.SDO_ELEM_INFO_ARRAY(1, 1, 1)
, mdsys.SDO_ORDINATE_ARRAY(-2.92611, 53.45176)));

insert into rrr (OOO) values (mdsys.SDO_GEOMETRY(2002, NULL, NULL
, mdsys.SDO_ELEM_INFO_ARRAY(1, 2, 1)
, mdsys.SDO_ORDINATE_ARRAY(-1.86136, 52.44386, -1.86136, 52.44386)));

commit;

select OOO,fff,ttt
, sdo_within_distance(OOO,fff,'distance=4.49907961')
, sdo_within_distance(OOO,ttt,'distance=4.49907961')
, mdsys.SDO_GEOM.SDO_DISTANCE(OOO ,fff , 0.001 )
, mdsys.SDO_GEOM.SDO_DISTANCE(OOO ,ttt , 0.001 )
from ppp, rrr
/

The reported distances are well below the select criterion. Why do I get FALSE for the sdo_within_distance functions?

Any help appreciated.

Martin Received on Tue Jan 23 2001 - 21:34:09 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US