Oracle
 sql >> Database >  >> RDS >> Oracle

Creazione di un indice spaziale su Oracle

Prima di indicizzare la tabella dovresti averla "abilitata in modo spaziale".
Prova a verificare se è mostrata nei metadati spaziali:

SELECT * FROM USER_SDO_GEOM_METADATA
    WHERE TABLE_NAME = UPPER('floating_options')
      AND COLUMN_NAME = UPPER('area_geo');

Se non ci sono risultati, sono disponibili un paio di opzioni.
Un modo sporco:inserisci i dati direttamente

INSERT INTO USER_SDO_GEOM_METADATA
VALUES (UPPER('floating_options'),UPPER('area_geo'),
        mdsys.SDO_DIM_ARRAY(
             mdsys.SDO_DIM_ELEMENT('Easting', <lowest_x>, <highest_x>, <x_tolerance>),
             mdsys.SDO_DIM_ELEMENT('Northing', <lowest_y>, <highest_y>, <y_tolerance>)
        ), <SRID>);

Modifica i <segnaposto> di conseguenza

Dai un'occhiata anche a https://community.oracle.com/thread/836452 ?tstart=0 oppurehttp://gerardnico.com/wiki/oracle_spatial/metadata