1. Atributové dotazy

V této kapitole byste se měli seznámit s atributovými dotazy v prostředí ArcMap.

Prakticky se ukážeme vyhotovení několika atributových dotazů krok za krokem, na konci textu je pak seznam cvičných příkladů, u kterých máte v závorce uvedeno správné řešení.

Pro toto cvičení budete potřebovat následující vrstvy:

Všechny tyto vrstvy naleznete v jednom zip souboru zde. Společně s těmito daty je součástí zip archivu i soubor POPISV12.doc, což je soubor obsahující popis dat.

DOPORUČENÍ: Otevřete si soubor POPISV12.doc a seznamte se s jeho strukturou. Při řešení úkolu se Vám stane, že budete muset zjistit, zda-li máte danou vrstvu vůbec k dispozici a za další zde naleznete seznam a popis jednotlivých atributů dostupných vrstev.

Dotaz č. 1:

Vyberte všechny dálnice.

Řešení:

Je zřejmé, že pro vyhotovení tohoto dotazu budeme pracovat s vrstvou silnic. Při nahlédnutí do souboru POPISV12.doc zjistíme, že k jednotlivým liniím, které reprezentují v grafické podobě silniční síť, máme k dispozici atributový sloupec 'trida_sil'. Hodnoty v tomto sloupci určijí, o jakou třídu silnice se jedná. Snadno nahlédneme, že dálnice jsou určeny hodnotou atributu 'trida_sil' rovno 'D'.

Jak nyní všechny dálnice nalézt ve vrstvě silnic?

ArcMap umožňuje provádět atributové dotazy přes dialogové okno 'Select By Attributes'. Toto okno vyvoláme přes: Selection -> Select By Attributes:

Obrázek 9.1. Dialogové okno Select By Attributes

Dialogové okno Select By Attributes

Nastavení voleb Layer a Method:

Layer - seznam načtených vrstev v ArcMap. My vybereme vrstvu silnice.

Method - možno zvolit jednu ze čtyř method:

My nyní vybereme metodu Create a new selection (nemáme ještě vybrané žádné prvky, tvoříme nový výběr splňující naše kritéria).

Pomocí voleb Layer a Method tedy říkáme, z jaké vrstvy se má výběr uskutečnit a určujeme metodu výběru.

Zbývá nám zadat, že se mají vybrat pouze prvky, které reprezentují dálnice. Tuto podmínku je potřeba zapsat do textového pole a doplnit tak dotaz zapsaný v jazyce SQL (Structured Query Language) 'SELECT * FROM vrstva WHERE:'.

Víme, že se musíme dotazovat na sloupec 'TRIDA_SIL'. Proto na tento sloupec v dialogovém okně klikneme a název sloupce se nám přidá do textového pole. Ze znamének vybereme '=', neboť se dotazujeme na rovnost atributu nějaké hodnotě. Konkrétně v tomto příkladě hodnotě 'D'. Tuto hodnotu je možné zapsat ručně z klávesnice, případně kliknout na tlačítko 'Get Unique Values' a vybrat hodnotu z unikátních hodnot.

Zadání dotazu pro vybrání všech dálnic tak bude výsledně vypadat takto:

Obrázek 9.2. Vybrání všech dálnic

Vybrání všech dálnic

Dotaz se provede stiskem tlačítka 'Apply'.

Pokud bychom chtěli zjistit počet vybraných prvků, je možné to zjistit několika způsoby. Jedním z nich je podívat se do atributové tabulky k vrstvě silnic. Atributovou tabulku dostaneme přes stisk pravého tlačítky myši nad názvem vrstvy a volbou 'Open Attribute Table'. Pokud vybereme v atributové tabulce tlačítko 'Selected', zobrazí se nám seznam a počet vybraných prvků:

Obrázek 9.3. Počet vybraných prvků

Počet vybraných prvků

Vybraných prvků je tedy 11.

DOPORUČENÍ: Zkuste si odpovědět na otázku, proč když jsme vybrali pouze jednu dálnici - D5, máme jako výsledek 11 prvků?

Vybrané prvky je možné uložit do nové, samostatné vrstvy. Pokud bychom chtěli vrstvu dálnic, pak bychom přes pravé tlačítko myši vyvolali nabídku, ze které vybereme: Selection -> Create Features from Selected Features. Ještě musíme vybrat cílové umístění pro novou vrstvu a samozřejmě i vhodný název. Nově vytvořenou vrstvu dálnic je nyní možné přidat do ArcMap. Vyzkoušejte si to!

TIP: Pokud budete chtít zrušit označení vybraných prvků, použijte: Selection -> Clear Selected Features

Dotaz č. 2:

Vyberte všechny silnice 1. třídy, které mají dva jízdní pruhy.

Řešení:

Opět budeme pracovat s vrstvou silnic. Vzhledem k tomu, že chceme vybrat silnice 1. třídy a zároveň mají mít tyto silnice dva jízdní pruhy, budeme se muset dotazovat na dva sloupce - 'TRIDA_SIL' a 'J_PRUHY'. Že je tomu skutečně tak, se přesvědčte nahlédnutím do popisu dat.

K zápisu podmínky 'WHERE' do textového pole tedy bude nutné přidat atributové podmínky na oba dva sloupce a logickou spojku 'a zároveň' (v jazyce SQL ji odpovídá klíčové slovo 'And'), neboť musí být splněny obě dvě zároveň.

Výsledné řešení tedy vypadá následovně:

Obrázek 9.4. Vybrání všech silnic první třídy které mají dva jízdní pruhy

Vybrání všech silnic první třídy které mají dva jízdní pruhy

Dotaz č. 3:

Vyberte okresy NUTS4 = CZ0413 a CZ0321 (NUTS4 je kód okresu podle klasifikace územních statistických jednotek).

Řešení:

V tomto příkladu budeme pracovat s vrstvou okresů a konkrétně (nahlédněte prosím do popisu dat) s atributem 'NUTS4'.

Pro vyřešení úkolu použijeme další logický operátor - 'a nebo', kterému v jazyce SQL odpovídá klíčové slovo 'Or'. V podstatě chceme z vrstvy okresů vybrat okresy, u kterých je hodnota atributu NUTS4 rovna CZ0413 a nebo CZ0321. Řešení pak vypadá následovně:

Obrázek 9.5. Výběr okresů podle NUTS4

Výběr okresů podle NUTS4

Seznam příkladů k procvičení: