Вы находитесь на странице: 1из 8

Oracle Spatial

Gua introductoria Miguel ngel Manso ETSI en Topografa, Geodesia y Cartografa - UPM
Universidad Politcnica de Madrid Miguel ngel Manso

ndice
Cmo crear una tabla con Geometras? Cmo dar de alta los metadatos de la tabla? Cmo crear un ndice espacial? Qu operaciones se pueden realizar con las geometras?

Universidad Politcnica de Madrid

Miguel ngel Manso

Crear una tabla con geometras


Usa la misma Clausura que para el resto de tablas: CREATE TABLE (); La columna que contendr la geometra ser de tipo: MDSYS.SDO_GEOMETRY Ejemplo:
CREATE TABLE cola_markets ( mkt_id NUMBER PRIMARY KEY, name VARCHAR2(32), shape SDO_GEOMETRY);
Universidad Politcnica de Madrid Miguel ngel Manso

Ejemplo:
create table misccpp ( id number primary key, cod varchar2(6), geom sdo_geometry);

Universidad Politcnica de Madrid

Miguel ngel Manso

Crear metadatos geometras


Existe una tabla SDO_GEOM_METADATA en la que se registran las tablas que contienen alguna columna de tipo SDO_GEOMETRY Existe una vista para cada usuario (Con la que se opera) para estos metadatos: USER_SDO_GEOM_METADATA Esta vista contiene:
TABLE_NAME, COLUMN_NAME, DIMINFO, SRID
Universidad Politcnica de Madrid Miguel ngel Manso

