Obsah

N-INS 11. Geografické IS

Zadání: Základní principy, pojmy, funkce. Datové modely, DB prostředky, analytické funkce, mapy a standardizace. Metodika vytváření GIS. Typy komerčních systémů.

Nelekejte se prosím, že ta otázka je dlouhá. Je tam hodně obrázků. Radši jsem tam toho dal víc, podle mně je lepší si to přečíst jednou a mít přehled, než se nazpaměť naučit krátký text. Když tak připomínkujte do diskuse. Díky. –Adam

Vymezení pojmu GIS

GIS je jakýkoliv manuálně nebo počítačově založený soubor postupů užívaných k ukládání a manipulování geograficky vztažených dat. Geograficky vztažená data mají dvě složky:

Typy GISů:

GIS jsou navrhovány tak, aby byly schopny reagovat na dotazy typu:

  • Kde se nalézá parcela …?
  • Jaké typy parcel se nalézají v daném regionu …?
  • Jakou výměru parcel vlastní daný oprávněný subjekt?

Historie

Karotgrafie jako obor má zajímavou historii. Geografické informace měli v průběhu staletí cenu zlata a mnohdy byly považovány za státní tajemství, jehož vyzrazení se trestalo smrtí.

Slavné postavy kartografie

Erasthothénovo měření obvodu Země

Určování polohy

Určování zěměpisné šírky

