Hlavní navigace

Fotobioreaktor za polárním kruhem, distribuce NixOS a data pro Mapy.cz

22. 9. 2022
Doba čtení: 17 minut

Sdílet

 Autor: Petr Krčmář, Root.cz
Zápisky z letošního ročníku konference OpenAlt, kde se mluvilo například o realizaci fotobioreaktoru na Špicberkách, trochu jiné linuxové distribuci NixOS, nové platformě ALP od SUSE a problémech s daty pro Mapy.cz.

Jiří Liška: Kyberslunečnice za polárním kruhem

Botanický ústav AV ČR, v.v.i. a Přírodovědecká fakulta Jihočeské univerzity České Budějovice společně vyvíjely fotobioreaktor. V podstatě jde o placaté akvárium, ve kterém se kultivují řasy. Stojí to venku, aby na to svítilo slunce. Řešitelský tým potřeboval, aby se zařízení natáčelo na Slunce. To vypadá jako jednoduchý problém, který je možné řešit hodinovým strojem. Nesmí se to ale otáčet dokola, protože dovnitř procházejí přívody různých čidel. Mělo by se to vždycky jen pootočit a vrátit.

Na začátku byl požadavek od kolegů algologů (obor biologie, zabývající se studiem řas a sinic – pozn. redakce) – máme fotobioreaktor, potřebujeme, aby se otáčel za sluncem. Podstatným požadavkem byla odolnost, protože výsledek musí spolehlivě fungovat za polárním kruhem – konkrétně na Špicberkách. Vládnou tam nepříjemné podmínky včetně větru o rychlosti až 50 uzlů. Bioreaktor umožňuje měřit reakce řas na různé podmínky. Pouští se tam oxid uhličitý nebo vzduch a měří se, kolik dovnitř jde světla a kolik řas uvnitř naroste.

Dalším problémem bylo sledování polohy rotace. Zvažováno bylo měření laserem, koutovými odražeči a podobně, ale to mělo nevýhody zejména vzhledem k mechanické odolnosti. Nakonec jsem použil Halovy sondy, na obou stranách kyvety jsou magnety, které detekujeme.

Jak zjistit, odkud právě svítí Slunce? Senzory osvitu jsou kvůli odrazům a zatažené obloze velmi nespolehlivé. Jako vhodné řešení se nakonec ukázala utilita Soltrack, která má na vstupu souřadnice polohy a přesný čas a výstupem je azimut, na kterém se právě nachází Slunce. Bylo potřeba zajistit synchronizaci přesného času, ale jsme tam připojeni k Wi-Fi, takže to není problém.

Napájení zajišťuje zdroj, který vyrábí 24 V pro otáčení a 5 V pro procesory. Otáčení probíhá jen o 180 stupňů, protože kyveta je průhledná z obou stran a je když dojede na jednu stranu, může se pak vracet zpět. O řízení otáčení se stará Arduino, všechnu složitější komunikaci pak zajišťuje ESP s Mongoose OS – zajišťuje synchronizaci času, výpočet polohy Slunce, hlášení stavu, Wi-Fi a podobně. Jednou za čas pošle do Arduina úhel natočení, víc to nedělá. Mongoose OS umožňuje přes RPC posílat HTTP požadavky a je možné ho na dálku kalibrovat.

Autor: Jiří Liška

Vše bylo pak potřeba bezpečně zabalit a poslat lodí. Všechno dopadlo dobře a náklad přijel v pořádku. Nakonec bylo potřeba na místo fyzicky dojet a nainstalovat. Měli jsme strach, aby nám to nevzal vítr, přestože je to celé opravdu těžké. Proto je celé zařízení napevno a velmi pečlivě připojené na střeše kontejneru. Po několika měsících provozu jsme nezaznamenali žádný problém.

Autor: Petr Krčmář, Root.cz

Michal Sojka: NixOS – tak trochu jiná linuxová distribuce

NixOS je linuxová distribuce, která existuje od roku 2003. V posledních letech začíná počet uživatelů a vývojářů růst raketovým tempem. Podle loňské ankety mezi uživateli začala třetina lidí používat NixOS v posledním roce. Zřejmě tedy budeme o NixOS slyšet víc a víc.

