Oracle Spatial Error ORA-13373 using geodetic data

sc sc at BYTRON.COM
Mon Apr 18 14:43:18 EDT 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