Oracle Spatial Error ORA-13373 using geodetic data
sc
sc at BYTRON.COM
Mon Apr 18 11:43:18 PDT 2005
Hi all,
I have some more information on this problem, if I rewrite the SELECT
statement produced by mapserver to use the sdo_cs.viewport_transform()
function as shown below then the SELECT works ok, is this a problem with
mapserver
or am I doing something wrong?
I also noted that the sdo_ordinate array is being populated with values that
are slighty different to my MAP files EXTENTS,
is this an error or am I misunderstanding something?
(EXTENTS -10.458000 49.898000 1.746700 60.769400)
SELECT rownum, icao, SHAPE
FROM SPATIAL_NAV
WHERE SDO_FILTER(
SHAPE,
sdo_cs.viewport_transform(
MDSYS.SDO_GEOMETRY(2003, 0, NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),
MDSYS.SDO_ORDINATE_ARRAY(-11.96563,49.898,3.25433,60.7694)),
8307),'querytype=window') = 'TRUE' ;
regards
Simon
-----Original Message-----
From: UMN MapServer Users List [mailto:MAPSERVER-USERS at LISTS.UMN.EDU]On
Behalf Of sc
Sent: 18 April 2005 18:23
To: MAPSERVER-USERS at LISTS.UMN.EDU
Subject: [UMN_MAPSERVER-USERS] Oracle Spatial Error ORA-13373 using
geodetic data
Hi all,
I am trying to get the oracle spatial connectivity working but I am getting
the following oracle errors:
SELECT rownum, SHAPE FROM SPATIAL_NAV A WHERE SDO_FILTER( SHAPE,
MDSYS.SDO_GEOMETRY(2003, 8307, NULL,
MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),MDSYS.SDO_ORDINATE_ARRAY(-11.96563,49.89
8,3.25433,60.7694) ),'querytype=window') = 'TRUE'
ERROR at line 1:
ORA-29902: error in executing ODCIIndexStart() routine
ORA-13373: Element of type Extent is not supported for Geodetic data
ORA-06512: at "MDSYS.SDO_INDEX_METHOD_9I", line 368
ORA-06512: at line 1
This is an extract of my map file:
LAYER
NAME "Spatial Nav"
TYPE POLYGON
STATUS ON
CONNECTIONTYPE oraclespatial
CONNECTION "user/password at mydb.world"
DATA "SHAPE FROM SPATIAL_NAV USING SRID 8307"
CLASS
NAME "Spatial"
OUTLINECOLOR 60 60 06
COLOR 0 0 255
SYMBOL 'circle'
END
END
I have noticed that other users have experienced the same problem but I
haven't seen any solutions, I have also seen
reference to a change of the source code? Could this be correct? Code
follows:
maporaclespatial.c has the extent type hardcoded to a rectangle, so =
there is no work around, without changing the source code.
Try changing maporaclespatial.c from:
if (apply_window)
sprintf( query_str + strlen(query_str),
"SDO_FILTER( %s.%s, MDSYS.SDO_GEOMETRY("
"2003, %s, NULL,"
"MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,3),"
"MDSYS.SDO_ORDINATE_ARRAY(%.9g,%.9g,%.9g,%.9g) ),"
"'querytype=3Dwindow') =3D 'TRUE'",
table_name, geom_column_name, srid,
rect.minx, rect.miny, rect.maxx, rect.maxy );
to:
if (apply_window)
sprintf( query_str + strlen(query_str),
"SDO_FILTER( %s.%s, MDSYS.SDO_GEOMETRY("
"2003, %s, NULL,"
"MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1),"
=
"MDSYS.SDO_ORDINATE_ARRAY(%.9g,%.9g,%.9g,%.9g,%.9g,%.9g,%.9g,%.9g,%.9g,%.=
9g) ),"
"'querytype=3Dwindow') =3D 'TRUE'",
table_name, geom_column_name, srid,
rect.minx, rect.miny, rect.minx, rect.maxy, rect.maxx, =
rect.maxy, rect.maxx, rect.miny,rect.minx, rect.miny );
regards
Simon
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.16 - Release Date: 18/04/2005
--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.16 - Release Date: 18/04/2005
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.9.16 - Release Date: 18/04/2005
More information about the MapServer-users
mailing list