Základní odlišností od jiných distribucí je správce balíků Nix a nekompatibilita s filesystem hierarchy standard (FHS). Umožňuje dělat věci, které jsou v jiných distribucích nemyslitelné nebo obtížné. Nix řeší velké množství problémů se závislostmi, které se dnes často řeší Dockerem. S Nixem vůbec kontejnery nepotřebujete. O Nixu se říká, že je složitý, ale přesnější je, že je jiný. Věci jsou přímočařejší a pokud máte dvacet let zkušeností s Linuxem, tak zjistíte, že je to logické a vždycky jste to tak chtěli dělat.

Autor: Petr Krčmář, Root.cz

Nix je správce balíků založený na funkcionálním programovacím jazyku, který je poměrně jednoduchý. Někdo o něm říká, že je to JSON, do kterého jsou přidány lambda funkce. Správce balíků umožňuje do jednoho systému nainstalovat víc verzí stejného softwaru. Každá verze se pak bere jako úplně samostatná a bez závislosti na něčem jiném. Každá varianta může být zkompilovaná s jinými parametry, s jinými vlastnostmi a podobně.

Správce balíků Nix je možné používat i na jiných distribucích, ale také třeba na BSD nebo na macOS. To z něj dělá velmi perspektivní věc, protože když vytvoříte balíček pro Nix, může ho používat kdokoliv s libovolnou distribucí. Jedním z důvodů je, že celý systém Nixu žije v adresáři /nix/store/, takže nedochází ke jmenné kolizi s ostatními distribucemi. Balíky jsou pak uloženy v podadresářích rozlišených unikátním hašem v názvu, který je ve většině případů odvozený od konfiguračního předpisu, podle kterého je balík sestaven.

Jak pak ale program najde v této struktuře třeba knihovny? Obvykle se používají absolutní cesty, žádný program se neodkazuje na předem známá umístění. Pokud jste zvyklí na tradiční unix, tak je to divné. Můžete se na to ale podívat tak, že při programování taky neřešíte, na které adrese je uložená která proměnná. O to se stará kompilátor. Stejnou věc dělá Nix se souborovým systémem, takže uživatele nezajímá, kde přesně je která instance souboru umístěna. Aby nainstalovaných verzí nekonečně nepřibývalo, nabízí Nix automatický garbage collector, který umí staré verze sám promazat.

Veškerý software se kompiluje v sandboxu, ze kterého není vidět celý souborový systém, ale jen explicitně uvedené závslosti v konkrétním balíčku. Normálně nebývá dostupná ani síť, takže si build skript nemůže stahovat další věci ze sítě. To umožňuje, že výsledek sestavování je reprodukovatelný, protože jsou vždycky přesně dané vstupy a výstup je proto obvykle stejný. Cílem je, aby balík v konkrétní verzi byl vždy naprosto stejný. Instalační obraz NixOSu je z 99,77 % plně reprodukovatelný.

Nixpkgs je repozitář na GitHubu, který obsahuje jednak předpisy pro všechny balíky a také kompletní operační systém NixOS. Ten využívání trochu zjednodušuje, nabízí například doplňování v shellu, automatické startování služeb a podobně. Vývojáři se ale hodně snaží, aby byl kompletně oddělený od využívané distribuce.

NixOS uživateli přináší možnost použití deklarativní konfigurace celého systému. Výsledkem sestavení je pak souborový systém celého funkčního operačního systému. V souboru configuration.nix je tak možné nastavit vše od jména počítače, přes časovou zónu, stavu služeb, instalaci jednotlivých balíčků až po založení uživatelů. Pokud už je všechno stažené, je sestavení velmi rychlé a výsledek je možné spustit například ve virtualizaci. Konfiguračních voleb je opravdu hodně, je možné je prohledávat na webu search.nixos.org, který uvádí, že je jich více než 10 000.

Na disku je možné mít bez problémů vedle sebe různé verze systému a je možné mezi nimi přepínat. Mezi aktualizacemi je možné bez problémů pracovat. Až to doběhne, můžu se podívat na změny a pak verze přepnout. Konfigurační systém je tvořen moduly, každý z nich má rozhraní, což jsou vlastně uživatelsky nastavitelné konfigurační volby, a implementaci. Konfigurace všech modulů se pak automaticky propojí a případné kolize se řeší prioritami.

Luboš Kocman: ALP – Adaptable Linux Platform

ALP je kódové jméno pro novou linuxovou platformu, na které bude stavět SUSE své další produkty. Myšlenka je jednoduchá: uživatel by se měl starat o svou aplikaci a ne o běh operačního systému. Systém by se měl sám nastavit, sám aktualizovat a v případě problémů sám zajistit návrat k předchozí funkční verzi. Na platformě Intel bude disk plně šifrován ve spolupráci s čipem TPM.

