Analýza dat a modelování Speciální struktury
XML extensible Markup Language jazyk pro popis struktury dat (zejména se používá pro dokumenty) výrazná podobnost s HTML proč? protože má stejný původ v jazyce SGML
Vznik 80. léta snaha o vytvoření jednotného jazyka pro popis dokumentů vznik SGML (1986 ISO Standard) zjednodušení SGML HTML zpět k SGML XML
Cíle při vzniku XML 1. XML má být přímo použitelné na internetu. 2. XML má podporovat širokou škálu aplikací. 3. XML má být kompatibilní se SGML. 4. Vytvoření programu, který zpracovává XML, musí být jednoduché. 5. Počet volitelných vlastností v jazyce XML má být omezen na minimum, v ideálním případě žádné. 6. XML dokumenty by měly být čitelné člověkem. 7. Norma XML by měla být připravena rychle. 8. Norma XML by měla být přesná a stručná. 9. Vytváření XML dokumentů by mělo být jednoduché. 10.Hutnost XML značkování není prioritou.
vyvíjen konsorciem W3C základem jsou opět formátovací značky < >, </ > (musí být párované nebo nepárový ukončen /, zapsané malými písmeny) a atributy (jejich hodnoty musí být povinně v uvozovkách) je podporována standardně sada UTF-8 (UTF-16), event. jiné registrované je možné definovat vlastní značky je možné popsat vlastní strukturu dat, definujeme význam jednotlivých částí textu
Definice struktury XML dříve: značky a atributy atd. se definují pomocí souboru DTD (Document Type Definition) DTD může být buď součást dokumentu nebo formou odkazu na externí dokument zda dokument vyhovuje danému DTD (well-formed, validní, dobře strukturovaný) je možné (nutné) ověřit programem parser existují předdefinované DTD pro určité oblasti
Základní pravidla pro xml dokumenty dokument musí začínat xml deklarací následuje deklarace typu dokumentu základním pojmem je element oblast vymezená počátečním a koncovým tagem může být i prázdný může obsahovat atributy vrcholový element je kořenový jména elementů si tvoří tvůrce dokumentu mohou obsahovat i diakritiku
<?xml version="1.0"?> xml deklarace <!DOCTYPE adresář SYSTEM "adres.dcd"> <adresář> kořenový <osoba> element <příjmení>novák</příjmení> <jméno>jan</jméno> </osoba> <osoba> </osoba> </adresář>
<?xml version='1.0'?> <článek> <název>xml pro web aneb od teorie k praxi, 2.díl</název> <autor>jakub Havel</autor> <info typ="seriál" díl="2." periodicita="jednou týdně" /> <domek název="programování"> <kategorie název="wap / XML" /> </domek> </článek>
DTD Co najdeme v DTD? deklarace elementů deklarace atributů deklarace entit deklarace notací procesní instrukce komentáře
Deklarace elementů <!ELEMENT článek (název, autor+, info, domek, příklad?)> <!ELEMENT název (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT info EMPTY> <!ELEMENT domek (kategorie*)> <!ELEMENT kategorie <subkategorie*)> <!ELEMENT příklad (#PCDATA)> PCDATA parser charakter data (text)
řízení počtu elementů bez značky? * + právě jednou nepovinný výskyt libovolný počet opakování (i 0x) alespoň 1x (např. dcera syn) pouze jeden z výčtu
Deklarace atributu <!ATTLIST info typ (seriál článek zpráva PR) "článek" díl CDATA #IMPLIED periodicita CDATA #IMPLIED> řetězcový typ žádná implicitní hodnota
Deklarace entit entita blok dat je identifikována jménem, má nějaký obsah <!ENTITY vyuk_serial "Seriál o XML" > použití <článek> <název>&vyuk_serial;, 2.díl</název>... </článek>
Deklarace notací notace identifikace formátu nebo způsobu zpracování, která nejsou určena pro XML procesor odkaz může být i ve formě na konkrétní aplikaci <!NOTATION gif SYSTEM "image/gif"> <!NOTATION gif PUBLIC "-//CompuServe//NOTATION Graphic Interchange Format 89a//EN" "C:\Program Files\IrfanView\i_view32.exe">
Deklarace procesních instrukcí začlenění příkazů pro zpracování určitou aplikací <?php if(!$autor && $input>0) { echo '...(autor nebyl zadán)...'; } else { echo $autor; }?>
XML schémata používaný popis dokumentů XML nahradily DTD, popisují XML dokumenty soubory mají příponu zprav. xsd mají syntaxi XML obsahuje definici elementů a atributů řeší komplexně podporu datových typů má kromě základních datových typů i odvozené umožňuje definovat vlastní datové typy a integritní omezení
základní datové typy string, boolean, float, uri, timeduration (čas. interval), odvozené datové typy integer, non-negative-integer, date, time, definice vlastních typů (příklad:) <datatype name="psc" source="string"> <pattern value="\d{3} \d{2}" /> </datatype>
příklad definice elementu definujeme element jméno, který obsahuje další dva elementy křestní a příjmení <element name="jméno"> <type> <element name="křestní" type="string"/> <element name="příjmení" type="string"/> </type> </element> počet výskytů se zapisuje pomocí attributů maxoccurs, minoccurs
příklad definice atributu je součástí definice elementu pomocí značky <attribute> <element name="kniha"> <type> <element name="autor" type="string" minoccurs="0" maxoccurs="1" /> <attribute name="jazyk" type="language"/> </type> </element>
Použití vektorová grafika SVG XML databáze ukládání hierarchický struktur RailML popis železniční infrastruktury konfigurační soubory a projektové soubory, docx, xlsx, zpracování v C++/Java knihovny, např. xerces
GIS GIS geografický informační systém elektronický systém pro zpracování geografických informací ukládá informace o rovinných a prostorových datech silnice, vodní plochy, lesy,... společně s atributy (plocha, dopravní omezení,... k uložení slouží často relační databáze GIS obsahuje aplikační nadstavbu analýza dat, vykreslování
ArcGIS asi nejlepší sofware z oboru GIS od firmy ESRI pro uložení dat používá relační databázi a obsahuje podporu SQL
Ukládání prostorových dat vektorové x rastrové
ArcGIS FNODE 27975 TNODE 28070 FNODE 28070 FNODE 28190 TNODE 28204 TNODE 28190
Jaké jsou možnosti zapsání popisné reprezentace prostoru? Zápis v grafické části Zápis grafické i popisné části společně Jeden záznam v souboru či databázi Zápis popisné informace odděleně od grafické části Nutné propojení jedinečným identifikátorem Soubory/relační databáze České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Vektorová data České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Rastrová data České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Rastrová data Jednotlivé geoprvky jsou reprezentovány soustavou plošek (buněk, pixelů), které tvoří pravidelnou síť (rastr). Pixely mají nejčastěji čtvercový, případně obdélníkový, trojúhelníkový nebo šestiúhelníkový tvar. Pixely pokrývají souvisle celé zobrazované území a jejich rozměry určují míru podrobnosti vyjádření obsahu (prostorové rozlišení). Pixely tvoří matici, kde číslo řádku a číslo sloupce jednoznačně určuje polohu každého pixelu. České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Rastrová data Každý pixel obsahuje právě jednu hodnotu charakterizující kvalitu nebo kvantitu sledované vlastnosti (atributu) v celé ploše pixelu. Tak je tvořena tématická vrstva rozložení určitého jevu v zobrazeném území. Tematických vrstev obvykle existuje značné množství, každá bývá uložena v samostatném souboru. Řada standardních úloh s daty v rastrovém formátu je realizována zpracováním hodnot polohově si odpovídajících pixelů různých vrstev. České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Rastrová data Prostorové vztahy mezi objekty, vyjadřované ve vektorovém modelu topologií, jsou v rastrovém modelu implicitně obsaženy. Některé vlastnosti jdou určit snadno (umístění sousedních pixelů), jiné obtížněji (určení obvodu polygonu). České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Rastrová data Výhody rastrů jsou především v jednoduchosti datového formátu a v jednoduchosti základních analytických operací nad rastry. Dále pak jejich získávání - satelitní snímky a v lepší reprezentaci spojitých veličin nad územím. Nevýhodou jsou obrovské nároky na paměťový prostor při obsahu pouze jediného atributu. Zobrazení rastru je také limitováno velikostí pixelu, tedy rozlišením snímku. České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Vektorová data Vektory jsou tvořeny posloupností X, Y koordinátu určujících jejich lokalizaci ve spojitém prostoru. Ke každému vektoru lze přiřadit libovolný počet příslušejících atributů, které jsou jednoznačně určeny přes jedinečný identifikátor. České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Vektorová data Výhodou vektorů je přesnost lokalizace, kompaktní uložení a management dat a možnost připojení libovolného počtu atributů k jednotlivým objektům. Nevýhodou je špatná reprezentace spojitých dat, výpočetní náročnost na zpracování a zobrazování úloh nad komplexní datovou strukturu a v současnosti i počet vektorových formátu od různých výrobců. Stávající trend v IT se snaží poslední z uvedených nevýhod odstranit přechodem k výměnným formátům typu XML, GML a podobně. České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Princip vektorové reprezentace Reálné objekty reprezentují: Bod (Point)- určuje polohu, dimenze 0 Linie (Line)- spojení dvou bodů, dimenze 1 Řetězec linií (PolyLine) spojení linií, dimenze 1 Plocha (Area)- vytvářejí je spojené liniové segmenty, dimenze 2 Povrch (Surface)- plocha s hodnotou v každém vnitřním bodě, dimenze 2.5 Objem (Volume)- objekt s dimenzí 3 Křivky se modelují jako spojnice mnoha bodů (výjimka u GIS založených na CAD ) České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Zobrazení vektorové podoby points lines areas Node y Vertex x České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Porovnání výběru vhodné reprezentace České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky
Fuzzy modely dat modely založené na fuzzy logice používají se pro rozmazaná, neurčitá data neurčitost modelujeme mírou příslušnosti České vysoké učení technické v Praze - Fakulta dopravní Ústav řídicí techniky a telematiky