Oracle Spatial Error ORA-13373 using geodetic data

sc sc at BYTRON.COM
Mon Apr 18 11:23:22 PDT 2005


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_ARPT 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



More information about the MapServer-users mailing list