openSUSE Leap 15 je už opravdu hodně starý a začínají se kupit problémy vycházející z toho, že uživatelé nemohou provozovat novější software na starém základu. Proto je čas přijít s novější platformou. První prototyp by měl přijít během září 2022 a každé tři měsíce by měl vyjít další prototyp. Za rok chceme mít k dispozici první produkty, které budou na ALP postavené. Uživatelé pak budou moci migrovat na novou generaci Leapu.

Autor: Petr Krčmář, Root.cz

Pracuje se také na nové generaci linuxového desktopu, který se bude jmenovat MicroOS Desktop. Jeho základ bude neměnný a bude využívat Flatpaky pro instalaci dalšího software. To ještě nebude k dispozici v zářijovém prototypu. Tato platforma bude později využita pro desktopové systémy vyvíjené v SUSE.

Komunita stojí před několika velkými úkoly. Mezi nimi je například snadný přechod od komunitních distribucí k placeným variantám. Ze strany komunity chceme také podporovat uživatele se starším hardwarem i po konci podpory Leap 15.5. V plánu je také přehodnotit životní cyklus distribucí. Nikdo nám nediktuje, jak máme distribuci vydávat. Největším problémem jsou ale vždy zdroje, nedokážeme zaručit podporu 20 let.

Veškerý vývoj probíhá veřejně, všechna komunikace i výsledky práce jsou otevřené. Už teď si můžete obrazy stáhnout, zatím ale nejsou ve finálním stavu.

Tomáš Jirsík: Moderní kyberbezpečnost očima datového analytika

Kybernetická bezpečnost dnes musí zajistit spoustu věcí: identifikovat chráněné prvky, detekovat konkrétní hrozby, reagovat na případné hrozby a zotavit systémy po vyřešení incidentu. Protože si to firmy uvědomují, existuje obrovské množství společností, které se starají o jednotlivé prvky bezpečnosti. Každý nástroj tvoří data a jako manažer bezpečnosti si musíte vybrat správné produkty, které vám zajistí všechny informace.

Jako datový analytik musíte zajistit, aby všechny bezpečnostní produkty společně komunikovaly. Zároveň ale musíte umět se všemi daty pracovat, abyste je mohli skutečně zpracovávat. Kdybych byl analytik, který s tím bude pracovat, se musím naučit obsluhovat patnáct nástrojů a zpracovávat jejich data. Je potřeba rozumět spoustě věcí, jak všechny systémy fungují a jak jim rozumět dohromady.

Autor: Petr Krčmář, Root.cz

Firmy jsou si této roztříštěnosti vědomy, proto dodávají různá řešení, která se snaží sbírat a automaticky korelovat data přes různé bezpečnostní vrstvy. Můžete si představit data ze sítě, firewallů, různých služeb a podobně. Takovým řešením se říká XDR – eXtended Detection and Response. Znamená to dát ta data na jednu hromadu a nad ní udělat dodatečnou analytiku, která vám umožňuje z jednoho místa vytvořit reakci na konkrétní hrozbu.

Syrová data pro XDR mohou pocházet buď z jednotlivých zařízení a služeb nebo už můžete zpracovávat připravené zprávy od různých nástrojů. Například antivirus už sám umí poslat hlášení o detekci konkrétní hrozby. Nestačí ale jen mít všechna data na jednom místě, ale podstatné je, jak je použijete. Musíte být schopni přidat k datům nějakou přidanou hodnotu.

Mezi hlavní problémy tohoto přístupu patří normalizace dat, korelace dat a přístup napříč doménami. Data vstupující do XDR mají různý formát, mohou být v textovém formátu, binárním souboru a podobně. Aby bylo možné data efektivně procházet, je potřeba je převést do jednotného formátu. Obvykle se k tomu používá JSON, ale existují i jiné přístupy.

Když pak dorazí data z různých zdrojů, musíte být schopni je vztáhnout k jednomu zařízení nebo uživateli. Ještě předtím musíte pochopit, co v těch datech je a co jednotlivá políčka znamenají. Pokud tohle zvládneme, ještě nemáme vyhráno, protože jsou tu další problémy. V síti je zařízení identifikováno pomocí adresy, data sbíraná zařízení mají jako identifikátor například haš zařízení. Jak tyto identifikátory dát efektivně dohromady? Zařízení například mění IP adresu, což je možné vypozorovat z dat na koncovém zařízení. Musíte kontinuálně provádět mapování telemetrie na konkrétní IP adresu, kterou zařízení právě má. Zároveň může dojít k tomu, že monitorujeme zařízení v různých sítích, kde se používají stejné rozsahy IP adres.

