Příkazy k vytvoření cola markets

From Wikivyuka
Revision as of 11:55, 25 April 2011 by Dur30 (talk | contribs)

Jump to: navigation, search

Převzato a poskládáno ze stránek fy Oracle:

Stránka k prostorovým operacím: [1]

CREATE TABLE cola_markets (

 mkt_id NUMBER PRIMARY KEY,
 name VARCHAR2(32),
 shape SDO_GEOMETRY);

INSERT INTO cola_markets VALUES(

 1,
 'cola_a',
 SDO_GEOMETRY(
   2003,  -- two-dimensional polygon
   NULL,
   NULL,
   SDO_ELEM_INFO_ARRAY(1,1003,3), -- one rectangle (1003 - exterior exterior polygon ring, 3 - rectangle stačí dva body k nadefinování(lower left and upper right))
   SDO_ORDINATE_ARRAY(1,1, 5,7) -- only 2 points needed to
  )

);

INSERT INTO cola_markets VALUES(

 2,
 'cola_b',
 SDO_GEOMETRY(
   2003,  -- two-dimensional polygon
   NULL,
   NULL,
   SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (1003 - exterior polygon ring - vnější polygon, s body definovanými proti směru hodinových ručiček)
   SDO_ORDINATE_ARRAY(5,1, 8,1, 8,6, 5,7, 5,1)
 )

);

INSERT INTO cola_markets VALUES(

 3,
 'cola_c',
 SDO_GEOMETRY(
   2003,  -- two-dimensional polygon
   NULL,
   NULL,
   SDO_ELEM_INFO_ARRAY(1,1003,1), -- one polygon (exterior polygon ring)
   SDO_ORDINATE_ARRAY(3,3, 6,3, 6,5, 4,5, 3,3)
 )

);

INSERT INTO cola_markets VALUES(

 4,
 'cola_d',
 SDO_GEOMETRY(
   2003,  -- two-dimensional polygon
   NULL,
   NULL,
   SDO_ELEM_INFO_ARRAY(1,1003,4), -- one circle
   SDO_ORDINATE_ARRAY(8,7, 10,9, 8,11)
 )

); Vytvoření gridu před vytvořením spatial indexu:

describe user_sdo_geom_metadata; {zjištění struktury tabulky uchovávající metadata}

INSERT INTO user_sdo_geom_metadata {vložení metainformací o tabulce cola_markets, pro kterou bude vytvořen prostorový index nad sloupcem "shape"}

   (TABLE_NAME,
    COLUMN_NAME,
    DIMINFO,
    SRID)
 VALUES (
 'cola_markets',
 'shape',
 SDO_DIM_ARRAY(   -- 20X20 grid
   SDO_DIM_ELEMENT('X', 0, 20, 0.005),
   SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
    ),
 NULL   -- SRID

);


CREATE INDEX cola_spatial_idx {vytvoření prostorového indexu}

  ON cola_markets(shape)
  INDEXTYPE IS MDSYS.SPATIAL_INDEX;

select 'karel' {pomocný kontrolní dotaz}

from cola_markets;


INSERT INTO cola_markets VALUES(

  90,
  'point_only',
  SDO_GEOMETRY(
     2001,
     NULL,
     SDO_POINT_TYPE(12, 14, NULL),
     NULL,
     NULL));

INSERT INTO cola_markets VALUES(

  91,
  'point_only',
  SDO_GEOMETRY(
     2001,
     NULL,
     SDO_POINT_TYPE(4, 4, NULL),
     NULL,
     NULL));

INSERT INTO cola_markets VALUES(

  92,
  'point_only',
  SDO_GEOMETRY(
     2001,
     NULL,
     SDO_POINT_TYPE(12, 12, NULL),
     NULL,
     NULL));

INSERT INTO cola_markets VALUES(

 10,
 'polygon_with_hole',
 SDO_GEOMETRY(
   2003,  -- two-dimensional polygon
   NULL,
   NULL,
   SDO_ELEM_INFO_ARRAY(1,1003,1, 19,2003,1), -- polygon with hole
   SDO_ORDINATE_ARRAY(2,4, 4,3, 10,3, 13,5, 13,9, 11,13, 5,13, 2,11, 2,4,
       7,5, 7,10, 10,10, 10,5, 7,5)
 )

);

Zpět na stránku PDB