Kamal (Zdroj: http://nabataea.net/sailing.html)

Určujeme jak daleko jsme od rovníku. Většinou se určovalo pomocí výšky známých souhvězdí a slunce nad obzorem. Pomůcky:

Určování zěměpisné délky

Je potřeba porovnat čas na nultém poledníku a místní čas. Místní čas se zjišťuje čekáním na poledne – periodicky se měří výška slunce nad obzorem a zapisuje čas nultého poledníku. V čase místního poledne je 12:00 hodin a je možné porovnat s časem nultého poledníku. Toto nešlo moc spolehlivě dělat bez přesných hodin, které by ukazovali čas nultého poledníku. Ty byly k dispozici až od 17. století.

Po odměření rozdílu je potřebné udělat korekci (místní poledne se může od středního poledne lišit až o 16 minut). Na to slouží korekční tabulka – analema.

Kartografická zobrazení a mapy

Část věnována základním kartografickým pojmům a principům.

Pojmy

Typy zobrazení

  • Konformní zobrazení – ponechává nezkreslené úhly, značně jsou však zde zkreslovány plochy.
  • Ekvidistantní zobrazení – nezkresluje délky určité soustavy. Zpravidla touto soustavou bývají zeměpisné poledníky nebo rovnoběžky. Nelze definovat ekvidistantní zobrazení, které bynezkreslovalo žádné délky.
  • Ekvivalentní zobrazení – nezkresluje plochy, zkreslení úhlů je však zde poměrně značné, což se projevuje zejména ve tvarech ploch.

Základní typy převodu geografických do rovinných souřadnic

Válcové zobrazení

Kuželové zobrazení

Azimutální zobrazení

Nejpoužívanější souřadné systémy v ČR

Transformace souřadných systémů

Problém:
Mapy různých kartografických zobrazení transformovat do zobrazení cílového. Základem je znalost, jak transformovat bod.

Nalezení koeficientů polynomiální transformace

Vstup: Dva seznamy „odpovídajících“ si bodů:

{[x_1, y_1].. [x_n, y_n]} {[u_1, v_1].. [u_n, v_n]}

Výstup: Seznam koeficientů polynomiální transformace zvoleného stupně.
Transformujeme [u, v] do [x, y] s co nejmenší chybou, tedy:

\Sigma dist2([x_i, y_i], [f(u_i, v_i), g(u_i, v_i)]) = min

Datové sklady geoinformačních systémů

Prostorové informace je možné ukládat různým způsobem. Tato část představuje základní formáty, které jsou pro tento účel používány.

Rastrová data

Využívají se běžné formáty obrazových dat (bmp, png, jpeg, tif, gif, ecw…). Některé z nich mohou mít informace o vztahu k souřadnicím kartografické projekce přímo ve své hlavičce (ecw, tif) u ostatních se používá „doplňující“ textový soubor (*.TFW), který obsahuje parametry lineárního převodu z/do pixelových do/z kartografických souřadnic.

Typy rastrových dat:

Sousední pixely

N P N
P X P
N P N

Pixely P jsou přímí (d-) sousedé pixelu X. Pixely N jsou nepřímí sousedé pixelu X.

Kvantitativní charakteristiky obrazu

Histogram obrazu

Graf počtu pixelů podle barev.

Matice sousednosti

Matice sousednosti je M⨉M matice CM, kde M je počet různých barev obrázku. V buňce [i, j] matice je počet přímo sousedících pixelů o bravě i a j.

Operace nad obrazy

Filtry

Filtry jsou funkce, které počítají hodnotu pixelu z jeho okolí.

Původní obraz:
Filtry: Původní obraz Zhlazovací filtr:
Filtry: Zhlazovací filtr Zostřující filtr:
Filtry: Zostřující filtr Detektor hran:
Filtry: Detektor hran

Skelet
.....           ..... 
.*.*..          ..*.. 
..*.*..         ..*.. 
..*..*..        ..*.. 
..*...*..       ..*.. 
..*....*..      ..*.. 
..*.. ..*..     ..*.. 
..*..  ..*..    ..*.. 
..*..   ..*..   ..*.. 
..*..    ..*..  ..*.. 
..*..     ..*.. ..*.. 
..*..      ..*....*.. 
..*..       ..*...*.. 
..*..        ..*..*.. 
..*..         ..*.*.. 
.*.*.          ..*.*. 
.....           .....  

Definice:
Nechť R je množina pixelů, B její hranice (kontura), P bod v R. Nejbližší soused bodu P na hranici B je bod M z B takový, že pro každý bod M ́ z B je vzdálenost PM ́ větší nebo rovna vzdálenosti PM. Má-li bod P více než jednoho nejbližšího souseda, nazývá se bodem skeletu množiny R. Sjednocení všech bodů skeletu tvoří skelet množiny R.

Algoritmus – Určení skeletu:

  1. Urči hranici (konturu) B(R) množiny R.
  2. Urči množinu násobných pixelů M(R) v hranici B(R)
  3. Je-li B(R) = M(R), skonči.
  4. Polož R = R - (B(R) - M(R)) a pokračuj krokem 1.

Vektorová data

Nejdůležitější vektorové formáty

Shape file
DGN file, norma IGDS (Intergraph, Bentley)
Oracle 8x
OGC Well known binary
Point { 
 double x; 
 double y; 
}; 
 
WKBPoint {  
  byte byteOrder; 
  uint32 wkbType; 
  Point point; 
};  
 
WKBLineString { 
  byte byteOrder; 
  uint32 wkbType; 
  uint32 numPoints; 
  Point points[numPoints]; 
};  

atd.

GML – Geographic Markup Language
<CP:geometry> 
  <gml:Polygon srsName="urn:ogc:def:crs:EPSG::2065" gml:id="Polygon_1828023805"> ̈ 
    <gml:exterior> 
      <gml:LinearRing> 
        <gml:posList srsDimension="2"> 
          541484.77 1113662.92 541484.36 1113666.36 
          541476.26 1113665.3 
          541469.89 1113664.51 
          1113659.06 541469.46 1113660.94 
          541484.77 1113662.92 
        </gml:posList> 
      </gml:LinearRing> 
    </gml:exterior> 
  </gml:Polygon> 
</CP:geometry> 

Efektivni přístup k prostorovým datům

Dejme tomu, že máme geografické objekty uložené v relační databázi jako vektorová data. Pokud nechceme při získávání dat z této databáze lineárně procházet všechny záznamy, je potřeba nad nimi vybudovat index, stejně, jako nad jinými typy dat. Tato sekce pojednává o různých typech indexů, pomocí kterých se dá k prosotorovým datům efektivně přistupovat.

Rozsahový dotaz na obdélníky ve 2D prostoru

Vyhledávací množina je konečná množina obdélníků ve 2D prostoru jejichž strany jsou rovnoběžné s osami souřadného systému. Dotazem je libovolný obdélník ve 2D prostoru jehož strany jsou rovnoběžné s osami souřadného systému.

Vyhledávací funkce vrací takové obdélníky, které incidují (mají neprázdný průnik) s obdélníkem dotazu. Taková funkce řeší problém rozsahového dotazu na obdélnících 2D prostoru.

Jednotný zdroj pro prostorovou indexaci geometrických objektů: (tj. struktur pro efektivní vyhledání) je minimální omezující obdélník geometrického objektu rovnoběžný s osami souřadného systému – MBR (minimal bounding rectangle):

Minimal Bounding Rectangle

tedy minima, resp. maxima lomových (definičních) bodů [xmin, ymin, xmax, ymax]

V naprosté většině případů vystačíme s obdélníkovým dotazem:

Minimal Bounding Rectangle

Metoda GRID

Spočívá v rozdělení 2D prostoru na obdélníkovou síť. Elementy sítě lze maticově indexovat, tím prostor „linearizovat“ a využít je tím pro primární prostorový filtr.

Metoda GRID

+/- metody GRID

+ velmi snadná implementace v prostředí RDBMS
+ snadné rozšíření na více dimenzí
+ relativně snadná (resp. řešitelná implementace neobdélníkových dotazů)
- netriviální odhad velikosti GRIDových čtverců, špatná volba má dramatické důsledky
- nepravidelné chování při řádově rozdílné velikosti geometrických objektů

k-D stromy

k-D strom je založen na klasickém binárním vyhledávacím stromu, pro který platí, že pro každý uzel daného stromu jsou:

hodnoty v levém podstromu uzlu ≤ hodnota v uzlu ≤ hodnoty v pravém podstromu uzlu 

k-D strom je strom, kde v uzlech je k-tice a kde dva uzly porovnáváme podle i-tého čísla k-tice, kde i je úroveň uzlu (počet uzlů od vrcholu). Tj. srovnávací kritérium se mění na různích úrovních stromu.

nodl <=_i nod kde i = level(nod) mod k

Území se takto na každé úrovni stromu rozdělí na poloviny podle jiného kritéria (jiné osi).

Geometrická interpretace 2-D stromu, každý vložený bod dělí, jistou část roviny na dvě "poloroviny"

Aplikací jsou 2-D stromy, kde lze v uzlech uložit 2D souřadnice bodů a 4-D stromy, kde lze v uzlech ukládat obdélníky.

Quad Tree – Kvadrantové stromy

Kvadrantové stromy jsou prostorové vyhledávací struktury založené na pravidelném dělení části 2D prostoru (většinou čtverce) na čtyři stejné části. V základní verzi mohou přímo definovat polygonální geometrii.

Quad Tree – Kvartérní strom

Uzel kvadrantového stromu obsahuje položku content, která je buď empty, nebo full a pokud není listem, má také 4 synovské uzly TL, TR, BL, BR (top/bottom left/right).

+/- kvartérních stromů

+ struktura je velmi dobře použitelná v těch případech, kdy je prostor pevně rozdělen na „dlaždice“ + jednoduše implementovatelné množinové operace

Pevný kvartérní strom (non-pointer Quad Tree)

Namísto stromové struktury s pointery na synovské obdélníky je obdélníkům přidělován prefixový klíč.

Non-Pointer Quad Tree – Pevný kvartérní strom

Problematické dotazové obdélníky jsou ty, které procházejí středem území. To pak musíme prohledávat všechno. Toto můžeme obejít rozdělením takového dotazu.

Rozdělení středem procházejícího dotazu na pevný kvartérní strom

+/- pevných kvartérních stromů

+ velmi snadná implementace rozdělení dotazu v prostředí SQL
+ „jeden objekt“ = „jeden klíč“, znamená, že prostorová indexace je zabezpečena přímo v geometrické tabulce. Prostorový výběr nevyžaduje součin, či spojení s dalšími tabulkami.
+ každý čtvereční metr Země má konzistentní 21 cifernou adresu
+ z délky adresy lze automaticky odvodit rozlišení 1)

SB+ stromy

SB+ stromy vycházejí z B+ stromů. Ty už bychom měli znát :-) Pokud jste jako já a potřebujete osvěžit paměť, tak wikipedia:
http://cs.wikipedia.org/wiki/B%2B_strom http://en.wikipedia.org/wiki/B%2B_tree

SB+ strom je B+ strom, který v listech uchovává informaci o intervalech, které listem procházejí (resp. v začínají, nebo končí). Pro každou dimenzi existuje jeden SB+ strom 2). Tyto intervaly určují MBR obdélníky geometrických objektů.

SB+ strom

Vyhledávání: Máme dotazový interval [xmin, xmax]. Najdeme všchny uzly, které spadají do tohoto intervalu (je to stále B+ strom, takže toto vyhledávání má logaritmickou časovou složitost). Pak jen předej na výstup obsah listů. To samé pro druhou dimenzi. Výsledek je průnik výsledků vyhledání pro jednotlivé dimenze.

Vkládání probíhá jak pro B+ strom: V případě vytváření nového uzlu po štěpení (ve stávajícím uzlu už nebylo místo) je potřeba kromě vkládáného intervalu taky skopírovat hodnotu „prochází“ (na obrázku 'c') pro intervaly, které novým uzlem procházejí. Tj. pokud je nalevo od nového uzlu 'R1b' (R1 začíná), nebo 'R1c' (R1 prochází), tak do nového uzlu dáme 'R1c' (R1 prochází). Pokud je napravo od nového uzlu 'R1e' (R1 končí), nebo 'R1c' (R1 prochází), tak do nového uzlu dáme 'R1c' (R1 prochází).