Crear metadatos
INSERT INTO user_sdo_geom_metadata ( TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ( 'cola_markets', 'shape', SDO_DIM_ARRAY( SDO_DIM_ELEMENT('X', 0, 20, 0.005), SDO_DIM_ELEMENT('Y', 0, 20, 0.005) ), NULL);
Universidad Politcnica de Madrid Miguel ngel Manso

Nuestro ejemplo:
INSERT INTO user_sdo_geom_metadata ( TABLE_NAME, COLUMN_NAME, DIMINFO, SRID) VALUES ( 'misccpp', 'geom', SDO_DIM_ARRAY( SDO_DIM_ELEMENT('X', -19.5, 5, 0.005), SDO_DIM_ELEMENT('Y', 33.5, 45.5, 0.005) ), 4258);
Universidad Politcnica de Madrid Miguel ngel Manso

Crear ndices espaciales


Para crear ndices SQL proporciona la siguiente clausura:
CREATE INDEX nombre ON la_tabla(la_columna) INDEXTYPE IS tipo_indice;

ndices espaciales: MDSYS.SPATIAL_INDEX Ejemplo:


CREATE INDEX cola_spatial_idx ON cola_markets(shape) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
Universidad Politcnica de Madrid Miguel ngel Manso

Nuestro ejemplo:
CREATE INDEX misccpp_idx ON misccpp(geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ('layer_gtype=POLYGON');

Universidad Politcnica de Madrid

Miguel ngel Manso

Operaciones con las geometras


Oracle proporciona los paquetes:
SDO_GEOM SDO_UTIL Operadores espaciales SDO_LRS

Universidad Politcnica de Madrid

Miguel ngel Manso

SDO_GEOM
SDO_GEOM.RELATE SDO_GEOM.SDO_ARC_DENSIFY SDO_GEOM.SDO_AREA SDO_GEOM.SDO_BUFFER SDO_GEOM.SDO_CENTROID SDO_GEOM.SDO_CONVEXHULL SDO_GEOM.SDO_DIFFERENCE SDO_GEOM.SDO_DISTANCE SDO_GEOM.SDO_INTERSECTION SDO_GEOM.SDO_LENGTH SDO_GEOM.SDO_MAX_MBR_ORDINATE SDO_GEOM.SDO_MBR SDO_GEOM.SDO_MIN_MBR_ORDINATE SDO_GEOM.SDO_POINTONSURFACE SDO_GEOM.SDO_UNION SDO_GEOM.SDO_XOR SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT SDO_GEOM.VALIDATE_LAYER_WITH_CONTEXT SDO_GEOM.WITHIN_DISTANCE

Universidad Politcnica de Madrid

Miguel ngel Manso

SDO_UTIL
SDO_UTIL.APPEND SDO_UTIL.APPEND_TO_COLLECTION SDO_UTIL.CIRCLE_POLYGON SDO_UTIL.CONCAT_LINES SDO_UTIL.CONVERT_UNIT SDO_UTIL.DROP_WORK_TABLES SDO_UTIL.ELLIPSE_POLYGON SDO_UTIL.EXTRACT SDO_UTIL.EXTRACT3D SDO_UTIL.EXTRUDE SDO_UTIL.FROM_GML311GEOMETRY SDO_UTIL.FROM_GMLGEOMETRY SDO_UTIL.FROM_WKBGEOMETRY SDO_UTIL.FROM_WKTGEOMETRY SDO_UTIL.GETNUMELEM SDO_UTIL.GETNUMVERTICES SDO_UTIL.GETVERTICES SDO_UTIL.INITIALIZE_INDEXES_FOR_TTS SDO_UTIL.POINT_AT_BEARING SDO_UTIL.POLYGONTOLINE SDO_UTIL.PREPARE_FOR_TTS SDO_UTIL.RECTIFY_GEOMETRY SDO_UTIL.REMOVE_DUPLICATE_VERTICES SDO_UTIL.REVERSE_LINESTRING SDO_UTIL.SIMPLIFY SDO_UTIL.TO_GML311GEOMETRY SDO_UTIL.TO_GMLGEOMETRY SDO_UTIL.TO_WKBGEOMETRY SDO_UTIL.TO_WKTGEOMETRY SDO_UTIL.VALIDATE_WKBGEOMETRY SDO_UTIL.VALIDATE_WKTGEOMETRY

Universidad Politcnica de Madrid

Miguel ngel Manso

Operadores espaciales
SDO_ANYINTERACT SDO_CONTAINS SDO_COVEREDBY SDO_COVERS SDO_EQUAL SDO_FILTER SDO_INSIDE SDO_JOIN SDO_NN SDO_NN_DISTANCE SDO_ON SDO_OVERLAPBDYDISJOINT SDO_OVERLAPBDYINTERSECT SDO_OVERLAPS SDO_RELATE SDO_TOUCH SDO_WITHIN_DISTANCE

Universidad Politcnica de Madrid

Miguel ngel Manso

Spatial Aggregate Functions


SDO_AGGR_CENTROID SDO_AGGR_CONCAT_LINES SDO_AGGR_CONVEXHULL SDO_AGGR_LRS_CONCAT SDO_AGGR_MBR SDO_AGGR_UNION

Universidad Politcnica de Madrid

Miguel ngel Manso

SDO_LRS
SDO_LRS.CLIP_GEOM_SEGMENT SDO_LRS.CONCATENATE_GEOM_SEGMENTS SDO_LRS.CONNECTED_GEOM_SEGMENTS SDO_LRS.CONVERT_TO_LRS_DIM_ARRAY SDO_LRS.CONVERT_TO_LRS_GEOM SDO_LRS.CONVERT_TO_LRS_LAYER SDO_LRS.CONVERT_TO_STD_DIM_ARRAY SDO_LRS.CONVERT_TO_STD_GEOM SDO_LRS.CONVERT_TO_STD_LAYER SDO_LRS.DEFINE_GEOM_SEGMENT SDO_LRS.DYNAMIC_SEGMENT SDO_LRS.FIND_LRS_DIM_POS SDO_LRS.FIND_MEASURE SDO_LRS.FIND_OFFSET SDO_LRS.GEOM_SEGMENT_END_MEASURE SDO_LRS.GEOM_SEGMENT_END_PT SDO_LRS.GEOM_SEGMENT_LENGTH SDO_LRS.GEOM_SEGMENT_START_MEASURE SDO_LRS.GEOM_SEGMENT_START_PT SDO_LRS.GET_MEASURE SDO_LRS.GET_NEXT_SHAPE_PT SDO_LRS.GET_NEXT_SHAPE_PT_MEASURE SDO_LRS.GET_PREV_SHAPE_PT SDO_LRS.GET_PREV_SHAPE_PT_MEASURE SDO_LRS.IS_GEOM_SEGMENT_DEFINED SDO_LRS.IS_MEASURE_DECREASING SDO_LRS.IS_MEASURE_INCREASING SDO_LRS.IS_SHAPE_PT_MEASURE SDO_LRS.LOCATE_PT SDO_LRS.LRS_INTERSECTION SDO_LRS.MEASURE_RANGE SDO_LRS.MEASURE_TO_PERCENTAGE SDO_LRS.OFFSET_GEOM_SEGMENT SDO_LRS.PERCENTAGE_TO_MEASURE SDO_LRS.PROJECT_PT SDO_LRS.REDEFINE_GEOM_SEGMENT SDO_LRS.RESET_MEASURE SDO_LRS.REVERSE_GEOMETRY SDO_LRS.REVERSE_MEASURE SDO_LRS.SET_PT_MEASURE SDO_LRS.SPLIT_GEOM_SEGMENT SDO_LRS.TRANSLATE_MEASURE SDO_LRS.VALID_GEOM_SEGMENT SDO_LRS.VALID_LRS_PT SDO_LRS.VALID_MEASURE SDO_LRS.VALIDATE_LRS_GEOMETRY

Universidad Politcnica de Madrid

Miguel ngel Manso

Вам также может понравиться