Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Сохранение пользовательских данных в базе #15

Closed
olgapshen opened this issue Jul 14, 2023 · 9 comments
Assignees
Labels
enhancement New feature or request

Comments

@olgapshen
Copy link
Contributor

olgapshen commented Jul 14, 2023

В рамках следующий парадигмы нашего MVP отображённому на диаграмме тут необходимо создать табличные структуры для сохранения слоёв пользователя.

Вся структура базы должна коррелировать с результатами задачи Написать User Story.

@olgapshen olgapshen changed the title Сохранение данных в базе Сохранение пользовательских данных в базе Jul 14, 2023
@olgapshen olgapshen added the enhancement New feature or request label Jul 14, 2023
@olgapshen
Copy link
Contributor Author

Тём, раскидай между ребятами.

@Marwin887
Copy link

Marwin887 commented Jul 14, 2023

Для слоя плотность населения необходимо:

1). Взять данные о домах архангельской области - https://аис.фрт.рф/opendata?gid=2216073&page=2&pageSize=12

2). Выделить дома относящиеся к г. Архангельску

3). Жилую площадь в домах разделить на 24.1 м2/на человека

4). Сложить общее количество людей п.3 и сравнить с числом 298 617 и рассчитать корректировочный коэффициент.

UDP (Корректировочный коэффициент получился 11%)

5). Рассчитать итоговое кол-во жителей для каждого дома с учетом коэффициента.

6). Сформировать сетку шестиугольников размером 500 м от центра до угла шестиугольника (пешая доступность в рамках 15 минут)

7). Сгруппировать по координатам шестиугольники и координаты домов.

8). Сделать связку Дом-Шестиугольник, рассчитать для каждого шестиугольника количество проживающих людей и плотность населения на площадь шестиугольника.

@Marwin887
Copy link

Marwin887 commented Jul 14, 2023

Расчет рейтинг парков для г. Архангельска
1). Выявить текущие места размещения парков, выгрузить их координаты с помощью 2 gis парсера https://github.com/interlark/parser-2gis/wiki https://2gis.ru/arkhangelsk/search/Парки%20и%20скверы%20?m=40.715501%2C64.540854%2F10.75
2). Выгрузить все объекты по запросам "Еда" (кафе рестораны, кофейни,шаурма), "Достопримечательности", "Гостиницы" (гостиницы, хостелы), "Развлечения" через 2 GIS. Выгрузить данные о цирках, театрах, больницах, школах, детских садах из уже существующих источников с Мин. культуры РФ, либо парсингом.

Данные должны быть представлены в виде Название объекта/Тип объекта/Гео-координаты/

3). Для объектов типа "парк" (здравоохранение) создать матрицу весов параметров объекта:
(значение от 1 до 100) где 1 min вес параметра, а 100 максимальный вес параметра.
Параметры (примерные параметры для Парков):

  • "Охват населения в пешей доступности" (100)
  • "Бизнес эффект" (50)
  • "Притяжение соц. инфраструктуры" (30)
  • "Транспортная доступность" (30)
  • "Достопримечательность" (70)

Задает вес параметров пользователь (аналитик, админ продукта) для каждой категории в отдельности.
4). Расчет самих параметров на примере парков
За эталон берется среднее значение по городу +15% как драйвер роста.

"Охват населения в пешей доступности"
Охват населения в пешей доступности рассчитываем как количество людей проживающее в радиусе 500 от границы парка, если границы парка не установить считаем как количество населения проживающее в полигоне в котором располагается координаты парка + 50% населения близлежащих 6 полигонов.

Например есть 3 парка у каждого охват пешей доступности ((медиана{1000,800,5000})=1000)/(Медиана{ряд значений плотности населения всех полигонов}), но не более 100%

1). Сначала вычисляем медианную плотность населения среди всех полигонов города;

2). Берем медианную плотность за эталонную, которую должен обеспечить парк в данном населенном пункте;

3). Далее рассчитываем охват населения для каждого из имеющихся парков;

4). Делим охват на медианный полигон и получаем параметр охвата населения для октагона в котором расположен выбранный парк. Параметр охвата населения не может превышать 1

1000/2700=0,37

