Kontejnerovač: Analýza kontejnerů na tříděný odpad v Praze a Brně

Barbora Hubinková
11 min readJun 7, 2020

|TÉMA A CÍL PROJEKTU

Vzhledem k situaci, ve které jsme prožily většinu digitální akademie, nebyl prostor na osobní seznámení. Proto jsme o sobě a svých nápadech na projekty psaly medailonky. Martina měla super nápad na projekt, a to analýzu kontejnerů na tříděný odpad, protože ve svém okolí nemohla najít žádný kontejner na tuky a oleje. Z našeho seznamovacího callu byla najednou hodina, málem jsme prošvihly začátek výuky, a tak bylo jasné, že si sedíme.

Rozhodly jsme se, že vytvoříme interaktivní mapu Prahy, na které budou vyznačeny veškeré kontejnery na tříděný odpad, včetně těch méně obvyklých, jako jsou textil, kovy, elektroodpad nebo právě tuky a oleje. Kontejnery na papír, plast a sklo jsou téměř všude a určitě si každý ve svém okolí nějaký vybaví, ale co takové kovy, textil, elektroodpad nebo právě zmíněné tuky a oleje? A k tomu rovnou připojíme analýzu, jak jsou na tom s dostupností kontejnerů jednotlivé části Prahy a porovnáme Prahu s Brnem.

|ZÍSKÁNÍ DAT

Náš původní plán, že všechna data za Prahu vezmeme z Golemia a budeme tak mít spoustu času na analýzu dat, vzal za své poměrně brzy. Ondra z OICT nám poslal odkaz na kompletní sadu kontejnerů, ale bohužel tam nebyly zahrnuty kontejnery na tuky a oleje, tedy TEN typ kontejneru, kvůli kterému vznikl celý náš projekt.

No a jak jsme tento problém vyřešily? Vytvořily jsme si vlastní dataset. Kontejnery na tuky a oleje jsou v režii jednotlivých částí Prahy, proto jsme postupně prošly stránky všech městských částí a ručně vykopírovaly adresy všech kontejnerů. Samozřejmě jsme chtěly tento problém vyřešit více “datařsky”, ale vzhledem k tomu, že každá stránka vypadala úplně jinak a často byla o kontejnerech pouze zmínka v textu, někdy i ve formě “kontejner je umístěn na konečné linky xxx”, nezbylo než použít staré dobré ctrl+c, ctrl+v. Ke každému kontejneru jsme pak podle Google map dohledávaly souřadnice. Dataset s tuky se tak stal jediným statickým zdrojem dat, alespoň prozatím.

Kromě toho jsme chtěly zahrnout i textilní kontejnery Kloktex, které také nejsou součástí datasetu z Golemia, ale bohužel nám z Kloktexu odpověděli, že z konkurenčních důvodů nám seznam umístění kontejnerů nedají.

Za Brno jsme kontaktovaly Magistrát města Brna, který nám poskytl odkazy na dva sety údajů — informace o konkrétních kontejnerech na stanovišti a údaje o lokacích stanovišť. Když jsme zjistili, že obyvatelé Brna mají poměrně málo typů kontejnerů na tříděný odpad (přičemž třeba plechovky hází do žlutých kontejnerů na plast a kontejnery na tuky a oleje nemají vůbec) a zároveň mají poměrně dost sběrných dvorů, rozhodly stáhnout adresy a informace o sběrných dvorech Brna ze stránek společnosti, která je provozuje. Zároveň jsme z Golemia stáhly dataset sběrných dvorů v Praze.

Celý proces zpracování dat, který budu dále popisovat, je shrnut v této grafice:

Kompletní proces zpracování dat

|ČIŠTĚNÍ A TRANSFORMACE DAT

Prvotní stažení dat proběhlo přes Python s tím, že si nejprve v Keboole na statických datech zjistíme, co datasety obsahují, jak je budeme čistit a spojovat, a až poté přejdeme na automatickou aktualizaci dat přes Apify.

Stažení dat o pražských kontejnerech přes Python

Všechna naše csv s informacemi o kontejnerech jsme nahrály do Kebooly a ještě než jsme je spojily do finální tabulky allcontainers, bylo nutné data vyčistit.

Vycházely jsme z tabulek kontejnery_praha, praha_tuky, praha_sberne_dvory, brno_kontejnery, brno_stanoviste, brno_sberne_dvory.

Příklad čištění dat

U pražských datasetů z Golemia bylo například nutné rozdělit coordinates na latitude a longitude, sjednotit typ kontejneru pro sběrné dvory, opravit pravopisné chyby v ulicích.

U brněnských dat jsme naopak musely ze zkratek kategorií ve formátu PAP, PET a podobně vytvořit názvy kategorií tak, aby byly stejné s kategoriemi v Praze a mohly jsme z toho přes union vytvořit jednotný soubor se všemi kontejnery a sběrnými dvory. Celý skript je dostupný zde.

|APIFY

Když už byl náš výsledný skript dostatečně dlouhý (103 řádků) a plně funkční, bylo na čase automatizovat pravidelnou aktualizaci zdrojových dat v Keboole, protože počty kontejnerů se v průběhu času mění a byla by škoda získaná data využít jen jednorázově.

Actor v Apify

Za pomoci holek z Apify jsme nastavily actory v Apify tak, aby se nám data stahovala pravidelně jednou za týden.

Zároveň jsme nastavily v Keboole orchestraci nejen na stahování zdrojových dat z Apify, ale i na celou transformaci dat, areamapper (aplikace pro vytvoření foreign key do našeho datasetu, aby se v Clever maps správně napojil na soubory s administrativními celky) a writer výsledných csv do prostředí Clever maps, taktéž jednou za týden.

Orchestrace v Keboole

|CLEVER MAPS kontejnery

Nejprve jsme si myslely, že Clever maps budou fungovat podobně jednoduše přes drag & drop jako třeba Tableau, takže přidáme všechna data do mapy a můžeme analyzovat. Naše představy se rozplynuly, jakmile jsme dostaly odkaz na tutoriál, jak si naistalovat programovací jazyk Shell, který pracuje v příkazové řádce, a naučit se v něm základy.

V Clever maps jsme připravily dataset, ve kterém jsme specifikovaly podobu importované tabulky, například formát sloupců (string, integer,..), primární klíč a specifikovaly typ tabulky jako geometryPoint, aby se nám přes souřadnice kontejnery správně zobrazily na mapě a ve finále do Clever maps naimportovaly náš allcontainers soubor. Nad ním jsme pak začaly postupně stavět všechny metriky, přidávaly indikátory, drilly indikátorů, markery, upravovaly vzhled dashboardu a view. Příklad těchto metadat je dostupný zde.

Metriky, které jsme v této části vytvořily, jsou

  • Počet kontejnerů
  • Počet obyvatel
  • Počet domácností
  • Počet kontejnerů na 100 osob
  • Počet osob na jeden kontejner
  • Počet bytových jednotek
Počet osob na jeden kontejner bez specifikace typu kontejneru

Mapa je interaktivní, je možné na ní zobrazit informace pro město jako celek nebo detail pro městské části.

Stejně tak je možné ve filtru nastavit například konkrétní typ kontejneru nebo město.

Kromě toho je pro každý typ kontejneru vytvořen vlastní marker, ve kterém jsme nastavily vzhled a odpovídající barvu pinpointu. V menším zoomu se ukazují všechny kontejnery na stanovišti společně a ukazuje se jejich poměr. Při větším zoomu se kontejnery rozdělí.

Takto jsme přišly na chybu v pražských datech — pod jedním stanovištěm se skrývalo 8 kontejnerů na textil, což nám nepřišlo příliš obvyklé. Ve zdrojovém souboru jsme našly, že několik různých kontejnerů na textil z různých částí Prahy má stejné souřadnice, a to nejen pro tuto jednu lokaci. Na chybu jsme upozornily a zde se ukázala velká výhoda toho, že data nemáme statická — až budou data opravena, automaticky se opraví i na naší mapě.

Kontejnery na textil — chyba v datech
Kontejnery na textil — chyba v datech

|CLEVER MAPS vzdálenosti

Od Clever maps jsme získaly soubor stavebních objektů pro Prahu a Brno, že bychom z něj mohly spočítat metriku průměrné minimální vzdálenosti domů ke kontejnerům. Aby naše výsledná mapa zůstala přehledná, vytvořili jsme pro vzdálenosti nové view.

Finální view v Clever maps

V Keboole jsme transformací z tabulek

  • praha_stavebni_objekty
  • brno_stavebni_objekty

vybraly pouze objekty, které slouží k trvalému obývání a vytvořily dva nové datasety

  • vzdalenost_con
  • vzdalenost_neomezene

V tabulce vzdalenost_con ke každé stavební jednotce dopočítáváme minimální vzdálenost ke každému typu kontejneru v datasetu allcontainers_pinpoints (ta je je kopií tabulky allcontainers, jen není napojená na administrativní celky a slouží pouze pro detailní informace k vypočítaným vzdálenostem).

Skript pro propojení stavebních objektů a kontejnerů v okruhu 400 metrů v Brně

Tabulka vzdalenost_neomezene napojuje na stavební jednotky veškeré kontejnery v okruhu 400 metrů. Tabulka opět vznikla propojením tabulek stavebních objektů a tabulky kontejnerů allcontainers_pinpoints s využitím funkce haversine.

Celý skript na výpočet minimálních vzdáleností i kontejnerů v okruhu 400 metrů je dostupný zde.

V Clever maps aplikaci jsme opět vytvořily dataset pro každou tabulku a tabulky přes foreign_key napojily.

Výsledný datový model vypadá následovně:

Datový model v CleverMaps

Metriky vytvořené nad datasety se vzdálenostmi jsou:

  • Počet domů
  • Počet bytových jednotek (lze filtrovat přes vzdálenosti)
  • Počet bytových jednotek celkem (nefiltruje se dle vzdáleností)
  • Počet bytových jednotek na jeden kontejner
  • Počet kontejnerů
  • Průměrná minimální vzdálenost
  • Index dostupnosti kontejneru
Metrika Průměrná minimální vzdálenost

Možná je důležité vysvětlit, proč máme na první pohled dvě stejné metriky Počet bytových jednotek. Jedna z metrik se mění v závislosti na filtrované vzdálenosti a typu kontejneru, druhá metrika zůstává stejná a je tak možné zjistit podíl bytových jednotek, které splňují vybraná kritéria na celku. Na základě podílu těchto metrik byla vytvořena metrika Index dostupnosti kontejnerů.

|ANALÝZA

Ačkoliv jsou CleverMaps pro složité analýzy mnohem lepší než Tableau, i tak jsme v Tableau vytvořily několik vizualizací týkajících se vývoje počtu vytříděného odpadu a porovnání měst Praha versus Brno.

Rozdíly ve většině kategorií nejsou markantní, jen Brno má v průměru dostupnější kontejneru na čiré sklo. Zároveň v Brně mají mnohem blíže sběrné dvory, kterých mají i v absolutních číslech více než Praha. Vzhledem k chybě ve zdrojových datech, kterou jsem výše popsala, je otázkou, jestli má Brno skutečně blíže kontejnery na textil nebo ne.

Procentní zastoupení kontejnerů v Brně a v Praze

Od OICT jsme získaly soubor sběr odpadu v Praze mezi lety 1998–2018, ze kterého jsme vytvořily graf vývoje třídění odpadu v Praze mezi lety 1998 a 2018. Barevné části znázorňují vývoj pro jednotlivé typy kontejnerů na tříděný odpad, hnědá čára ukazuje vývoj produkce komunálního odpadu jako celku. Zajímavým ukazatelem je i vývoj počtu kilogramů vytříděného odpadu na osobu v Praze. Zatímco v roce 1998 to bylo necelých 6 kg recyklovatelného odpadu na osobu, o 10 let později o téměř 40 kg více.

Vývojové grafy tříděného odpadu 1998–2018

Naši analýzu v CleverMaps jsme pojaly ze dvou úhlů.

  1. Analýza pro zástupce města — Má město dostatečně pokryté všechny části všemi druhy kontejnerů? Které části města nejsou dostatečně pokryté, kterými druhy kontejnerů? Jaké jsou rozdíly mezi jednotlivými městskými částmi z pohledu bytových jednotek/počtu obyvatel na různé typy kontejnerů?
  2. Analýza pro obyvatele města — Mám všechny typy kontejnerů v dochozí vzdálenosti? Hledám určitý typ kontejneru. Opravdu se kontejner v tomto místě nachází?(ověření pomocí street view)

Disclaimer: Analýza níže ani zdaleka nepokrývá rozsah naší analýzy v CleverMaps. V aplikaci je také obsažené Brno a vše je možné analyzovat až na detail bytových jednotek, dále je možné analyzovat všechny jednotlivé typy kontejnerů, určovat různé vzdálenosti, indexy atd. Bohužel pro zobrazení všeho zde není dostatečný prostor. Pokud se vše povede, tak naše aplikace Kontejnerovač bude dostupná veřejnosti.

Analýza pro Magistrát hl. města Praha

V naší analýze pro pražský magistrát jsme se nejprve chtěly podívat na celkový poměr mezi bytovými jednotkami a počtem třídících kontejnerů v jednotlivých částech města. Z mapy je jasně patrné, že kontejnery v okrajových částech města obsluhují v průměru méně bytových jednotek než v centru města. Jedinou výjimkou je pak samotný střed. Domníváme se, že tento outlier je způsoben především menším počtem bytových jednotek a větší koncentrací turistů a kancelářských objektů.

Počet bytových jednotek na jeden kontejner tříděného odpadu v Praze

Zaměřily jsme se také na pokrytí města jednotlivými typy kontejnerů. Třídící kontejner na papír je jeden z nejrozšířenějších kontejnerů a obyvatelé Prahy to k němu mají v průměru něco málo přes 100 metrů. Na mapě níže jsme lokalizovaly 889 bytových jednotek, které to mají ke kontejneru dále něž 400 metrů (červené tečky). Pouze 56 bytových jednotek (rudé tečky) po celé Praze to má k tomuto základnímu typu kontejnerů dále než 850 metrů. Pokrytí kontejnery na papír v Praze je tedy téměř 100%. Prakticky stejná situace platí pro kontejnery na plast a na barevné sklo.

