I have an
sdo_geometry table that I created using ArcGIS Desktop (by converting an
esri.st_geometry table to
sdo_geometry). I'm using Oracle Spatial's
sdo_geometry datatype because it has linear referencing functions (unlike
I'm able to create a simple view on the table, and use it in ArcMap:
--Query #1 SELECT OBJECTID ,SHAPE FROM USER1.SDO_ROAD
However, when I create a view that constructs new geometry, I'm unable to use it in ArcMap:
--Query #2 SELECT OBJECTID --simplified for Stack Exchange: ,SDO_LRS.CLIP_GEOM_SEGMENT(SHAPE, 0, 10) AS SHAPE_FIRST_10_METRES FROM USER1.SDO_ROAD
I get this error when I open the attribute table:
Error reading OID from table. Reading rows has been stopped. Check that the datasource is valid. Underlying DBMS error[ORA-13226: interface not supported without a spatial index ORA-06512: at "MDSYS.MD", line 1723 ORA-06512: at "MDSYS.MDERR", line 8 ORA-06512: at "MDSYS.SDO_3GL", line 1278] THE operation is not supported by this implementation.
I'm guessing that the main problem is:
interface not supported without a spatial index.
To be clear, I am able to create the view successfully, and even add it to ArcMap. But the lines do not draw, and I get the above error when I open the attribute table.
Why does ArcMap and/or Oracle know how to handle Query #1, but not Query #2?
Why can't Query #2 use the spatial index from the underlying table, just like Query #1 does?