NorthGateVologda / NorthGateBackend

Backend
0 stars 0 forks source link

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

Closed olgapshen closed 1 year ago

olgapshen commented 1 year ago

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

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

olgapshen commented 1 year ago

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

Marwin887 commented 1 year ago

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

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 commented 1 year ago

Расчет рейтинг парков для г. Архангельска 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 максимальный вес параметра. Параметры (примерные параметры для Парков):

Задает вес параметров пользователь (аналитик, админ продукта) для каждой категории в отдельности. 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 количество "автобусных остановок" и "парковок" вблизи парка Расчет аналогично бизнес эффекту

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

........

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

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

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

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

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

olgapshen commented 1 year ago

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

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

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

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

olgapshen commented 1 year ago

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

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

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

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

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

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

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

olgapshen commented 1 year ago

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

Задача

sshiae commented 1 year ago

Закрываем?

Marwin887 commented 1 year ago

Да

вт, 15 авг. 2023 г., 13:29 Shirkunov Artyom @.***>:

Закрываем?

— Reply to this email directly, view it on GitHub https://github.com/NorthGateVologda/NorthGateBackend/issues/15#issuecomment-1678726302, or unsubscribe https://github.com/notifications/unsubscribe-auth/BAQPJHRPBDMEAXC6C2QBMODXVNFQJANCNFSM6AAAAAA2KT4EXQ . You are receiving this because you were assigned.Message ID: @.***>

olgapshen commented 1 year ago

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