Oblasti, ve kterých je vzdálenost od bytových jednotek ke kontejneru na papír delší než 500 metrů

Prostor pro zlepšení nabízí jednoznačně kontejnery na tuky a oleje. Jde o nový typ kontejneru, které jsou obce povinny poskytnout od ledna roku 2020. Postupně se i tyto kontejnery začínají v Praze objevovat. Zatím jejich roli suplují také sběrné dvory, které ale mají stanovenou otevírací dobu, a tak je pro tuto část analýzy nebudeme brát v potaz. Na mapě níže můžeme vidět, že průměrná minimální vzdálenost od bytových jednotek ke kontejneru na tuky a oleje v celé Praze je 1417 metrů, k tomuto číslu se však zatím některé pražské části ani zdaleka nepřibližují. Rudé administrativní jednotky na mapě ukazují, které městské části mají průměrnou minimální vzdálenost vyšší než 1200 metrů.

Oblasti, ve kterých je vzdálenost od bytových jednotek ke kontejneru na tuky a oleje delší než 500 metrů

Mapa je dále schopna ukázat obsluhovanou oblast, která je nastavená na dochozí vzdálenost 500 metrů od každé jedné bytové jednotky v Praze. Je tedy zcela jednoduché vyhodnotit, zda by bylo vhodné do oblasti umístit další kontejner požadovaného typu. Čím červenější oblast je, tím dále je bytová jednotka od zvoleného typu kontejneru. Ukázka níže je oblast, kterou obsluhuje vybraný kontejner na tuky a oleje.

Obsluhovaná oblast zvoleného kontejneru na tuky a oleje

Další funkce, kterou jsme do mapy implementovaly, je zvolení vzdálenosti, v rámci které se pak na mapě zobrazí všechny kontejnery, které se v oblasti nacházejí. Na obrázku níže vidíme kontejnery ve vzdálenosti do 200 metrů od zvolené bytové jednotky (žlutě zabarvená) v ulici V Nové Hostivaři.

Zvolený rádius od bytové jednotky

Analýza pro obyvatele města

V analýze pro obyvatele města jsme se zaměřily na kvalitu bydlení z pohledu ekologie a třídění odpadu. Pomocí naší aplikace jsme lokalizovaly nejhorší a nejlepší místa k bydlení pro ekologické duše. Tato místa jsme vyhodnotily na základě dostupnosti těch nejpoužívanějších typů kontejnerů — papír, plast, barevné sklo, čiré sklo, elektrozařízení, kovy a nápojové kartony.

Nejlepší místa k bydlení v Praze pro ekologické maniaky
Nejhorší místa k bydlení v Praze pro ekologické maniaky

Na úplný závěr naší analýzy jsme chtěly pomoci občanům města a usnadnit jim hledání nejbližšího kontejneru potřebného typu, tedy vyřešit problém, který stál za vznikem celého našeho projektu. Takže ano, Martina už ví, kde má nejbližší kontejner na tuky a oleje, cíl je splněn. Po kliknutí na jakoukoliv bytovou jednotku ve městě se v mapě automaticky zobrazí nejbližší kontejner každého typu a jak je daleko.

Vyhledání nejbližších kontejnerů všech typů od zvolené bytové jednotky

|ZÁVĚR

Závěrem je důležité zmínit, že stav odpadového hospodářství v Praze je velice pozitivní. Občané města mají nejpoužívanější typy třídících kontejnerů prakticky na každém rohu. Prostor pro zlepšení je v rozšíření kontejnerů na tuky a oleje a čiré sklo, v jehož třídění Brno jasně Prahu předhání. Dále bychom doporučovaly urychlit proces, který má umožnit třídění kovů do kontejnerů na plasty vzhledem k tomu, že na základě dat od Českého svazu pivovarů a sladoven z letošního května se ukazuje, že spotřeba piva a nealkoholických nápojů v plechovkách nadále stoupá. Je tedy třeba zajistit občanům dostupnější kontejnery pro tento typ odpadu, a to kontejnery na plast umožňují.

|A CO DÁL?

Máme spoustu nápadů, tím největším z nich je určitě webová aplikace Kontejnerovač, která by obyvatelům pomohla s hledáním kontejnerů, které potřebují. Aplikace by také umožnila komunitní sdílení v případě objednání nadstandardního kontejneru a šetřila by tak čas a peníze, například obyvatelům stejného sídliště, kteří by se o tento kontejner mohli podělit a rozdělit si náklady.

……………………………………………………………………………………

Tímto bychom chtěly poděkovat našemu mentorovi Pavlovi, Kátě z Clever Maps, Ondrovi z OICT, Páje z týmu číslo 9 a v neposlední řadě celému týmu Czechitas.

--

--