Difference between revisions of "Hledání v MS kraji"
From Wikivyuka
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.