Difference between revisions of "Hledání v MS kraji"

From Wikivyuka
Jump to: navigation, search
m
 
m
 
(3 intermediate revisions by the same user not shown)
Line 13: Line 13:
 
  CREATE INDEX sp_krajms_idx ON kraj_ms(geom) INDEXTYPE is mdsys.spatial_index;
 
  CREATE INDEX sp_krajms_idx ON kraj_ms(geom) INDEXTYPE is mdsys.spatial_index;
  
 +
Použití topologických vztahů je předvedeno v SELECT příkazech a na obrázku s výstupy.
 
  SELECT l.naz_lau1, l.geom
 
  SELECT l.naz_lau1, l.geom
 
  FROM okresy l, kraj_ms k  
 
  FROM okresy l, kraj_ms k  
Line 36: Line 37:
 
  FROM LAU1_010113 l, kraj_ms k
 
  FROM LAU1_010113 l, kraj_ms k
 
  WHERE SDO_CONTAINS(k.geom, l.geom) = 'TRUE' ;
 
  WHERE SDO_CONTAINS(k.geom, l.geom) = 'TRUE' ;
 +
 +
Na obrázku jsou podle barev a názvu "vrstev" rozlišeny vztahy použité v předchozích příkazech.
 +
 +
[[Image:vysledkyMSkraj.png]]
 +
 +
[http://gis.vsb.cz/wikivyuka/index.php/Prostorov%C3%A9_datab%C3%A1ze_-_cvi%C4%8Den%C3%AD Hlavní stránka předmětu]

Latest revision as of 15:58, 7 April 2015

Nejprve si vytoříme tabulku, která bude obsahovat pouze data a geometrii Moravskoslezského kraje.

CREATE TABLE kraj_ms AS
(SELECT *
FROM kraje k
WHERE k.naz_cnuts2 = 'Moravskoslezsko');

Protože pracujeme s prostorovými daty, je nutno vytvořit prostorový index.

INSERT INTO user_sdo_geom_metadata  VALUES ('kraj_ms', 'geom',
SDO_DIM_ARRAY(sdo_dim_element('X',-9045840,-431726,0.05),sdo_dim_element('Y',-1227295,-935236,0.05)),
NULL);

Hodnoty pro MBR lze získat například pravým klikem nad názvem tabulky s obdobným zájmovým prostorem. Vybrat GoeRaptor/ManageData.

CREATE INDEX sp_krajms_idx ON kraj_ms(geom) INDEXTYPE is mdsys.spatial_index;

Použití topologických vztahů je předvedeno v SELECT příkazech a na obrázku s výstupy.

SELECT l.naz_lau1, l.geom
FROM okresy l, kraj_ms k 
WHERE SDO_RELATE(l.geom, k.geom, 'mask = TOUCH') = 'TRUE' ;
SELECT l.naz_lau1_p, l.geom
FROM LAU1_010113 l, kraj_ms k 
WHERE SDO_TOUCH(l.geom, k.geom) = 'TRUE' ;
SELECT l.naz_lau1_p, l.geom
FROM LAU1_010113 l, kraj_ms k
WHERE SDO_COVERS(k.geom, l.geom) = 'TRUE' ; 
SELECT l.naz_lau1_p, l.geom
FROM  LAU1_010113 l, kraj_ms k 
WHERE SDO_RELATE(l.geom, k.geom, 'mask = COVEREDBY') = 'TRUE' ;
SELECT l.naz_lau1_p, l.geom
FROM LAU1_010113 l, kraj_ms k
WHERE SDO_COVEREDBY(l.geom, k.geom) = 'TRUE' ;
SELECT l.naz_lau1_p, l.geom
FROM LAU1_010113 l, kraj_ms k
WHERE SDO_CONTAINS(k.geom, l.geom) = 'TRUE' ;

Na obrázku jsou podle barev a názvu "vrstev" rozlišeny vztahy použité v předchozích příkazech.

VysledkyMSkraj.png

Hlavní stránka předmětu