Úkol první: Datové formáty a API

Řešení prvního úkolu v kurzu ISKM55 Nástroje a metody datové analytiky.

I. CSV

Zadání

Navrhnout zápis školního rozvrhu ve formátu CSV.

Výstup
"Kód","Název","Pravidelnost","Den","Datum","Začátek","Konec","Lokace","Místnost" "ISKM05","Informační politika a management","každý týden","pátek","","10:00","11:40","FF MU","C11" "ISKM11","Literatura a kulturní areál","každý týden","pátek","","14:00","15:40","FF MU","B2.23" "ISKM12","Organizace znalostí","každý týden","pátek","","12:00","13:40","FF MU","C11" "ISKM13","Seminář k diplomové práci III: Tvorba textu","pouze jednou","pondělí","12. 9.","12:00","13:40","FF MU","VP" "ISKM55","Nástroje a metody datové analytiky","každý týden","středa","","16:00","17:40","FF MU","B2.33" "ISKM56","Vizualizace dat","každý týden","čtvrtek","","10:00","11:40","FF MU","C11" "ISKM69","Design v souvislostech","každý týden","čtvrtek","","10:00","11:40","FF MU","C11" "ISKM82","Systémové myšlení a design","sudý týden","úterý","","16:00","19:40","FaVU VUT","330"
Code language: JavaScript (javascript)

Entitou je pro mě předmět.

Excel si se vzniklým souborem neporadil při běžném otevření, ale až s využitím importovacího nástroje (DataNačíst a transformovat dataZ Text/CSV):

Import CSV do Excelu

II. XML

Zadání

Vizualizovat cestu ze školy domů s využitím formátu XML.

Výstup

Z plánovače tras Mapy.cz jsem exportoval soubor GPX s touto strukturou:

<?xml version="1.0" encoding="utf-8"?> <gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="https://mapy.cz/"> <trk> <name>Cesta ze školy domů</name> <trkseg> <trkpt lat="49.200443" lon="16.598738"> <ele>231.000000</ele> </trkpt> <trkpt lat="49.199879" lon="16.598935"> <ele>229.000000</ele> </trkpt> <trkpt lat="49.200196" lon="16.601100"> <ele>227.000000</ele> </trkpt> </trkseg> </trk> </gpx>
Code language: HTML, XML (xml)

Takto vypadá vizualizace prostřednictvím GPS Visualizer — s použitím podkladu Mapy.cz base map se vlastně neliší od původně vyhledávané trasy:

III. Komunikace se serverem

Zadání

Zjistěte, jak komunikuje iRIS se serverem.

Výstup

Každých 5 sekund posílá klient dotaz na polohu vozů:

Adresa URL požadavku: https://mapa.idsjmk.cz/api/vehicles.json
Metoda žádosti: GET
Stavový kód: 200 
Vzdálená adresa: 85.255.15.250:443
Zásada odkazujícího: strict-origin-when-cross-origin

Získaný soubor vehicles.json má tuto strukturu:

{"LastUpdate":"2022-10-01T17:54:04.829852+02:00","Vehicles": [{"ID":21684,"IDB":0,"IDC":0,"VType":4,"LType":4,"Lat":49.020218,"Lng":16.017763,"Bearing":225,"LineID":814,"LineName":"814","RouteID":224,"ServiceId":43202,"Course":"43202","LF":true,"Delay":0,"LastStopID":18321,"FinalStopID":18009,"IsInactive":false}, {"ID":21293,"IDB":0,"IDC":0,"VType":4,"LType":4,"Lat":49.308228,"Lng":16.69212,"Bearing":315,"LineID":201,"LineName":"201","RouteID":225,"ServiceId":20102,"Course":"20102","LF":true,"Delay":0,"LastStopID":12225,"FinalStopID":12317,"IsInactive":false}, {"ID":1727,"IDB":0,"IDC":0,"VType":0,"LType":0,"Lat":49.18462,"Lng":16.602547,"Bearing":225,"LineID":8,"LineName":"8","RouteID":4131,"ServiceId":812,"Course":"00812","LF":true,"Delay":0,"LastStopID":1301,"FinalStopID":1616,"IsInactive":false}]}
Code language: JSON / JSON with Comments (json)

Soubor obsahuje:

  • informaci o poslední aktualizaci ("LastUpdate":"2022-10-01T17:54:04.829852+02:00"),
  • seznam Vehiclesinformacemi o jednotlivých vozech,
  • přičemž zásadní jsou parametry ID (číslo vozu), LatLng (souřadnice), LineID (číslo linky) a Course (kurz).

IV. API

Zadání

Vyzkoušejte si libovolné API.

Výstup

Zkusil jsem API Zákony pro lidi prostřednictvím Postman:

Toto konkrétní volání vrací aktuální znění zákona č. 89/2012 Sb., občanského zákoníku, ve formátu JSON:

{ "Version": "2.x", "Base": "https://www.zakonyprolidi.cz", "Result": { "Batch": { "BatchId": 1205422, "Code": "2012-33", "Collection": "cs", "Docs": null, "File": "2012c033", "Href": "/cs/castka/2012-33", "Number": "33", "PublishDate": "2012-03-22", "Quote": "33/2012 Sb.", "Year": 2012 }, "DiffVersion": null, "Files": [], "Fragments": [ { "Anchor": "p1-1", "Content": "<var>(1)</var> Ustanovení právního řádu upravující vzájemná práva a povinnosti osob vytvářejí ve svém souhrnu soukromé právo. Uplatňování soukromého práva je nezávislé na uplatňování práva veřejného.", "Diff": 0, "EffectFrom": null, "EffectTill": null, "FID": "f4578855", "FragId": 4578855, "Level": 6, "Number": "1", "Quote": "§ 1 odst. 1", "Struct": 7, "Valid": 1 },
Code language: JSON / JSON with Comments (json)

DocData s použitím parametrů collection (kód sbírky) a document (kód předpisu) vrací aktuální znění předpisu (občanského zákoníku) určité sbírky (Sbírky zákonů ČR).

Dostupné výstupní formáty jsou XML a JSON.