Nakonec je potřeba poskládat různé signály z různých typů zdrojů a na základě jejich propojení je možné detekovat hrozbu. Jednotlivé signály nemusejí být dostatečně silné, ale teprve jejich propojením objevíme problém. Lze použít různé statistické přístupy, které dokáží detekovat, že pokud nastane několik různých událostí ve správném pořadí, přijde konkrétní hrozba. Z toho vzniknou určitá pravidla, která pak mohou být nasazena do produkce.

Michal Černý: Vyčerpaly se ideály otevřenosti ve vzdělávání?

Otevřenost ve vzdělávání může znamenat v různém kontextu různé věci. Na základní škole to může znamenat inkluzi, obecněji by to mohlo znamenat propustnost vzdělávacího systému. Pokud něco uděláte formálně otevřeným, ještě to neznamená skutečnou otevřenost pro uživatele. Zhruba před deseti lety se ještě hodně mluvilo o otevřeném software ve vzdělávání. Pak ale přišel Microsoft a ve školách tento prostor ovládl. Naopak dobrým výsledkem jsou otevřené repozitáře a otevřené datasety.

Otevřený přístup je dnes modelem vědecké komunikace. Evropská unie dnes tlačí na to, aby všechny projekty placené z veřejných peněz měly otevřené výstupy. Velmi podobně k tomu přistupují i ministerstva a další organizace. Když chcete být kvalitní univerzita, musíte mít přístup k aktuální vědě a investovat do informačních zdrojů. Akademik si dokáže finance sehnat, ale student má obvykle problém a často se uchyluje k černé cestě. Staví nás to před různá dilemata, například: když ty články vznikly z veřejných zdrojů, je problém si ho někde stáhnout? Obvykle s tím nemají problémy samotní autoři, ale vydavatelé, jejichž finanční zájmy to poškozuje.

Autor: Petr Krčmář, Root.cz

Otevřenost vytváří více prostoru pro spolupráci, čím dál více článků vzniká ve velkých týmech. Zatímco v oboru historie je pořád velká část článků napsaná jedním autorem, v oborech jako imunologie nebo organická chemie, je to už velmi výjimečné. Například články o částicové fyzice mají obvykle vysoké desítky spoluautorů.

Otevřenost ale neznamená jen to, že jsou data dostupná. Musejí existovat služby, které s nimi dokáží efektivně pracovat. Nestačí vydat knihu nafocenou ve formátu JPEG. Legislativa dnes už počítá od začátku s tím, že vydavatel musí například volit vhodné formáty, které je možné dál zpracovávat. Česká legislativa požaduje zajištění infrastruktury, podporu výzkumných infrastruktur, faktickou udržitelnost a použitelnost a dostupnost. Samozřejmě také návaznost na zdroje a scientometrické ukazatele.

Otevřenost nemusí být jen otevřeností digitálních věcí, ale měla by zahrnovat i tištěné materiály. Řada vzdělávacích zdrojů je zaměřena na konkrétní skupinu a není zvykem je upravovat. Chybí nám kultura vylepšování, modifikování a následného šíření vlastní verze. Autoři často selžou na tom, že se necítí být dostatečně dobří, aby svou práci šířili veřejně. Část učitelů se naopak domnívá, že mají zázračné materiály, které kdyby jim někdo zkopíroval, tak je připraví o jejich know-how. Chybí motivace k podobnému sdílení materiálů.

Hlavní problém nespočívá v tom, že by tu byla špatná legislativa nebo lidé, kteří mají rádi uzavřené věci. Máme tu ale kulturu, že jsou tu zázrační autoři, kteří věci vymyslí a připraví a ostatní musejí být jen pasivními konzumenty. Potřebovali bychom kulturní restart. Naštěstí je tu stále více učitelů, kteří si uvědomují, že musíme méně dbát na paměť a více na tvořivost.

Libor Polčák: JShelter: rozšíření omezující API prohlížeče

Všichni denně používáme web. Původní webové stránky používaly jen HTML a byly velmi jednoduché. Dnes pěkně nabobtnaly a spouští se v nich kód, který nemáme pod kontrolou. Střední webová stránka vygeneruje okolo dvaceti požadavků na JavaScript. Prohlížeč tak vykonává instrukce, které často řídí software, který postrádá svobody používat program, studovat ho, šířit kopie a vylepšovat program ve prospěch komunity.