+/- SB+ stromů

+ Strukturu SB+ stromu můžeme velmi efektivně použít na řešení incidence objektů v dotazovém okně, tedy na dotaz typu: Všechny dvojice objektů, které mohou mít neprázdný průnik a leží v daném dotazovém okně.

R stromy

Základní myšlenka: Nad geometrickými objekty, které jsou blízko sebe vybudujeme v struktuře stromu společné předky. R stromy jsou také odvozené z B stromů. Klíče jsou obdélníky.

R strom

Vyhledání: Postupuj od vrcholu stromu a pokračuj s těmi syny, se kterými je dotazový obdélník incidentní. Pokud jsme na listu, pošli na výstup incidentní klíče.

Vkládání (mbr nějakého polygonu): Podobně jako v B(+) stromu. Jediná „zapeklitá“ část je rozdělení listu pokud je již plný. Musím rozdělit obdélníky do dvou skupin, ze kterých vybudujeme dva nové uzly. Je při něm potřeba vyřešit následující problém:

Najdi dva obdélníky (možná incidentní) s následujícími vlastnostmi (NP-úplný problém):

+/- R stromy

R strom je nejpoužívanější metoda prostorové indexace, je nezávislá na velikosti objektů, nemusíme znát rozsah území, poměrně snadno je modifikovatelná na polygonální dotazy (viz algoritmus dotazu, dotazový obdélník můžeme nahradit dotazovým polygonem).

Funkce a operace nad geometrickými objekty

Prostorovými informace, zejména ty, uložené ve vektorových formátech, lze různě matematicky upravovat a pomocí matematických operací z nich získávat další informace.

Plocha areálu

Vzorec pro výpočet plochy všeobecného polygonu s vrcholy [x1, y1][xn, yn] je:

A = \frac{1}{2} 
\left( 
  \left| \begin{matrix} 
    x_1 & x_2 \\ 
    y_1 & y_2 \\ 
   \end{matrix} 
  \right| 
  + 
  \left| \begin{matrix} 
    x_2 & x_3 \\ 
    y_2 & y_3 \\ 
   \end{matrix} 
  \right| 
  + 
  ... 
  + 
  \left| \begin{matrix} 
    x_i & x_{i+1} \\ 
    y_i & y_{i+1} \\ 
   \end{matrix} 
  \right| 
  + 
  ... 
  + 
  \left| \begin{matrix} 
    x_{n-1} & x_n \\ 
    y_{n-1} & y_n \\ 
   \end{matrix} 
  \right| 
\right)

Zdroj:

Myšlenka je postavena na přičítání a odčítání ploch lichoběžníků a funguje pro jakýkoliv polygon. Opravdu dobře vysvětlené to je zde:

Určení orientace polygonu

Algoritmus:

  1. Vyber z hranic oblastí takovou hranici a tři po sobě jdoucí její body tak, aby střední bod měl minimální souřadnici y (ze všech souřadnic y v polygonu) a první bod měl souřadnici y větší, než bod prostřední.
  2. Rotuj souřadnou soustavu tak, aby orientovaná úsečka definovaná prvními dvěma body splynula s osou x v kladném směru.
  3. Znaménko souřadnice y posledního bodu určuje orientaci polygonu.

Rotace polygonu, pro určení jeho orientace

Poloha bodu vůči polygonu

Viz třeba na wikipedii:

Konvexní polygon

Konvexní polygon Graham scan, Zdroj: Wikimedia, http://en.wikipedia.org/wiki/File:Graham_Scan.svg

Konvexní polygon je polygon s touto vlastností: Každý vnitřní bod úsečky, jejíž krajní body leží na hranici polygonu, je i vnitřním bodem polygonu.

Algoritmus pro vytvoření konvexního obalu (Graham scan):

Průnik dvou oblastí

Průnik oblastí

Algoritmus:

  1. Vstup: dvě orientované oblasti.
  2. Všechny hrany hranic oblastí modifikuj tak, aby se vzájemně neprotínaly, mohou však splývat s hranami hranic z druhé oblasti. Potom mají tyto vlastnosti
    • hrana splývá s jinou z druhé oblasti
    • hrana leží celá uvnitř druhé oblasti
    • hrana leží celá vně oblasti
  3. Do seznamu zařaď ty hrany, které buď, leží celé v druhé oblasti, nebo splývají s nějakou hranou z druhé oblasti, se kterou mají stejnou orientaci, (totožné hrany jen jednou).
  4. Z vybudovaného seznamu zřetěz hranice výsledné oblasti a výsledek pošli na výstup.

Datové modely

Základními modely prostorové složky geografických dat jsou rastrové a vektorové modely.

Rastrový model

Rastrový model dělí modelovanou oblast (WOI) do pravoúhlé sítě buněk, každá buňka obsahuje jednotlivou hodnotu sledovaného údaje. Buňce odpovídá plocha sledované oblasti (území). Jedna množina buněk spolu s asociovanými hodnotami vytváří vrstvu. V databázi může být uloženo mnoho vrstev.

Výhody:

Nevýhody:

Data v rastrovém modelu

Hodnoty uchované v buňce (pixelu)

Vektorový model

Vektorový model využívá pro vymezení lokalizace diskrétní bodové nebo liniové elementy – úsečky. Diskrétní objekty vektorového datového modelu vznikají spojením úseček. Na rozdíl od rastrového datového modelu nemusí vektorový datový model pokrývat celé území. (Rastrový model říká co se vyskytuje kdekoliv – v každém místě oblasti, vektorový model říká, kde se cokoliv vyskytuje, zobrazuje umístění každého objektu.)

Výhody:

Nevýhody:

V obou modelech je prostorová informace reprezentována základními (homogenními) jednotkami. V rastrových modelech jsou to pixely (buňky), ve vektorových modelech jsou homogenními jednotkami body, lomené čáry a polygony. Pokud rastrový a vektorový model popisují shodné území ve srovnatelné přesnosti, je v rastrovém modelu řádově více základních jednotek než ve vektorovém modelu. Rozměr základních jednotek v rastrovém modelu je konstantní, rozměr základních jednotek ve vektorových modelech je velice proměnlivý – lomená čára se může skládat ze dvou bodů nebo také z několika desítek tisíc bodů.

Rastrový a vektorový model

Data ve vektorovém modelu

Data je možné vektorom modele uchovávať 3 rôznymi spôsobmi.

Špagetový (spaghetti)) model prostorových dat

Ve špagetovém modelu jsou všechny typy objektů uloženy v jednom heterogenním seznamu. Tento seznam má pouze 2 položky:

Ve špagetovém modelu není obsažena žádná informace o topologii (sousednost, orientace, konektivita, obsahování). Výtahy mezi prostorovými daty musí být odvozeny výpočtem. Výhodou špagetového modelu je levná údržba prostorových dat. Tento model je vhodný pro počítačovou reprodukci map, ale i pro uchovávání prostorových dat, se kterými nebudou prováděny prostorové operace a které mají charakter pozadí – podkladu pro práci s jinými prostorovými daty.

Hierarchický model

Vychádza z faktu, že polygón sa skladá z niekoľkých línií, tie z úsečiek a tie spájajú body.
Táto hierarchická štruktúra je zachovaná pri ukladaní dát.

Topologický model

Topologický model je kompromisem mezi 1. a 2. (uchováva jenom body a čáry, čáry můžou být orientované). Je nejrozšířenějším modelem, který uchovává prostorová data a vztahy mezi nimi. Tímto modelem lze reprezentovat areály i sítě. Základními objekty v tomto modelu jsou:

Topologický model obsahuje topologické objekty, nemusí však obsahovat geometrické objekty (v tomto málo častém případě probíhá údržba prostorových dat bez jejich grafického vyjádření).

Mezi hlavní výhody topologického modelu je možnost provádět analýzy prostorových dat bez užití souřadnic – bez práce s geometrickými objekty. Nevýhodou je nutnost údržby topologické struktury, která se často – zejména pro grafy s velkým počtem prvků – provádí dávkově.

Analytické funkce

Základní členění analytických funkcí:

Údržba a analýza prostorových dat

Funkce údržby a analýzy prostorových dat jsou ty funkce, které se týkají pouze prostorové složky geografických dat, popisná složka se nemění. K funkcím této kategorie patří:

Údržba a analýza popisných dat

Údržba a analýza popisných dat patří k běžným funkcím všech informačních systémů. Jedná se o tyto funkce:

Pokud jsou popisná data uložena v relační databázi, využívají se pro jejich údržbu a analýzu služby RDBMS a jazyka SQL.

Integrovaná analýza prostorových a popisných dat

Integrovanou analýzou prostorových a popisných dat se liší GIS od ostatních informačních systémů, které mají implementovány pouze funkce operující nad popisnými daty, a od systémů CAD, které mají implementovány pouze (některé) funkce nad prostorovými daty.
Analytické funkce mohou být realizovány dvojím způsobem:

Výhodou prvního způsobu je snadnost obsluhy, výhodou druhého je širší spektrum možností, které poskytuje modulární systém.

Třídy těchto funkcí:

Standardizace

Potreba integrácie viacerých systémov, zastrešené organizáciou OGC.
Známe štandardy:

Předměty

Použité zdroje

  1. DRÁŠIL, Milan. PV019 –- Úvod do geoinformačních systémů : Fólie k přednášce (podzim 2011) [online]. 2011. Brno, 2011, 2011-10-17 [cit. 2011-10-29]. Dostupné z WWW: <https://is.muni.cz/el/1433/podzim2011/PV019/um/PV019_2011_part.pdf?info>.
  2. Richter, Rudolf. PA049 Geografické informační systémy II (přednášky). FI MU, Brno. Dostupné z <https://is.muni.cz/auth/el/1433/jaro2011/PA049/um/>

Vypracoval

Adam Libuša, https://is.muni.cz/auth/osoba/173122, 173122[AT]mail.muni.cz
Malo by byť hotovo. Čerpal som hlavne zo skrípt GISov 1. Ešte sa pozriem na GISy 2, či je tam niečo prínosné a potom napíšem Drášilovi.

1)
RICHTER, Rudolf. Lekce 6 - Správa dat – metody a strategie : PA049 Geografické informační systémy II (přednášky). Str 12. FI MU, Brno. Dostupné z <https://is.muni.cz/auth/el/1433/jaro2011/PA049/um/u06n.pdf>
2)
Azzam Ibrahim, Farshad Fotouhi, and Amer AL-Badameh. 1997. Efficient processing of spatial selection and join operations using SB+-tree. In Proceedings of the 1997 international conference on International database engineering and applications symposium (IDEAS'97). IEEE Computer Society, Washington, DC, USA, 279-288.