Coder Social home page Coder Social logo

opendataby / city-dashboard Goto Github PK

View Code? Open in Web Editor NEW
10.0 10.0 4.0 1.08 MB

City dashboard for Minsk using open datasets

Home Page: https://city.opendata.by

License: MIT License

Ruby 0.09% HTML 1.60% CSS 10.17% JavaScript 84.12% Python 1.99% Shell 0.05% SCSS 1.97%

city-dashboard's People

Contributors

abitrolly avatar dandel10n avatar davojta avatar dependabot[bot] avatar gsk990 avatar inesusvet avatar konstantinreido avatar ushchent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

city-dashboard's Issues

Импортировать XML c обновлениями данных по загрязнению воздуха в Минске, каждые 20минут

http://rad.org.by/rss-air-avto.xml

просьба импортировать каждое из полей XML в отдельное поле в друпале

fields:

year,Год
city,Город
address,Адрес
rayon,Район Города
carbonMonoxideConcentrationMediumNgM3,Концентрация углерода оксида среднее нг/м3
nitrogenDioxideConcentrationMediumNgM3,Концентрация азота диоксида среднее нг/м3
carbonMonoxideConcentrationMaximumNgM3,Концентрация углерода оксида максимальное нг/м3
nitrogenDioxideMaximumNgM3,Концентрация азота диоксида максимальное нг/м3
formaldehydeConcentrationMediumNgM3,Концентрация формальдегида среднее нг/м3
formaldehydeConcentrationMaximunNgM3,Концентрация формальдегида максимальное нг/м3
leadConcetrationMediumNgM3,Концентрация свинца среднее нг/м3
benzpyreneConcetrationMediumNgM3,Концентрация бенз/а/пирена среднее нг/м3
leadConcetrationMaximumNgM3,Концентрация свинца максимальное нг/м3
benzpyreneConcetrationMaximumNgM3,Концентрация бенз/а/пирена масимальное нг/м3
overallScoreTrends,Общая оценка и тенденции
sampling,Отбор проб
stationType,Тип станции
pollutionType,Тип загрязнения
maximumPermissibleConcentrationMPC,Предельно допустимая концентрация (ПДК)
description,Описание
linkToTheSource,Ссылка на источник

Разработать call to action функционал

Во время предварительной презентации на хакатоне нам задали логичный вопрос: вот человек увидел, что по какому-то показателю все плохо. Что он может сделать после этого, кроме того, чтобы задуматься о переезде. Возможно стоит подумать над тем, чтобы сделать такую штуку: под кружком кнопка "Исправить", а там либо описание, почему мы пришли к такой ситуации и что сделать, чтобы ее исправить. Типа: слишком много народу ездит на машинах, это дает вот такие показатели по загрязнению воздуха. Решения могут быть такими: заботиться о техническом состоянии авто, поменьше на нем ездить, покупать экологичные модели и т.д. Или здесь все плохо с парковками, а вот ребята собирают подписи под петицией, где предлагают, как это изменить. Или контакты ответственных чиновников, или что-нибудь еще в зависимости от конкретного показателя.

Добавить под каждым индикатором текст на 1 строкe с пояснением

пример - https://dashboard.edmonton.ca/green

название индикатора: Missed waste collection stops (Незабранные мусорные контейнеры)
value: 5
пояснение: per 10 000 collection stops (в расчёте на 10 000 остановок мусоровоза)

У нас есть тоже индикаторы, которые рассчитываются на 10 000 человек, но непонятно, где это пояснение добавить.

Если будет время добавить, то будем очень благодарны!

Реализовать скрипт по сбору данных на портале opendata.by и пуша этих данных на дашборд

реализовать парсер для 115.бел текущие проекты, решенные, по районам города

Нужно забирать данные с проекта 115.бел для ретроспективных датасетов и чтобы показывать как у города с ЖКХ.
implement parser for 115.бел problems outstanding, problems solved, by city district

  1. minimum: try parsing the figures on homepage: http://115.xn--90ais/
  2. try to get requests by city district/by address: http://115.xn--90ais/map

Попробовать проанализировать таблицу с кол-вом кафе, и озеленённостью районов Минска

линк на данные:
https://github.com/opendataby/city-dashboard/blob/master/data/mensk-amenities.csv
https://github.com/opendataby/city-dashboard/tree/master/data

пример данных:

