Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxymvlasov/eco-data-visualizer
Data visualizer + AQI calculator for CSV-files provided by SaveEcoBot
https://github.com/maxymvlasov/eco-data-visualizer
air-quality air-quality-index aqi csv csv-files data-visualization data-visualizer ecology hacktoberfest raw-data-exploration savednipro saveecobot
Last synced: 10 days ago
JSON representation
Data visualizer + AQI calculator for CSV-files provided by SaveEcoBot
- Host: GitHub
- URL: https://github.com/maxymvlasov/eco-data-visualizer
- Owner: MaxymVlasov
- License: apache-2.0
- Created: 2020-04-21T16:17:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-09-06T13:03:49.000Z (about 2 years ago)
- Last Synced: 2024-10-13T00:21:58.958Z (25 days ago)
- Topics: air-quality, air-quality-index, aqi, csv, csv-files, data-visualization, data-visualizer, ecology, hacktoberfest, raw-data-exploration, savednipro, saveecobot
- Language: Python
- Homepage:
- Size: 1.65 MB
- Stars: 5
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README-uk.md
- License: LICENSE
Awesome Lists containing this project
README
# Візуалізатор вихідних даних з SaveEcoBot. Обчислює AQI
[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
[![RussianWarship](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/RussianWarship.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)>**[Read in English :world_map:](README.md)**
Це програмне забезпечення підготує та запустить панель з усіма показниками з CSV-файлу а також обчислить і покаже AQI для PM2.5 та PM10.
Розрахунки Індексу Якості Повітря (Air Quality Index) базуються на основі [цього документа](https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf).
![Як це виглядає](docs/en/images/first-view.png)
Більше скріншотів та прикладів використання [наведено тут [en]](docs/en/screenshots.md).
---
## МЕНЮ
* [Необхідне програмне забезпечення](#необхідне-програмне-забезпечення)
* [Використання](#використання)
* [Швидкий старт](#швидкий-старт)
* [Повсякденне використання](#повсякденне-використання)
* [Запуск](#запуск)
* [Зупинка](#зупинка)
* [Датчики](#датчики)
* [Оброблення нових даних](#оброблення-нових-даних)
* [Додавання нових даних](#додавання-нових-даних)
* [Видалення даних](#видалення-даних)
* [Повне очищення](#повне-очищення)
* [Для контриб'юторів](#для-контрибюторів)
* [Плани на майбутнє](#плани-на-майбутнє)
* [Хочете допомоги?](#хочете-допомоги)
* [Ліцензія та авторські права](#ліцензія-та-авторські-права)---
## Необхідне програмне забезпечення
* [`Docker`](https://docs.docker.com/get-docker/)
* [`docker-compose`](https://docs.docker.com/compose/install/) (для Linux)## Використання
### Швидкий старт
1. Зклонуйте цей репозиторій
```bash
git clone [email protected]:MaxymVlasov/eco-data-visualizer.git
```або [завантажте його як zip архів](https://github.com/MaxymVlasov/eco-data-visualizer/archive/master.zip) і розпакуйте.
2. Виберіть станцію SaveEcoBot [на цій мапі](https://www.saveecobot.com/uk/maps) та натисніть "Детальна інформація про станцію"
![map-details.png](docs/uk/images/map-details.png)3. Унизу ви побачите "Завантажити дані у форматі CSV"
![download-csv.png](docs/uk/images/download-csv.png)
натисніть на посилання і збережіть CSV-файл у `./data/original_data/` всередині завантаженого репозиторію.4. Відкрийте термінал у корені `eco-data-visualizer` і виконайте:
```bash
# Підготовка даних
docker build -t data-transformer ./data-transformer-app
docker run -v "$PWD"/data/:/app/data/ --rm data-transformer
# Запуск візуалізації
docker-compose up -d
# Додавання даних датчиків до InfluxDB
docker build -t add_influx_data ./provisioning/influx
docker run -v "$PWD"/data/influx/:/influx-data/ --rm --network=eco-data-visualizer_default add_influx_data
```>Залежно від пропускної здатності вашого інтернет-каналу, параметрів процесора, жорсткого диску, розміру CSV-файлу та кількості оброблених файлів `Швидкий старт` може тривати різний час.
Наприклад, у ноутбуці з пропускною здатністю `100 Мбіт/с`, `Intel Core i7-8550U` (максимальна тактова частота `4ГГц`), з SSD-диском та:
- 2-ма файлами CSV (разом: 620MB) потрібно `11m47s` (з них `9m39s` для перетворення даних)
- 1-ним файлом CSV (513MB) - `6m16s` (з них `4m18s` для перетворення даних)
- 1-ним файлом CSV (107MB) - `6m35s` (з них `4m32s` для перетворення даних)5. Відкрийте [http://localhost/](http://localhost/), щоб побачити візуалізацію!
### Повсякденне використання
#### Запуск
Для запуску візуалізації відкрийте термінал у корені репозиторія і виконайте:
```bash
docker-compose up -d
```Потім відкрийте [http://localhost/](http://localhost/), щоб побачити візуалізацію.
#### Зупинка
Для зупинки візуалізації відкрийте термінал у корені репозиторія і запустіть:
```bash
docker-compose stop
```### Датчики
#### Оброблення нових даних
1. Завантажте CSV-файл з SaveEcoBot
2. Перемістіть його в теку `data/original_data` цього репозиторія.
3. Виконайте:```bash
# Видалення тимчасових файлів
docker run -v "$PWD"/data/:/app/ --rm amancevice/pandas:1.0.3-alpine sh -c "rm -f /app/csv/*.csv /app/influx/*.influx"
# Підготовка даних
docker build -t data-transformer ./data-transformer-app
docker run -v "$PWD"/data/:/app/data/ --rm data-transformer
```#### Додавання нових даних
Для додавання нових даних у візуалізацію відкрийте термінал у корені репозиторія і виконайте:
```bash
# Запуск візуалізації
docker-compose up -d
# Додання нових даних
docker build -t add_influx_data ./provisioning/influx
docker run -v "$PWD"/data/influx/:/influx-data/ --rm --network=eco-data-visualizer_default add_influx_data
```#### Видалення даних
Для видалення даних датчиків з візуалізації відкрийте термінал у корені репозиторія і виконайте:
```bash
docker-compose down
docker volume rm eco-data-visualizer_sensors-data
```### Повне очищення
Для повного очищення відкрийте термінал у корені репозиторія і запустіть:
```bash
# Зупинка візуалізації
docker-compose down
# Видалення томів з налаштуваннями та даними датчиків
docker volume rm eco-data-visualizer_grafana-settings eco-data-visualizer_sensors-data
# Видалення тимчасових файлів
docker run -v "$PWD"/data/:/app/ --rm amancevice/pandas:1.0.3-alpine sh -c "rm -f /app/csv/*.csv /app/influx/*.influx"
```## Для контриб'юторів
Скористайтеся тими ж інструкціями з розділу [Швидкий старт](#швидкий-старт), але на кроці 4 додайте `--build-arg ENV=dev` для `data-transformer-app`.
```bash
docker build --build-arg ENV=dev -t data-transformer ./data-transformer-app
```## Плани на майбутнє
Дивіться [відповідну секцію](README.md#future-plans) в англомовній версії.
## Хочете допомоги?
Ви можете:
* Удосконалити це програмне забезпечення (див. розділ [Плани на майбутнє [en]](README.md#future-plans)).
* [Зробити пожертву у SaveEcoBot](https://www.saveecobot.com/uk/donate).
* Зібрати або придбати станцію контролю якості повітря та додати її до SaveEcoBot. SaveDnipro може зібрати і додати його для вас. [Замовляти тут](https://www.savednipro.org/product/stanciya-monitoringu-yakosti-povitrya/).## Ліцензія та авторські права
Це програмне забезпечення розповсюджується під ліцензією [Apache License 2.0](LICENSE).
Усі дані з SaveEcoBot розповсюджуються під ліцензією [Creative Commons Attribution License 4.0 International](https://creativecommons.org/licenses/by/4.0/legalcode).
Інші дані та джерела можуть мати інші ліцензії.
Також, використовуючи код, наданий у цьому репозиторії, ви погоджуєтеся з наступним:
* Росія [незаконно анексувала Крим у 2014 році](https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B5%D0%BA%D1%81%D1%96%D1%8F_%D0%9A%D1%80%D0%B8%D0%BC%D1%83_(2014)) і [почала війну на Донбасі](https://uk.wikipedia.org/wiki/%D0%92%D1%96%D0%B9%D0%BD%D0%B0_%D0%BD%D0%B0_%D1%81%D1%85%D0%BE%D0%B4%D1%96_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D0%B8), а потім і [повномасштабне вторгнення в Україну 2022 року](https://uk.wikipedia.org/wiki/%D0%A0%D0%BE%D1%81%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B5_%D0%B2%D1%82%D0%BE%D1%80%D0%B3%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D0%B2_%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%83_(2022)).
* Росія принесла смуток і спустошення мільйонам українців, вбила сотні невинних людей, пошкодила тисячі будівель і змусила кілька мільйонів людей стати вимушеними переселенцями.
* [Путін — хуйло!](https://uk.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D1%96%D0%BD_%E2%80%94_%D1%85%D1%83%D0%B9%D0%BB%D0%BE!)