Формулировка задачи
По кадастровому номеру участка получить несколько вариантов проектов застройки участка в формате .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
Комментарии (11)
TAU15 Автор
00.00.0000 00:00Как это обычно бывает на момент публикации не работал сервер на котором идет генерация проектов в Автокаде. Сейчас все работает. Можете тестировать сервис!
little-brother
00.00.0000 00:00+1Я конечно не архитектор, но осуществлять привязку дома только по геокоординатам мне кажется совсем наивно. Имхо, минимум нужно учитывать такие факторы:
Расположение дорог и скверов (вдоль шумной дороги квартиры будут дешевле, а вот напротив парков наоборот - подороже).
Организация въездов и выездов с территорий (а то напроектируют помойки так, что мусоровоз пробирается через пачки легковушек или тупиковые заезды на длинные парковки, где находится умник который перекрывает всю дорогу на "пару минуток").
Расчет аэродинамики (на это иногда походу сейчас забивают, но в СССР такое делали).
Нет расстановки дополнительных сооружений (электроподстанций, школ, садов).
Не понятно как с организацией придомовых территорий - обустроить площадки правильной формы имхо намного проще, чем "непойми что".
TAU15 Автор
00.00.0000 00:00Спасибо за такой подробный комментарий! Все эти факторы мы попробуем реализовать при развитии нашего сервиса.
JediPhilosopher
00.00.0000 00:00+7По опыту для застройщиков при размещении многоэтажных домов основную боль представляет собой инсоляция. Это вообще сложная оптимизационная задача - как нахреначить максимум человейников в минимуме площади участка, чтобы этот норматив на часы солнечного света в каждой квартире выполнялся. Чтобы солнышко в узенькие щели между нашими муравейничками таки достигало хотя бы одного окна в каждой квартире.
Проблема еще и в том, что эта задача в общем случае вообще не решается на уровне прямоугольничков-секций. Так как требования инсоляции задаются для квартиры. И решение этой задачи зависит от квартирографии. Например, если мы хотим дом эконом-класса в котором 90% квартир - это однушки и студии, мы фактически можем его размещать только с юга на север - только так мы сможем обеспечить инсоляцию обеих длинных граней, вдоль которых сделаны наши квартиры, в каждую из которых должно попадать солнце.
Если же мы разрешаем значительную долю двушек-трешек (а это уже как правило комфорт-класс и выше), то мы получаем возможность располагать дом "горизонтально" - с востока на запад. В таком случае мы можем одну комнату трешки вывести на южный фасад, две другие на северный (по нормам для 1-2-3 комнатных квартир достаточно обеспечить инсоляцию одной комнаты). А в доме с однушками так нельзя - ведь солнце никогда не смотрит с севера в нашем полушарии, так что северную грань горизонтального дома оно не осветит никогда, и однушки с окнами на ту сторону свою инсоляцию не получат.
А генерация квартирографии - это уже совершенно иная задача, и задача скорее экономически-политическая, а не техническая. Соотношение видов квартир определяется философией проекта - строим ли мы максимально дешевый человейник с одними студиями минимальной площади, или делаем бизнес-класс с многокомнатными квартирами для успешных людей. Но без нее ваши цифры - это пальцы в небо. Покажите это любому застройщику - он сразу начнет ныть, что так строить нельзя, что в при застройке по вашей схеме нужно будет делать кучу трешек-четверок, а они неликвидны и не выгодны и он их не сможет продать.
Вторая боль - это радиусы действия инфраструктуры, ее количество и площадь участков под нее. Строите мега-муравейники - будьте добры постройте рядом мега-школу на две тыщи учеников, а такой мега-школе понадобится мега-участок (это все тоже нормируется, например площадь участка школы на одного учащегося), который сожрет половину вашей красивой планировки.
А еще есть парковки (которые вы для муравейников охренеете впихивать в участок, а подземные - дорого и если это эконом - не рентабельно), а еще всякие пожарные проезды, санитарные отступы от тех же паркингов (привет лайфхак - вместо одного паркинга на 500 мест строить вплотную два на 250, если кто видел такое и удивлялся зачем оно - это потому что тогда отступ до стены жилого дома в два раза меньше нужен) и еще много чего еще (спортплощадки и плоскостные спортивные объекты, например - в Ленобласти похоже этот норматив в принципе удовлетворить невозможно). А оно еще может быть разное - РНГП каждый регион пишет как хочет, и цифры могут отличаться значительно.
В итоге в этой сфере MVP ценности не имеет - он не учитывает ключевые особенности, которые всем приносят много боли и которые и нуждаются в автоматизации и алгоритмизации. Так-то ТЭП на пальцах прикинуть можно и вручную по площади участка, а вот как только вы пытаетесь дать бОльшую детализацию - вы тут же нарываетесь на все вышеперечисленное, и либо делаете это ВСЕ, либо ваши результаты и чертежи - это мусор.
Итеративное улучшение тут не работает. Нельзя сделать проект, удовлетворяющий нормативам на 80% и рассчитывать, что его ТЭП соответствуют реальности тоже на 80. Нет, как только вы попробуете добить оставшиеся 20% правил и норм, ваш проект вообще разъедется нафиг и превратится во что-то принципиально другое.
Сами на это наткнулись в одном проекте, где мы пытаемся генерировать застройку. Мы начинали с грубого подсчета ТЭП как у вас, по прямоугольничкам, а сейчас дошли уже почти до уровня ППТ. С инсоляцией, школами и почти всеми видами инфраструктуры. И все равно постоянно натыкаемся на новые и новые возражения застройщиков и то, без чего результат им не нужен. Боль непрерывная.
TAU15 Автор
00.00.0000 00:00Спасибо за такой подробный комментарий!
Задача нашего MVP это как раз дать возможность грубо оценить инвестиционную привлекательность участка.
Вопрос инсоляции мы пока решили тем, что секции домов, заложенные в рассчет мы взяли уже полностью удовлетворяющие требованиям по инсоляции. Это пока только две секции ориентированные на Север-Юг и Запад-Восток. В процессе "посева" секций у нас заложены ограничения на максимальные углы этих типовых секций, такие чтобы инсоляция не нарушалась И плюс к этому мы заложили необходимые ограничения на расстояние между рядами секций на участке.
Площадь, необходимую для размещения на участке объектов инфраструктуры мы пока будем задавать в процентах. Скажем процент на озеленение, процент на парковки и т.п.
ushakovv
00.00.0000 00:00+3Рассматривать отдельно взятый участок без учета ограничений/специфики окружающей застройки - это как сферический конь в вакууме - оригинально, иногда красиво, но совершенно бесполезно. Да и еще. Рассмотрение участка без подосновы (топосъемки) - плохая затея. Может оказаться, что участок абсолютно не пригоден для застройки.
AlexRaze
00.00.0000 00:00+1ТЗ, нормативы и обучение им сделаны так чтоб их
Нельзя было автоматизировать
На их основе сделать комфортную среду обитания
Начните с определений и ттх, что такое улица,, проспект и тд и какое влияние оказывает на континент.
sunnybear
Выглядит очень круто, но постановку задачи, возможно, нужно описать по-другому для менее подготовленных читателей
TAU15 Автор
Согласен, учту этот момент на будущее ;)