city,district,amenity,count
Минск,Партизанский район,restaurant,17
Минск,Центральный район,fast_food,16
Минск,Первомайский район,pharmacy,64
Минск,Партизанский район,cafe,57
Минск,Заводской район,school,47
Минск,Заводской район,kindergarten,74
Минск,Фрунзенский район,hospital,17
Минск,Октябрьский район,university,14
Минск,Первомайский район,college,6
Минск,Октябрьский район,hospital,20
Минск,Фрунзенский район,university,2
Минск,Ленинский район,cafe,97
Минск,Заводской район,restaurant,10
Минск,Московский район,restaurant,24
Минск,Первомайский район,university,10
Минск,Советский район,kindergarten,40
Минск,Советский район,school,32
Минск,Первомайский район,hospital,24
Минск,Партизанский район,kindergarten,28
Минск,Заводской район,cafe,52
Минск,Ленинский район,restaurant,23
Минск,Партизанский район,school,17
Минск,Октябрьский район,college,2
Минск,Московский район,cafe,83
Минск,Центральный район,college,3
Минск,Фрунзенский район,pharmacy,101
Минск,Первомайский район,fast_food,23
Минск,Октябрьский район,pharmacy,59
Минск,Центральный район,pharmacy,43
Минск,Заводской район,fast_food,13
Минск,Фрунзенский район,kindergarten,89
Минск,Фрунзенский район,school,57
Минск,Московский район,fast_food,20
Минск,Центральный район,kindergarten,28
Минск,Центральный район,school,24
Минск,Ленинский район,fast_food,11
Минск,Советский район,college,6
Минск,Октябрьский район,kindergarten,38
Минск,Октябрьский район,school,26
Минск,Партизанский район,college,11
Минск,Ленинский район,hospital,17
Минск,Московский район,university,19
Минск,Первомайский район,restaurant,27
Минск,Заводской район,university,9
Минск,Заводской район,hospital,19
Минск,Первомайский район,cafe,100
Минск,Партизанский район,pharmacy,31
Минск,Советский район,pharmacy,67
Минск,Ленинский район,university,16
Минск,Московский район,hospital,24
Минск,Октябрьский район,restaurant,17
Минск,Фрунзенский район,cafe,79
Минск,Партизанский район,fast_food,4
Минск,Советский район,fast_food,33
Минск,Центральный район,restaurant,55
Минск,Октябрьский район,cafe,62
Минск,Заводской район,college,3
Минск,Фрунзенский район,restaurant,22
Минск,Центральный район,cafe,140
Минск,Московский район,college,4
Минск,Партизанский район,university,12
Минск,Ленинский район,pharmacy,69
Минск,Советский район,university,13
Минск,Заводской район,pharmacy,42
Минск,Московский район,pharmacy,90
Минск,Первомайский район,kindergarten,51
Минск,Первомайский район,school,43
Минск,Советский район,hospital,18
Минск,Партизанский район,hospital,29
Минск,Октябрьский район,fast_food,17
Минск,Ленинский район,kindergarten,51
Минск,Ленинский район,school,41
Минск,Советский район,restaurant,22
Минск,Московский район,kindergarten,63
Минск,Фрунзенский район,fast_food,18
Минск,Московский район,school,45
Минск,Советский район,cafe,97
Минск,Центральный район,university,7
Минск,Центральный район,hospital,20
Минск,Фрунзенский район,college,3

city,district,forest_area,district_area
Минск,Заводской район,17628610.6548525,58969122.8521252
Минск,Октябрьский район,3750204.19872887,38109533.0793325
Минск,Московский район,236568.883868895,28629217.8173676
Минск,Центральный район,5284928.53225602,41368396.6116521
Минск,Советский район,1437050.72353618,20455136.261651
Минск,Партизанский район,36903035.0314432,64975773.082014
Минск,Ленинский район,1308546.99082313,23827691.1209062
Минск,Фрунзенский район,1496910.08785181,42393396.7957574
Минск,Первомайский район,6342346.45437945,34470218.7932549

Рефакторинг фронта к лабе 10.12

  • поменять скин на стандартный для opendata - http://svodka.opendata.by/
  • разбить https://github.com/opendataby/city-dashboard/blob/master/data/frontend.json на мелкие файлы для одного индикатора и загружать их по одному
  • сделать страницы для меню (о нас, ссылки на другие дашборды)
  • добавить в индикаторы ссылку на источник данных
  • добавить в структуру json поддержку добавления тултипов
  • добавить в структуру json поддержку диалогов