Problém nastává, když chcete přistupovat například na stránky banky a nechcete, aby prohlížeč dělal věci, které by neměl. Tento problém se snaží řešit princip Same-origin policy (SOP), kdy prohlížeč izoluje stránky patřící k jiným zdrojům. Brání to situaci, kdy by se jedna stránka snažila získat informace od jiné stránky, kde jste například přihlášeni. Pokud stránka explicitně neříká, že si přeje data předávat, třeba protože to je veřejné API, tak prohlížeč dotaz zablokuje a data nepředá.

Autor: Petr Krčmář, Root.cz

Problém je v tom, že vložené skripty sdílejí jmenný prostor. K jejich blokování je možné použít rozšíření uMatrix. U řady blokovaných domén totiž netušíte, jestli mají nějaký vliv na provoz samotné služby. uMatrix funguje dobře, ale všechny problémy úplně neřeší. Další problémy vyplývají z mikroarchitektonických útoků, které zneužívají slabin v procesorech a dovolují úniky dat. Minimálně na teoretické úrovni je to problém.

Řešením mohou být blokovače obsahu, které zabrání načtení a zpracování obsahu na závadných adresách. Různé výzkumy ale ukázaly, že různé seznamy takových adres nejsou kompletní a pro provozovatele je velmi snadné je obejít, třeba změnou adresy. Můžete strávit spoustu času tím, že budete zkoumat, co váš prohlížeč dělá. Na základě toho pak můžete vytvářet vlastní seznamy. Další průzkumy ale ukazují, že čím unikátnější seznam blokovaných stránek máte, tím jste lépe identifikovatelní.

Počítač je také možné identifikovat pomocí fingerprintigu, kdy na základě informací získaných můžeme vytvořit jednoznačný identifikátor. Na rozdíl od teoretických mikroarchitentonických útoků je tohle skutečně používaná metoda. Jak je na tom váš počítač, si můžete ověřit na webu amiunique.org. Každá druhá reklamní společnost dobrovolně přiznává, že pasivní fingerprinting používá.

V rámci bakalářských a diplomových prací vzniklo na VUT Brno postupně rozšíření JShelter, které je vyvíjeno ve spolupráci s Free Software Foundation a Giorgiem Maonem, autorem populárního rozšíření NoScript.

JShelter obsahuje tři různé komponenty. Základní funkcionalitou je JavaScript Shield, který se snaží upravovat problematická API. Těm buď mění skutečné výstupní hodnoty, vkládá falešné hodnoty nebo blokuje vykonávání akcí. Takto ovlivňovaných API je více než 100 a jsou rozdělena zhruba do dvaceti skupin, které pokrývají oblasti od přesnosti času, přes informace o grafické kartě nebo třeba připojených zařízeních. Nemodifikujeme to, co se zobrazuje uživateli, ale to, co vidí program jako takový. Pokud se snaží kód číst například obsah canvasu, mění mu rozšíření mírně konkrétní hodnoty barev.

Rozšíření neimplementuje strategii schování v davu, kdy by se všem uživatelům generoval stejný otisk prohlížeče. To by mohla být dobrá strategie, ale rozšíření do prohlížeče není místem, kde by se to mělo implementovat. Rozšíření nikdy nemůže obalovat všechna API a nemění také další vlastnosti, jako například IP adresy. Chcete-li tuto strategii využívat, použijte Tor Browser. JShelter se snaží co nejvíce omezit množství informací ze zařízení, ale nechrání před fingerprintingem. Podporujeme strategii drobných lží a cílem je vytvořit unikátní otisk, který se bude časem měnit.

Druhá komponenta se jmenuje Network Boundary Shield, který se snaží oddělovat internet od místní sítě a lokálního zařízení. SOP zablokuje přímý požadavek na zařízení v místní síti, ale postranním kanálem je možné zjistit, zda zařízení v síti existuje. Existuje například nástroj od ThreatMetrix, který skenuje místní porty a detekuje aplikace jako Rdesktop, VNC, TeamViewer. Využívá ho například eBay. Nemáme to potvrzené, ale zřejmě se snaží odhalit, zda na svém počítači nemáte nainstalovaný nástroj, který používá útočník. V tomto případě jde tedy zřejmě o bohulibé účely, ale otázka zní, jestli opravdu chcete, aby stránka hlídala vaše lokální služby.

