Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Criando um índice espacial no oracle


Antes de indexar a tabela você deve tê-la 'habilitada espacialmente'.
Tente verificar se ela é mostrada nos metadados espaciais:
SELECT * FROM USER_SDO_GEOM_METADATA
    WHERE TABLE_NAME = UPPER('floating_options')
      AND COLUMN_NAME = UPPER('area_geo');

Se não houver resultados - então algumas opções estão disponíveis.
Uma maneira suja - insira os dados diretamente
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>);

Altere os <marcadores> de acordo

Dê uma olhada também em https://community.oracle.com/thread/836452 ?tstart=0 ouhttp://gerardnico.com/wiki/oracle_spatial/metadata