Формулировка задачи
По кадастровому номеру участка получить несколько вариантов проектов застройки участка в формате .DWG (Autocad) со следующими рассчитанными показателями:
Площадь земельного участка, м2
Площадь застройки, м2
Общая площадь здания, м2
Этажность (итоговая)
Площадь твердых покрытий (дороги тротуары), м2
Площадь озеленения, м2
Площадь озеленения, %
Почему мы выбрали Low-code подход?
В данном проекте нам было важно реализовать Backend API, поэтому для реализации Frontend и базы данных мы выбрали Airtable, а в качестве интерфейса пользователя Notion и Telegram.
Это очень сильно ускорило процесс создания всей модели и дало возможность оперативно подключить к тестированию конечных пользователей.
Backend
Было решено выбрать Python основным языком для Backend, плюс дополнительные библиотеки:
Библиотека получения изображения участка по кадастровому номеру от Росреестра (https://github.com/rendrom/rosreestr2coord).
Библиотека OpenCV для анализа изображения участка, получаемое от Росреестра (https://github.com/opencv/opencv/tree/4.7.0).
Библиотека pyautocad для генерации проектов в формате .DWG (Autocad) (https://pypi.org/project/pyautocad/).
Библиотека Flask для организации REST API (https://github.com/pallets/flask).
База данных и система управления очередями заданий - Airtable (https://airtable.com/).
Frontend
Чат-бот Телеграм для постановки задачи через форму Airtable.
Публичная страница в Notion с формой Airtable и просмотром очереди заданий.
Этапы разработки MVP
Получение по API изображения участка от Росреестра по кадастровому номеру и перевод его в гео-координаты.
[(323.2, 107.8), (155.2, 110.8), (134.2, 131.2), (127.0, 191.2), (128.2, 192.4), (133.0, 192.4), (133.6, 194.8), (132.4, 199.0), (126.4, 197.8), (107.2, 356.2), (301.6, 392.2), (313.6, 298.6), (320.2, 224.8), (323.2, 149.2), (323.2, 107.8)]
Создать алгоритм “посева” секций на участке в заданных границах угла отклонения от осей Север-Юг и Запад-Восток.
Рассчитать все показатели застройки для полученного варианта размещения домов на участке.
Полученное расположение секций на участке отправляем на сервер с Autocad и генерируем проект в формате .DWG, где секции будут заменены на разработанные заранее типовые секции.
Разработать интерфейс для ручной корректировки положения секций на участке.
Демонстрация работы MVP (видео)
На данном видео показан процесс работы из чат-бота Telegram.
Показан процесс от постановки задачи и получения автоматических вариантов планировки, а так же последующая ручная доработка расстановки секций на участке.
Результатом работы является готовый проект в формате .DWG (Autocad).
Итоговая архитектура MVP
Заключение
Все вопросы пишите мне в телеграм: @TAU15
Всем желающим протестировать работу MVP вот ссылка на страницу в Notion:
https://www.notion.so/2-MVP-d5875ea718654c02a1a0d61f68cc7962