GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY CN 02 2. přednáška
Databáze
Databáze je sdílená kolekce logicky uspořádaných dat (a popisu těchto dat - metadat), která je navržena tak, aby splňovala potřeby uživatele. Původní název – databanka: určitý soubor uspořádaných informací (dat) • Podnikový archiv • Systém kartotéčních lístků v knihovně • Informace o zákaznících podniku • Informace o studentech a studijních oborech fakulty • Kvalitně zpracovaný tahák Účel: co nejefektivnější zjišťování informací o vloţených jevech … kdo napsal knihu Rumcajs a v které polici ji najdu? Počítačové databáze pouze umoţňují zpracovávat data efektivněji • Interaktivní řazení a třídění dat, vyhledávání určitého textu, vyhledávání údajů splňujících sloţitou soustavu podmínek……
Datová základna: soubor všech uţivatelských dat uloţených v databázi Databázový systém = data + nástroje pro práci s daty …. Access …. FoxPro, dBase …. Paradox …. Oracle …. MySQL …. SQL Server ….. atd ….. A v různé míře různé sw GIS
Základní „dovednosti“ databázového systému Zaloţení evidence Naplnění daty Měnit zapsaná data Doplnit další sledované údaje Mazat data Zapisovat nová data Vypočítávat další údaje Řazení dat Výběr údajů Formuláře Tiskové sestavy Export / import Makra, moduly
Relační databázový model
Vytváří vztah mezi sloupci a řádky Umožňuje vytvořit vztahy mezi jakýmikoliv dvěma soubory prostřednictvím nějakého společného pole Pro svou flexibilitu je hojně využíván
Ještě existuje hierarchický a síťový model
Relační datový model reprezentuje mnoţina dvourozměrných tabulek: Na kaţdou tabulku se odkazujeme jejím jménem Kaţdý řádek reprezentuje datovou větu (record) a kaţdý sloupec pak datovou proměnnou Mnoţina datových proměnných (poloţek, fields) pak definuje datovou strukturu tabulky (structure).
Data a jejich uložení – relační model
Databáze – kolekce databázových tabulek Př. Tabulka „Hospody“
Id
NAZEV
CENA
PROSTREDI
ZAHRADKA
1
U tlustý báby
11
4,5
Ano
2
U suchý dásně
16
3
Ne
3
Pod kaštany
15
2
Ano
4
V Šakalově
15
1,5
Ne
5
U zloděje
25
2,5
Ano
6
Na mýtince
14
2
Ano
Základní prvky:
Sloupec (pole, field, atribut) Řádek (záznam, record) Hodnota (uţivatelská data)
Datové typy
Musí být definován název a datový typ kaţdého sloupce
Id
NAZEV
CENA
PROSTREDI
ZAHRADKA
1
U tlustý báby
11
4,5
Ano
2
U suchý dásně
16
3
Ne
3
Pod kaštany
15
2
Ano
4
V Šakalově
15
1,5
Ne
5
U zloděje
25
2,5
Ano
6
Na mýtince
14
2
Ano
Text (znak, char, řetězec, string) – libovolné znaky Číslo (numeric) – pouze čísla určitého rozsahu, ve většině systémů podtypy
Short Integer, Long integer, Float, Double
Ano/Ne (Boolean, Logic) – logické hodnoty „true“ „false“ Datum ……. Definice (návrh, zaloţení tabulky)
Nejběžnější datové typy 1.
2.
3.
Text - textové poloţky mohou obsahovat všechny znaky, které lze zadávat z klávesnice. To znamená číslice, písmena, interpunkční znaménka a grafické symboly. Délka textové poloţky můţe být aţ 255 znaků, ale zabírá pouze prostor nutný pro uchování vloţených údajů. Memo - tato poloţka můţe obsahovat všechny znaky, které lze zadávat z klávesnice. Délka této poloţky můţe být aţ 32 000, ale zabírá pouze prostor nutný pro uchování vloţených údajů. Number - poloţka tohoto typu můţe obsahovat pouze číslice, desetinnou tečku nebo znaménko minus. Poloţek typu „number“ můţe být více druhů: • byte - obsahuje pouze kladné hodnoty typu integer (celá čísla) od 0-255 • integer - celá čísla od -32 768 do 32 767 • long integer - celá čísla od -2 147 483 678 do 2 147 483 647 • single - číselné hodnoty v jednoduché přesnosti od -3.4*1038 do 3.4*10^38 • double - číselné hodnoty v dvojité přesnosti od -1.797*10^308 do 1.797*10^308
4. Counter - poloţka tohoto typu uchovává hodnoty „long integer“, které jsou automaticky o jedna zvyšovány přidáním nového záznamu. 5. Date/Time - tato poloţka reprezentuje dny v kalendáři nebo hodiny. 6. Ano/Ne - poloţky tohoto typu obsahují logické hodnoty, které mohou být vyjádřeny jako 0/1, ano/ne, nebo true/false. 7. OLE object - tato poloţka uchovává data, která nejsou reprezentována znaky. Mohou to být například grafické objekty, zvukové záznamy, fotografie, video sekvence a pod.
Pojmenování objektů v databázi
V databázi jsou objekty různého druhu (tabulka, sloupec, index….) Všechny musí být pojmenovány dle zásad: Název obsahuje jen písmena (bez diakritiky) a číslice a znaky _ Název musí začínat písmenem Název má omezenou délku (dle systému) Názvy objektů musí být v jedné databázi jedinečné (výjimky: indexy, sloupce v různých tabulkách) Název nesmí být shodný s rezervovaným slovem Název by měl být výstiţný Př. Sloupec pro datum narození: datum_nar, dat_nar, dnarozeni…
Klíče
Primární klíč Pole (nebo kombinace polí), které jednoznačně identifikuje záznam V kaţdém řádku má unikátní hodnotu, nemohou existovat dva řádky se stejným primárním klíčem Nesmí obsahovat hodnotu Null Má ho mít kaţdá tabulka Vybere se z tzv. kandidátních klíčů Cizí klíč Pole slouţící k propojení tabulky s jinou tabulkou Primární klíč z cizí tabulky Jednoduchý x složený klíč
Vztahy mezi tabulkami
Databázi zpravidla tvoří více tabulek, mezi nimiţ jsou vztahy Mezi dvěmi tabulkami můţe být: 1 : 1 1 : N N : M Vztah mezi tabulkami nebo tabulka sama můţe být nazývána relací
1:1
Muzi.dbf
Relace 1:1
ID
Prijmeni
Jmeno
Narozeni
1
Novák
František
23.9.1958
2
Podpěra
Jan
15.11.1935
…“Monogamie“…
Zeny.dbf ID
Partner
Prijmeni
Jmeno
Narozeni
Sukne
153
1
Nováková
Lada
14.7.1963
60
289
2
Podpěrová Alena
10.10.1980 30
1:N Muzi.dbf
Relace 1:N
ID
Prijmeni
Jmeno
Narozeni
1
Muhamad
Ali-Baba
23.9.1958
2
Mustafa
Abdul-Ali
15.11.1935
…“Polygamie“…
Zeny.dbf ID
Partner
Prijmeni
Jmeno
Narozeni
152
1
Muhamad
Seherezada
29.2.1951
153
1
Muhamad
Alifa
14.7.1963
161
1
Muhamad
Hala-Bala
10.10.1980
283
2
…..
284
2
…..
N:M Muzi.dbf
Zeny.dbf
ID_m
Prezdivka
ID_z
Prezdivka
1
Divoch
1
Micka
2
Šmoula
2
Kotě
3
Kikin
3
Manka
4
Moula
4
Víla
5
Dţejár
5
Miselí
6
Ufoun
6
Dolly
7
Bijec
7
Bobina
8
Dugi
8
Mařena
9
Mistr
9
Pamela
10
Bredpit
10
Těţká Barbora
Ţivot databáze Analýza 2. Návrh Model vztahů entit 1.
•
Entita - je jednoznačně rozlišitelný, identifikovatelný a samostatné existence schopný objekt z reálného světa • Atribut entity – popisný údaj k entitě rozpoznat, co je v navrhované databázi entitou a jaké má mít atributy jaké mezi našimi entitami existují vztahy Jaké atributy patří k entitě, co bude tvořit primární a cizí klíče, jakého datového typu atribut je Popř. jakých hodnot můţe atribut nabývat 3. 4.
Implementace Testování, provozování a údrţba
Dotazovací jazyk SQL u relačních databází 1.
práce s daty je uskutečňována pouze relačními prostředky
2.
databáze na logické úrovni je dána pouze relacemi
3.
musí existovat přístupový mechanismus k uloţeným datům (název tabulky,název sloupce, hodnota přístupového klíče)
4.
jsou definovány prázdné hodnoty
5.
veškerý popis databázových objektů je uchován v relačních tabulkách, manipulace s daty je zaloţena na relační algebře
6.
existuje jazyk pro definici dat včetně vytváření pohledů a podpory vstupů a výstupů
7.
existují příkazy pro manipulaci s daty (příkazy - insert, delete, update)
8.
je moţné definovat přístupová práva
9.
logické relace jsou nezávislé na jejich fyzické reprezentaci (fyzická datová nezávislost)
10. funguje logická datová nezávislost
Příkazy SQL jazyka (Structured query language) Tabulku lze vytvořit tímto SQL příkazem Velká a malá písmena SQL jazyk nerozlišuje CREATE TABLE <jmeno tabulky> (<polozka>
}<delka>), (<polozka> }<delka>)] ...); Data do tabulky pak ukládáme po řádkách příkazem:
INSERT INTO <jmeno tabulky> VALUES (<seznam konstant>);
CREATE TABLE vcelari ( jmeno TEXT(20), adresa TEXT(25), narozen DATE, kraj TEXT(15), poc_vcelstev INTEGER, litru_medu SINGLE); INSERT INTO vcelari VALUE (‘Jaroslav Smutný’,‘Veveří 95’,’27.01.1970’,‘Jihomoravský’,5,20); INSERT INTO vcelari VALUE (‘Jan Poláček’,‘Grohova 78’,’25.11.1950’,‘Jihočeský’,24,125);
K čemu slouţí indexy Představují pomocnou sloţku databáze, která uchovává informace jedné nebo několika poloţek v tabulce. Indexy slouţí k urychlení operací jako je setřídění a hledání záznamů podle klíčových poloţek. Takţe, indexové klíče jsou vhodné pro následující účely: • k urychlení procesu zobrazení záznamu v jiném pořadí, neţ v jakém byly zadány • k urychlení vyhledávání jednotlivých záznamů podle jednoznačných hodnot v klíčových poloţkách • k urychlení dotazů, které vybírají záznamy podle obsahu klíčových poloţek • k zamezení zadávání záznamů se stejnými indexovými klíči • podporu vazeb mezi tabulkami • k určení implicitního pořadí zobrazování záznamů • Většina tabulek by měla mít minimálně jeden zvláštní klíč, který se nazývá „primární klíč“. Tento určuje implicitní pořadí zobrazení při prohlíţení záznamů a navíc slouţí jako jednoznačný identifikátor.
Příjmení
Jméno
Číslo věty
Příjmení
Smutný
Jaroslav
2
Adam
Adam
Jan
5
Bílek
Kadaňka
Pavel
3
Kadaňka
Zvěřina
Pavel
1
Smutný
Bílek
Miroslav
4
Zvěřina
databáze
indexový klíč
V jazyce SQL vypadá příkaz na indexování následovně: ORDER BY <seznam klíčů> SELECT * FROM vcelari ORDER BY litru_medu DESC; DESC - znamená sestupně
Jazyk SQL a relace mezi tabulkami V jazyce SQL vypadá příkaz na sestavení relace a dotazu následovně: SELECT <seznam sloupců> FROM <seznam tabulek> WHERE <podmínka spojení>
Operace spojení je provedena příkazem „SELECT“ tak, ţe v klauzuli „FROM“ uvedeme seznam jmen spojovaných tabulek a v klauzuli „WHERE“ uvedeme podmínku spojení.
Pozor - někteří zákazníci si mohou půjčit auto vícekrát, nebo, ţe půjčovna můţe mít více stanovišť, kde jsou auta zaparkována 1.
z_kód
2.
po logické analýze problému prvotní struktura dat příjmení
adresa
a_kód
model
s_kód
stanoviště
po normalizaci zákazník
z_kód
pronájem
z_kód
pronájem
a_kód
stanoviště
s_kód
příjmení
a_kód
model
adresa
půjčeno
cena
stanoviště
vráceno
s_kód
cena
půjčeno
vráceno
Atributy v GIS – vztah 1 : 1 Primární klíč
Př. Plochy bezlesí navázané na atributovou tabulku porostní mapy Cizí klíč
Atributy v GIS 1 : N
Př. Porostní mapa a hospodářská kniha Funkce RELATE !!! Nelze použít při klasifikaci; pro ni musíme nějak získat vztah 1 :1
Shapefiles Nejrozšířenější formát Široce podporován v různém software Nepodporuje topologii (narozdíl od Coverage nebo Geodatabase)
Nepodporuje křivky (např. Bézierovy pouţívané v kartografii) Atributy ukládá ve formátu dBASE - jistá omezení V kaţdém Shapele můţe být obsaţen pouze jeden typ geometrie Je sloţen z minimálně 3 souborů, můţe být víc
SHP - povinný, soubor s geometrií
DBF - povinný, atributová tabulka ve formátu dBASE SHX - povinný, soubor s indexem propojucícím geometrii a atributy PRJ - definice pouţitého souřadnicového systému v ESRI SBN - prostorový index
SBX - prostorový index ATX - atributový index SHP.XML - metadata ve formátu XML QIX - quad-tree prostorový index
Nejjednodušší forma geografických dat Neukládají se topologické vztahy mezi různými prvky, případně třídami prvků Soubory typu shapefile zahrnují následující typy bodových prvků: 1. Body 2. Vícenásobné body 3. Jednoduché linie 4. Vícedílné linie 5. Jednoduché plochy 6. Vícedílné plochy
atributový index - vytvoří index nad vybraným atributem, slouţí k rychlejší práci s atributovou tabulkou
ArcToolbox - Data Management Tools – Indexes – Add Attribute Index, přidá atributový index, je třeba vybrat
příslušné atributy, které mají být indexovány, název indexu, zda jsou hodnoty indexu jedinečné a zda mají být hodnoty indexovány ve vzestupném pořadí. U Shapele není moţné volit název a parametry, index se pak vytvoří jako soubor shape.ATRIBUT.atx
prostorový index - vytvoří index nad geometrií ArcToolbox - Data Management Tools – Indexes – Add Spatial Index, přidá prostorový index, je třeba zvolit úrovně prostorového indexu (Spatial Grid 1 aţ 3). Vyuţito je totiţ indexování do gridu (pravidelné čtvercové sítě). U Shapele není moţné volit úrovně gridu, index se pak vytvoří jako soubory shape.sbx a shape.sbn.
Geodatabáze Personal geodatabase má tří klíčové komponenty: 1. feature classes 2. feature datasets 3. „neprostorové“ tabulky (nonspatial features) Všechny tři komponenty jsou vytvořeny a spravovány v ArcCatalogu Jde o skutečný geodatabázový datový model Ukládá kaţdý prvek jako řádek v tabulce
Vektorový tvar prvku je uloţen v tabulkových polích tvaru (shape) s atributy prvků v dalších polích Kaţdá tabulka ukládá třídu prvků V geodatabázi mohou být uloţeny také rastry i datové tabulky
Feature Class Feature class je mnoţina prvků shodného geometrického typu (bod, linie nebo polygon) a atributů vyjádřených ve shodném souřadnicovém systému Například všechny restaurace ve městě mohou být uloţeny v geodatabázi jako jeden feature class Geometricky by byly restaurace na mapě reprezentovány jako bod, jehoţ souřadnice by byly vyjádřeny ve zvoleném souřadnicovém systému V „neprostorové“ tabulce by pak byly pro kaţdou restauraci uloţeny informace o její otevírací době, kapacitě, atd. Prvkové třídy mohou v geodatabázi existovat jako samostatně stojící prvkové třídy, nebo mohou být součástí nějakého feature dataset.
Feature Dataset Feature dataset je kolekce prvkových tříd (feature classes) Všechny prvkové třídy v rámci jednoho feature dataset musí mít shodný souřadnicový systém Feature dataset primárně slouţí k uloţení prvkových tříd, které mezi sebou mají topologické vztahy, jako například sousedství (přilehlost) Pro moţnost definovat pouţití topologického pravidla mezi prvkovými třídami, musí být tyto třídy součástí jednoho feature dataset. Nonspatial Tables „Neprostorové“ tabulky obsahují atributová data, která mohou být asociována s prvkovými třídami Tyto tabulky obsahují pouze atributová data, neobsahují geometrické popisy prvků – coţ je odlišuje od tzv. feature class tables, které obsahují alespoň jeden sloupec s geometrickým popisem prvků.
Další prvky personal geodatabase Domains - domény Domény zabraňují chybám při vstupu dat do geodatabáze Rovněţ slouţí ke kontrole hodnot atributů v existujících datech Domény definují mnoţinu přípustných hodnot, které lze do atributu vloţit Doména je definována buď výčtem hodnot či rozsahem
Topology Prostorové vztahy mezi prvky jsou definovány pomocí topologie Definování topologických pravidel je nezbytné, pokud například modelujeme povodí řek. Pak je ţádoucí, aby na sebe jednotlivé prvky (vodní toky) této sítě navazovali apod, a tuto návaznost a jiné vlastnosti lze právě zajistit definováním odpovídajících topologických pravidel.
V geodatabázi jsou moţné tři typy topologií 1. geodatabase topology 2. map topology 3. topologie vytvořená pro geometrickou síť (network topology) • •
ArcGIS obsahuje přes 20 topologických pravidel, pomocí kterých je moţné modelovat prostorové vztahy mezi prvky a „vynutit si“ tak jejich dodrţení Všechny prvkové třídy podílející se na geodatabase topology (jinými slovy – na prvky těchto prvkových tříd se vztahuje nějaké to topologické pravidlo) musí být obsaţeny ve shodném feature dataset
Základní geometrie pro třídy prvků geodatabáse jsou: 1. Body a vícenásobné body 2. Styčné body sítí 3. Linie 4. Segmenty sítí 5. Polygony Všechny třídy prvků typu bodů, linií a polygonů mohou mít: • Více sloţek • Souřadnice x,y,z nebo x,y,z,staničení
Liniové prvky jsou tvořeny hranami, kruhovými oblouky a Bézierovými křivkami
Polygonové prvky representují plochy. Jejich ohraničení můţe být sloţeno z: 1. Linií 2. Kruhových oblouků 3. Bézierových křivek Mohou být prosté uzavřené útvary nebo mohou mít vloţené ostrůvky
Shrnutí Formát geodatabase poskytuje rozsáhlou funkcionalitu a nabízí mnoho výhod pro GIS uţivatele. Z předchozího bychom si měli pamatovat, ţe: geodatabase je relační databáze, která ukládá geografická data. Rozlišujeme dva typy formátu ESRI geodatabase 1. personal 2. multiuser Klíčovými komponentami personal geodatabase jsou 1. Feature class 2. Feature dataset 3. Nonspatial tables
V geodatabázi můţeme definovat topologii (topology) a vztahy mezi prvky (relationship) V geodatabázi mohou být vytvořeny dva typy rastrových objektů – raster dataset a raster catalog
Multiuser geodatabase přímo ukládá rastrová data, zatímco personal geodatabase se na rastry odkazuje.
Topologie 1. Topologie popisuje vzájemné prostorové vztahy geometrických prvků 2. V oblasti GISů se tímto pojmem označují přímo vlastní prostorové vztahy geoprvků 3. V kaţdém moderním geografickém informačním systému je znalost topologie zaznamenaných geoprvků nezbytným předpokladem pro úspěšné zvládání poţadavků uţivatelů Má-li GIS poskytnout odpověď na otázky typu 1. "Které parcely leţí v okolí konkrétní silnice?" 2. "Jaká je rozloha lesů leţících v okruhu do 100 km od uvaţovaného místa výstavby nového závodu?" atd.
pak je znalost prostorových vztahů geoprvků víc neţ nezbytná.
Základním kamenem pro práci s mapovými podklady (převzatými nebo nově vytvořenými) je kvalitně řešená topologie Úprava kresby topologickými operacemi zajišťuje stabilitu dat, která je nutnou podmínkou pro další práci s mapovými elementy a provádění analýz Při topologických operacích na kontrolu kresby jsou nejprve vybrány všechny elementy. Vytvoří se tzv. výběrová mnoţina. Tato můţe být definována oknem, ohradou nebo jinou metodou či speciálním příkazem Při příliš velkém rozsahu kresby jsou pak nároky jak z hlediska časového tak i z hlediska vyuţití pouţité techniky neúnosné. Tuto situaci řeší některé programy tím, ţe výběrovou mnoţinu je moţné rozdělit na podmnoţiny ( definovat počet sloupců a řádků ) a tím vytvořit jakousi plošnou síť
Mezi nejdůležitější opravné topologické operace patří: hledání a úprava duplicitních čar
hledání podobných čar sniţování počtu vrcholů rozdělení lineárních elementů vyhledání rozestupů vyhledání přesahů
Vyhledání zlomků čar
Vyhledání duplicitních čar
Vyhledání podobných čar
Další topologické operace
Mapový podklad Vyhledání rozestupů
Rozdělení lineárních elementů
Vyhledání přesahů
Snížení počtu vrcholů
Coverage Obsahuje primární, sloţené a sekundární typy prvků Primární jsou: 1. Identifikační body (labels) 2. Linie – lomené čáry, koncové body se nazývají nody, vnitřní vrcholy vertex 3. Polygony
Linie také mohou tvořit mnohoúhelníky, které representují např. typ půdy
Nody mohou mít atributy, takţe mohou representovat i bodové prvky v síti, např. uzávěr vody
Nody jsou také důleţité ke sledování vzájemného propojení prvků Polygony representují oblasti, jsou ohraničeny liniemi včetně linií, které určují ostrůvky Kaţdý bod se nachází právě uvnitř jednoho Polygonu Mohou mít společné okraje B a C, ale nepřekrývají se
Sloţené jsou sloţeny z primárních prvků a zahrnují: 1. Trasy/sekce 2. Regiony 3. Registrační body 4. Propojení 5. Anotace
Regiony jsou plošné prvky sloţené z polygonů. Na rozdíl od polygonů mohou být nesouvislé. Pevnina a ostrov mohou být značeny v mapě jako dva polygony, ale mohou patři do stejného regionu. Polygony A a D patří do regionu R1
Regiony R2 a R3 mají společný polygon C
Příklad sekundárního prvku anotace Můţe být umístěna u bodu, mezi dvěma body nebo podél řady bodů Anotace je uloţena v geografických Souřadnicích, tedy si zachovává i měřítko souvstaţně k jiným prvkům
Registrační značky jsou geografické kontrolní body Representují známé místo na zemi Pouţívají se k registraci a transformaci souřadnic coverage Topologie slouţí k definování a pouţívaní vztahů vlastních geometrií prvků. Existují 3 hlavní topologické vztahy pro coverage: 1. Spojitost 2. Definice ploch 3. Přilehlost Coverage ukládají propojitelnost záznamem nodů, linie, které mají společný node, jsou spojené – jde o tzv. liniovou topologii Kaţdá linie je mnoţinou propojených s výchozím a koncovým nodem
Zde jsou 3 linie 1,2,3 Linie začíná v node 10 jde k nodu 20 Je definována lomovými body a,b,c,d Linie 2 je spojena s 1 v nodech 10 a 20
Coverage definují plochy tak, ţe zaznamenávají seznam propojených linií, které tvoří hranice daného polygonu. Polygon A je definován liniemi 1 a 2.
Coverage ukoádají souvislosti tak, ţe uchovávají seznam polygonůna levé a pravé straně kaţdé linie. Polygony, které mají některou linií společnou, jsou související.
Závěry a doporučení pro sestavování geomodelů •
Je vhodné najít rozumný kompromis mezi pečlivostí při editaci dat a moţnostem automatické kontroly geometrické přesnosti a topologie
•
Často je efektivnější pořizovat data v jednodušším software se základními kontrolami geometrie (např CAD), kontroly topologie a plnění atributových dat potom lze rychleji udělat v GIS
•
Při nákupu dat je vhodné vyţádat si vzorek a ten otestovat na chyby geometrie a vybraná topologická pravidla
•
Většina státních mapových děl pochází z CAD systémů a často nevyhovuje topologickým pravidlům nutným pro komplexnější úlohy (geocoding, síťové analýzy)
•
Pokud máme k dispozici odpovídající software, často můţe být výhodnější cíleně koupit strukturálně jednodušší data (levnější) a přidanou hodnotu si vytvořit vlastními silami
•
Na geometrické kvalitě vektorových dat velmi závisí správnost výsledku mnoha úloh (př. (extrém): data v jednotném záchranném systému, špatná volba trasy pro sanitku, hasiče...)