"Бизнес эффект"
Рассчитывается аналогично количеству людей, но уже считается количество точек на карте относящих к категории "Еда "Гостиницы", "Развлечения" (парсим 2 gis).

(10+6+20)/3)=12

10/12=0,83

"Притяжение соц. инфраструктуры""
Считаем аналогично бизнес эффекту только в расчет берутся из существующих источников:
"Театры", "Кинотеатры", "Музеи", "Библиотеки" , "Учреждения культурно-досугового типа", "Филармонии и концертные залы"

"Транспортная доступность"

Считаем аналогично бизнес эффекту только в расчет, парсим 2 GIS количество "автобусных остановок" и "парковок" вблизи парка
Расчет аналогично бизнес эффекту

"Достопримечательность"
Считаем аналогично только в расчет берутся из существующих источников:
Данные об объектах туризма.

........

Далее считаем сумму все параметров с учетом весов

  • "Охват населения в пешей доступности" 0,37 *100=37
    +.
  • "Бизнес эффект" 0,83*50=41,5
    +.
  • "Притяжение соц. инфраструктуры" 0,3*30=9
    +.
  • "Транспортная доступность" 0,5*30=15
    +.
  • "Достопримечательность" 1*70 =70

=Рейтинг парка. 172,5

Эталонный парк это все веса умноженные на 1 100+ 50+30+15+70=265

В полигоне (шестиугольнике где располагается сам парк) коэффициент обеспеченности всегда равен 100% от полученного результата. В граничащих полигонах 50%. Например 172 в полигоне, где есть парк и 65 в граничащих полигонах. Если парки близко то их влияние суммируется в полигонах с общей границей.

Далее значения сравниваются с рассчитанным эталоном. Где коэффициент рассчитанного эталона это max коэффициента.
На карте рейтинг визуализируется для каждого полигона, цель найти те полигоны где рейтинг менее 25% (65) от эталона и высока плотность населения и приоритизировать те полигоны где нужно в первую очередь разместит парк.

@Marwin887 Marwin887 self-assigned this Jul 15, 2023
@olgapshen
Copy link
Contributor Author

olgapshen commented Jul 15, 2023

1). Взять данные о домах архангельской области - https://аис.фрт.рф/opendata?gid=2216073&page=2&pageSize=12

2). Выделить дома относящиеся к г. Архангельску

Предлагаю вот эти два пункта как раз реализовать через Nifi. Это будет супер круто, так как во первых мы покажем супер уровень в данной сфере (статистика, большие данные, машинное обучение) через перспективу ETL, во вторых резко сэкономим вычислительные ресурсы системы загрузив данные единожды без необходимости постоянно подгружать. От @sshiae нужно будет добить тему с авторизацией с Nifi, а я тогда запилю всю интеграцию ETL. Возможно на бекенде понадобиться экспорт функции К КОТОРОЙ будет обращаться Nifi дабы та проксировала запрос на аис.фрт.рф.

Ребята!!! Это будет реально супер круто и надо будет обязательно отобразить это в следующей презентации. Сейчас поставлю себе задачу.

@olgapshen
Copy link
Contributor Author

olgapshen commented Jul 15, 2023

3). Жилую площадь в домах разделить на 24.1 м2/на человека

4). Сложить общее количество людей п.3 и сравнить с числом 346979 и рассчитать корректировочный коэффициент.

5). Рассчитать итоговое кол-во жителей для каждого дома с учетом коэффициента.

6). Сформировать сетку шестиугольников размером 500 м от центра до угла шестиугольника (пешая доступность в рамках 15 минут)

7). Сгруппировать по координатам шестиугольники и координаты домов.

8). Сделать связку Дом-Шестиугольник, рассчитать для каждого шестиугольника количество проживающих людей и плотность населения на площадь шестиугольника.

Вот это вынесу в отдельную задачу по актуализации модели вычисления плотности населения.

@olgapshen
Copy link
Contributor Author

Расчет коэффициента обеспеченности парками для г. Архангельска

Задача

@sshiae
Copy link
Contributor

sshiae commented Aug 15, 2023

Закрываем?

@Marwin887
Copy link

Marwin887 commented Aug 15, 2023 via email

@olgapshen
Copy link
Contributor Author

Собственно то говоря, так и не сохранили, но ладно :) Потом в новых проектах будем сохранять.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants