Karta předmětu prezenční studium Název předmětu: Algoritmizace prostorových úloh Číslo předmětu: 548-0069 Garantující institut: Garant předmětu: Institut geoinformatiky RNDr. Daniela Szturcová, PhD. Kredity: 4 Povinnost: povinný Úroveň studia: pregraduální Jazyk výuky: čeština Ročník: 1 Semestr: zimní Odkaz na web: Určeno pro fakulty: HGF Určeno pro typ studia: bakalářské Způsob zakončení: záp. + zk. Rozsah výuky: 1+2 Prerekvizity: Korekvizity: Vyskytuje se v prerekvizitách: nemá nemá není Výstupy z učení - student prokazuje znalosti: základních prostorových úloh a jejich algoritmických vyjádření, implementace základních algoritmů. - student umí: vysvětlit základní algoritmy, popsat základní algoritmy ve formě diagramu nebo pomocí formálního zápisu, - student je schopen: pochopit problém prostorové úlohy a rozložit jej na dílčí části, které lze řešit základními algoritmy, navrhnout řešení komplexní úlohy vhodnou kombinací základních algoritmů.
Metody výuky (zastoupení jednotlivých metod je třeba kvantifikovat v %) přednášky 24 % cvičení 46 % samostatná práce 30 % Anotace Předmět seznamuje studenty s pojmem algoritmu, jeho významem a způsoby popisu. Dále jsou uvedeny základní algoritmy prostorových úloh v geoinformatice a jejich vytváření algoritmů. Základní konstrukce v programovacích technikách sekvence, podmínky, cykly. Základní vlastnosti jazyka Java, jeho použití při implementaci algoritmů. Vektorová data průsečík linií, bod v polygonu, průsečík polygonu s linií, překryvné operace s polygony, vzdálenost bodu od linie/polygonu, Thiessenovy polygony. Generalizace linií. Základní úlohy z teorie grafů a vhodné algoritmy pro jejich řešení. Rastrová data práce s georeferencovaným rastrovým obrazem obrazové vs. mapové souřadnice, zjištění hodnoty obrazového bodu na zadané souřadnici, afinní transformace. Reklasifikace rastrového obrazu, překryvné operace, mapová algebra, filtrování. Povinná literatura Knuth, D. E.: The Art of Computer Programming, Volumes 1 4, Addison-Wesley Professional. De Smith, Goodchild, Longley: Geospatial Analysis, A Comprehensive Guide to Principles, Techniques and Software Tools. Staněk, F. - Staňková, J.: Vytváření a realizace algoritmů. ISBN 8070785063. VŠB, Ostrava, 1998. Herout, P.: Učebnice jazyka Java. KOPP, 2000. Doporučená literatura Zhin, Li: Algorithmic Foundation of Multi_scale Spatial Representation. CRC Press, Taylor and Francis Group, Boca Raton, 2007. Eckel, B.: Myslíme v jazyce Java. Grada, 2000. <http://www.eckelobjects.com/>. Pecinovský R.: Myslíme objektově v jazyku Java 5.0, Grada, 2008, ISBN 978-80-247-2653-3. Nároky na zabezpečení výuky Výuka ve cvičeních je plánována v prostředí počítačové laboratoře. Metody průběžné kontroly znalostí během semestru Znalosti během semestru budou kontrolovány vypracováním samostatných úloh pro různé typy algoritmů. Osnova přednášek 1) Pojem algoritmu, význam algoritmizace prostorových úloh v geoinformatice, požadavky na algoritmus, způsoby zápisu algoritmu, vytváření algoritmů, vývojový diagram.
2) Základní konstrukce používané při implementaci algoritmů sekvence, skok, podmínka, cyklus. 3) Datové typy. Vlastní datové typy, jejich použití u základních úloh třídění, vyhledávání, indexace. 4) Vektorová data průsečík linií, bod v polygonu, průsečík polygonu s linií, překryvné operace s polygony, triangulace polygonu. 5) Grafové úlohy. Dijkstrův algoritmus, A* - hledání nejkratší cesty v grafu. 6) Rastrová data práce s georeferencovaným rastrovým obrazem obrazové vs. mapové souřadnice, zjištění hodnoty obrazového bodu na zadané souřadnici, afinní transformace. 7) Reklasifikace rastrového obrazu, překryvné operace, mapová algebra. Histogram rastrového obrazu výpočet základních statistických charakteristik. Osnova cvičení 1) Způsoby zápisu algoritmů jazyk přirozený, formální, grafický, pseudojazyk. 2) Základní vlastnosti jazyka Java. Datové typy, operátory a výrazy, formátování. 3) Podmínky, cykly. Metody. 4) Třídění, vyhledávání nejpoužívanější algoritmy. 5) Použití knihoven jazyka Java. 6) Vektorová data průsečík linií, bod v polygonu, průsečík polygonu s linií. 7) Překryvné operace s polygony, triangulace polygonů. 8) Grafové úlohy - Dijkstrův algoritmus, hledání nejkratší cesty v grafu. 9) Rastrová data práce s georeferencovaným rastrovým obrazem obrazové vs. mapové souřadnice. 10) Zjištění hodnoty obrazového bodu na zadané souřadnici, afinní transformace. Otázky ke zkoušce 1) Pojem algoritmu, význam algoritmizace prostorových úloh v geoinformatice. 2) Způsoby zápisu algoritmu, vytváření algoritmů, vývojový diagram. 3) Základní konstrukce používané při implementaci algoritmů sekvence, skok, podmínka, cyklus. 4) Datové typy. Vlastní datové typy, jejich použití u základních úloh. 5) Úlohy třídění, vyhledávání, indexace. 6) Vektorová data průsečík linií, bod v polygonu, průsečík polygonu s linií. 7) Překryvné operace s polygony, triangulace polygonu. 8) Grafové úlohy. Dijkstrův algoritmus, A* - hledání nejkratší cesty v grafu. 9) Rastrová data práce s georeferencovaným rastrovým obrazem obrazové vs. mapové souřadnice, zjištění hodnoty obrazového bodu na zadané souřadnici. 10) Afinní transformace. 11) Reklasifikace rastrového obrazu, překryvné operace, mapová algebra. 12) Histogram rastrového obrazu výpočet základních statistických charakteristik.
Podmínky absolvování předmětu Název úlohy Typ úlohy Max. počet bodů (akt. za podúlohy) Min. počet bodů Zápočet a zkouška Zápočet a zkouška 100 (100) 51 Zápočet Zápočet 33 (33) 17 Projekt Projekt 21 11 Jiný typ úlohy Jiný typ úlohy 12 6 Zkouška Zkouška 67 (67) 34 Písemná zkouška Písemná zkouška 37 19 Ústní zkouška Ústní zkouška 30 15 Údaje o předmětu v cizím jazyce Annotation The course introduces students to the concept of the algorithm, its importance and methods of the description. See below the basic algorithms of spatial tasks in the geoinformatics and creating algorithms by them; basic design in programming techniques sequence, conditions and cycles; basic features of the Java language and its use in the implementation of algorithms. Vector Data - the intersection of lines, point in the polygon, intersection of the polygon with a line, overlay operations with polygons, distance of a point from the line/polygon, Thiessen polygons. Generalization of lines. Basic tasks of graph theory and algorithms suitable for their solution. Raster data - working with geo-referenced raster image - visual vs. map coordinates, determining the value of a pixel at specified coordinates, affine transformations; reclassification of the raster image, overlay operations, map algebra and filtering. Outline of lectures 1) The concept of algorithm, importance of algorithm development with spatial tasks in geoinformatics, the requirements for the algorithm, notations of algorithm, creating algorithms, flowchart. 2) Basic designs used at algorithms implementation - sequence, jump, condition, cycle. 3) Data types. Custom data types and their use with basic tasks - sorting, searching, indexing. 4) Vector Data - the intersection of the lines, point in the polygon, intersection of polygon with a line, overlay operations with polygons, polygon triangulation. 5) Graph tasks. Dijkstra's algorithm, A* - searching for the shortest path in the graph. 6) Raster data - working with geo-referenced raster image - visual vs. map coordinates, determining the value of a pixel at specified coordinates, affine transformations. 7) Reclassification of raster image, overlay operations, map algebra. Histogram of raster image - calculation of the basic statistical characteristics.
Outline of exercises 1) Notations of algorithms - natural language, formal, graphic, quasilanguage. 2) Basic features of Java. Data types, operators and expressions, formatting. 3) Conditions, cycles. Methods. 4) Sorting, searching - the most widely used algorithms. 5) Using libraries of Java. 6) Vector Data - the intersection of the lines, point in the polygon, intersection of polygon with the line. 7) Overlay operations with polygons, triangulation of polygons. 8) Graph tasks - Dijkstra's algorithm, searching for the shortest path in the graph. 9) Raster data - working with geo-referenced raster image - visual vs. map coordinates. 10) Determining the value of a pixel at specified coordinate, affine transformations. Exam question topics 1) The concept of algorithm, importance of algorithm development with spatial tasks in geoinformatics. 2) Notations of algorithm, creating algorithms, flowchart. 3) Basic designs used at algorithms implementation - sequence, jump, condition, cycle. 4) Data types. Custom data types and their use with basic tasks 5) Sorting, searching and indexing tasks. 6) Vector Data - the intersection of lines, point in the polygon, intersection of polygon with a line. 7) Overlay operations with polygons, polygon triangulation. 8) Graph tasks. Dijkstra's algorithm, A* - searching for the shortest path in the graph. 9) Raster data - working with geo-referenced raster image - visual vs. map coordinates, determining the value of a pixel at specified coordinates 10) Affine transformations. 11) Reclassification of raster image, overlay operations, map algebra. 12) Histogram of raster image - calculation of basic statistical characteristics.