Třetí komponentou je Fingerprinting Detector, který zjišťuje, zda se daná stránka snaží o vytvoření fingerprintu. Dokáže uživateli zobrazit i report o tom, jaká API byla využita. Problém je ovšem určit hranici, kdy se ještě jedná o běžné použití API a kdy už jde o sběr dat k vytvoření otisku.

Jan Havlíček: Mapy.cz a otevřená data

Služby jako Mapy.cz stojí a padají na datech. Můžete mít nejlepší vyhledávací nástroje na světě, ale pokud nemáte v datech správnou entitu, nepomůže vám to. Data pro Česko si Seznam udržuje sám, některá ale musí nakupovat: letecké snímky, panorama, terén nebo dopravní data. Probíhají také pravidelné importy různých dat jako jízdní řády, očkovací místa a podobně.

Světová data jsou získávána z volně dostupných zdrojů. Primárním zdrojem pro mapy je OpenStreetMap (OSM), který je doplňován dalšími daty. Balík celého světa má okolo 65 GB a obvykle vychází jednou týdně. Z dat jsou pak renderovány jednotlivé dlaždice, pro Českou republiku zabírají několik terabajtů. Pro zahraničí je vygenerováno jen několik základních zvětšení, ostatní se generují pro konkrétní uživatelský požadavek. Velká část světa je pokryta pouštěmi a oceány, na které se nikdo běžně nedívá.

Kromě renderovacích dat je potřeba z dat získat také konkrétní entity. Když chce uživatel něco najít, nechce čáru, ale nějaký objekt. Je tedy potřeba vydestilovat města, státy, řeky a body zájmu. Zároveň je potřeba mít perzistentní identifikátory, protože uživatel si může konkrétní objekt uložit. Různé objekty mohou mít také různé identifikátory, příkladem takového objektu jsou města. Výsledkem toho je velmi komplikovaná logika se spoustou podmínek. Podobně specifické jsou například řeky, trasy metra a turistické trasy.

Autor: Petr Krčmář, Root.cz

V OSM bývají častým problémem nevalidní polygony – hranice větších oblastí jsou často cesty, řeky a pobřeží. Někdo může zpřesňovat tvar řeky, ale otočí v jednom místě její směr. Na renderu to není vidět, ale rozbije se třeba polygon okolo státu. Proto musejí být v kódu různé kontroly, které tyto problémy hlídají.

Samostatným problémem může být vandalismus, ale častěji dělají uživatelé chyby v dobré víře. Když si například necháte v OSM vyhledat slovo ‚unknown‘, najdete tunu věcí. Lidé neví, jak se to jmenuje, ale nechtějí nechat název prázdný. Příkladem může být také chybný odkaz (Q-kód) na doplňující informace o městě na Wikidatech, což třeba chybně umístilo Sydney do Ameriky.

I přes všechny tyto problémy je OSM nenahraditelným zdrojem. V Česku máme lepší data, než jaká jsme schopni naimportovat z OSM. Dříve měl Seznam vlastní data i na Slovensku, ale dnes jej také přebírají z OSM. Importujeme i některá data z Česka, například lavičky, kontejnery na tříděný odpad a podobně. U komunitních dat je dobré se zamyslet nad tím, co služba vrací zpět. Zjevné chyby se snažíme opravit. U nejasností zadáváme poznámku, kterou pak může vyřešit někdo s lokální znalostí.

Důležitým zdrojem dat jsou také Wikidata, což je jazykově nezávislá databáze libovolných entit s vlastnostmi. Hodnoty jsou automaticky vícenásobné, protože se v čase mění. Získáváme odtud lepší a strukturovanější data než z OSM. Balíky všech entit mají asi 70 GB dat v komprimovaném formátu JSON. Máme na to vlastní importér napsaný v Pythonu.

CS24_early

Popisky entit je možné získat z Wikipedie, ze které je potřeba vytáhnout textový abstrakt, který reprezentuje danou entitu. Musíme z toho osekat všechny plovoucí prvky: obrázky, rozcestník, upozornění a podobně. Mapy.cz k tomu mají vlastní parser napsaný v Pythonu. Existují entity, které se jmenují stejně, ale mají různou důležitost. Počítáme si odkazy z článků a důležitost entit je pak jedním z dalších vstupů.

Volně dostupných dat je spousta, ale jejich hodnota se zvýší, až když se spojí s jinými daty. Když si člověk naplánuje trasu a zároveň vidí stoupání a klesání, dává to mnohem větší smysl.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.