Josef Troch (troch@mail.ru)
18.2.2002 (poslední změna 24.2.2002)
Prostorový ADT | Abstraktní geometrický datový typ "Spatial" s vhodnými operacemi a vztahy (aby uživatel nepotřeboval znát přesnou strukturu ukládání prostorových dat). |
Grafická presentace výsledků | Presentace výsledků dotazu v grafické formě včetně vizualizace příslušných neprostorových dat (nejpřirozenější forma k analýze prostorových dat). |
Kombinování výsledků | Možnost kombinování výsledků dotazu s výsledky jednoho či více předchozích dotazů. |
Kontext | Pro grafickou presentaci je často nezbytné zobrazování kontextu - tedy informací které nebyly explicitně vyžádány, ale jsou nezbytné k interpretaci výsledků dotazu v prostorovém umístění (př.: hledám-li na mapě Prahu, nestačí mi zobrazení tečky s nápisem Praha na bílé ploše). |
Ověřování obsahu | Kontrolní mechanismus k ověření obsahu kresby (aby uživatel zjistil, jakému dotazu odpovídá kresba - kvůli kombinování výsledků). |
Výběr ukázáním | Použití výsledků předchozího dotazu ukázáním (typicky myší) pro referenci v příštím dotazu. |
Manipulace se zobrazováním | Rozlišení prostorových objektů a jejich částí pomocí nastavování atributů jejich grafické presentace (barva, vzorek, ...). |
Vysvětlivky | Popisující legenda k jednotlivým druhům zobrazovaných objektů (jako na mapě). |
Popisky (labels) | Popisky k jednotlivým objektům (pro pochopení kresby) a možnost vybrání objektů, které mají být popsány (dotazovacím jazykem). |
Volba měřítka | Možnost volby libovolného měřítka zobrazení dotazu. |
Vymezení oblasti | Nástroje k omezení oblasti zájmu uživatele, nad kterou se bude provádět další dotaz (dotazy). |
CREATE TABLE mesta (jmeno CHAR(20) obsazenyProstor spatial_2);Příklad 2 - Může být užitečné definovat město jako mnohoúhelník (obsazenyProstor) na podrobných mapách, nebo jako bod (poloha) na méně podrobných.
CREATE TABLE city (jmeno char(20) obsazenyProstor spatial_2 poloha spatial_0);
SELECT jmeno FROM mesta WHERE poloha = PICK;Příklad 2 - ukáže-li uživatel na stejné místo a zadá následující dotaz, dostane název příslušného státu.
SELECT jmeno FROM staty WHERE poloha = PICK;
SET LEGEND COLOR black PATTERN dashed FOR SELECT boundary(poloha) FROM pozemky;
SET LEGEND COLOR green, blue FOR SELECT obytne.poloha, komercni.poloha FROM obytne budovy, komercni budovy WHERE komercni.typ="Komercni" and obytne.typ="Obytny";
SET LEGEND PATTERN cross-hatched FOR SELECT interior(poloha) FROM ulice WHERE sirka < 5;
SET WINDOW SELECT poloha FROM ulice WHERE mesta.jmeno="Olomouc";
SET CONTEXT FOR ulice.poloha SELECT pozemky.poloha, budovy.poloha, ulice.jmeno FROM ulice, pozemky, budovy;
SET MODE new;
SELECT ulice.poloha FROM ulice, mesta WHERE mesta.jmeno="Olomouc" and ulice.jmeno="Kozi" and ulice.poloha INSIDE mesto.poloha;
SET MODE highlight;
SELECT budovy.poloha FROM budovy WHERE adresa="Kozi 3";
SET MODE alpha;
SELECT distance(budovy.poloha, hospoda.poloha), hospoda.adresa FROM budovy, budovy hospoda WHERE budovy=PICK and hospoda.typ="Hospoda";
SET LEGEND COLOR red SYMBOL "2mm disk" FOR SELECT poloha FROM mhd WHERE typ="Tramvajova zastavka";
SET MODE overlay;
SELECT poloha FROM mhd, budovy WHERE typ="Tramvajova zastavka" and budovy.poloha=PICK and distance(budova.poloha, mhd.poloha) < 200;
SET IMMEDIATELY COLOR brown FOR SELECT interior(poloha) FROM budovy WHERE pocetObyvatel > 30;