Сделать оценку обеспеченности каждого из районов Минска парковочными местами

  • взять численность (численность населения?)
  • оценить достаток (0.75 машины на квартиру),
  • оценить количество машиномест (дороги, стоянки, паркинги)
  • проверить на местности
  • добавить в дашборд

Приглашаю развить идею и шаг за шагом понять как можно проанализировать, получить датасет и на его основа сделать визуализацию.

Какие будут идеи? Думаю стоит погуглить и нарыть уже готовые исследования на эту тему.

@davojta сможешь подключить Дорафея?

Продумать дашборд для других городов

Сейчас модель работает только для Минска

Нужно продумать как можно добавить поддержку для других городов

Из вопросов на которые нужно ответить:

  1. сейчас у нас есть один файл - https://github.com/opendataby/city-dashboard/blob/master/data/frontend.json
    если его делать для нескольких городов он станет слишком большим - надо разделять
  2. какой может быть ui - это какой то список городов?

implement full frontend json

  • implement fe json structure
  • add 2 cities
  • connect json and html page

need to implement https://github.com/opendataby/city-dashboard/blob/master/data/test.json in form of following structure

[
  {
    city: "Minsk",
    params: [
      {
        "parameter": "pollution",
        "average": "200",
        "value": "100",
        "isOk": true
      },
      {
        "parameter": "accidents",
        "average": "120",
        "value": "80",
        "isOk": false
      },
      {
        "parameter": "amenity",
        "average": "50",
        "value": "10",
        "isOk": true
      },
      {
        "parameter": "forest",
        "average": "1000",
        "value": "678",
        "isOk": true
      }
    ]
  }
]

base structure - https://github.com/opendataby/city-dashboard/blob/master/data/frontend.json

Описать пошагово появление цифр и параметров на странице барометра

на входе:
данные в формате:

Название_параметра,Значение,Лучше_нормы,Район

например:
Количество_краж,15,True,Партизанский,

На выходе должен появиться маркап в ХТМЛ файле типа:

  <div class="panel panel-default">
        <div class="panel-body easypiechart-panel">
          <h4>Количество краж:</h4>
          <div class="easypiechart" id="easypiechart-teal" data="15" ><span class="data">15</span>
          </div>
        </div>
      </div>


Air quality index: візуалізацыя для публiкацыі на опендата.бай

Задача №1: Air quality index: показать на карте или графике следующую информацию - качество воздуха в Минске или др городах Беларуси.
Имеются ежечасные официальные открытые данные от Гидрометцентра, по смогу (частицы 2.5, бензолу, и другим загрязняющим веществам.
Если хоть один из показателей превышает 100% от предельно допустимой концентрации (ПДК), то воздух НЕБЕЗОПАСЕН.

Вот данные:
https://docs.google.com/spreadsheets/d/1u1VlCv6Czx3EL6qevpgYsDESTzTk0CaNPWUlWcsbp2k/export?=csv

Проблема: как показать данные, чтобы сделать их легко считываемыми гражданами. Пример использования (условный): показать в таком схематичном формате, чтобы можно было их вывести в очень примитивном виде в мобильном аппе/сайте или на большом экране на Галерее Минск?
Проблема техническая: данные сырые, есть пробелы (не всегда есть инфа от гидрометцентра) а также бывают превышения в 5-10 раз, но это шум а не фактические превышения норм.

Примеры решения:
решение1 Показать ситуацию "на сегодня" сделать схематичную карту Минска и там показывать грустные смайлики где всё плохо, и зелёные весёлые смайлики в местах, где по показателям за последние сутки нет превышений и всё ок, а жёлтые нейтральные где показатели близки к 70-100% но не превышают?

решение2: Исторические данные: сделать карту с историей превышений по карте Минска (или вообще Беларуси) и там закрасить красным цветом места, где чаще всего раньше были превышения?

Решение3 (самое простое/наименее полезное): сделать графики для нердов и показать детально все показатели как тут, по каждому из мест измерений (5 мест в Минске и 20+ по всей Беларуси):
http://aqicn.org/city/beijing

Дополнительные исторические данные если понадобятся - https://opendata.by/dataset/1119

Сделать черновой датасет в качестве анализа обеспеченности парковками районов Минска

Оценить квадратные метры парковок из Осма

Выдать табличку с площадью по районам

Предыдущие обсуждения
#14 - на хакатоне
#10 - обсуждения как подойти к аналищу
https://github.com/opendataby/city-dashboard/blob/master/docs/city-parking.md - выжимся всяких мыслей, как можно считать

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.