Geom P2: cad_buildings соседи-высотки + overlap check на участке #46

Closed
opened 2026-05-11 20:17:39 +00:00 by lekss361 · 0 comments
lekss361 commented 2026-05-11 20:17:39 +00:00 (Migrated from github.com)

Эшелон: 🔵 Geometry — физическая пригодность

Контекст / проблема

Сейчас cad_buildings (10590 строк) используется только как fallback геометрии в analyze. Не извлекается 2 ценных сигнала:

  1. Соседи-высотки в 100м — что построено рядом (этажность, год, кадастровая цена м²). Это «premium quarter» сигнал.
  2. Existing buildings overlap — на нашем участке уже что-то стоит → hard-warn, инвестиции невозможны без сноса.

Что сделать

  1. Query соседей в 100м:
    SELECT cad_num, floors, year_built, cost_value, area_total_sqm
      FROM cad_buildings
     WHERE ST_DWithin(geom::geography, parcel_geom::geography, 100)
       AND cad_num != :our_cad
     ORDER BY ST_Distance(geom, parcel_geom)
     LIMIT 20;
    
  2. Aggregate в analyze.geometry.neighbors_summary:
    • avg_floors_100m: число
    • max_floors_100m: число
    • median_cost_per_m2_100m: число (если >0)
    • count_buildings_100m: число
  3. Overlap check:
    SELECT 1 FROM cad_buildings
     WHERE ST_Intersects(geom, parcel_geom)
       AND ST_Area(ST_Intersection(geom, parcel_geom)) > 50  -- м²
    
  4. Если overlap — geometry.has_existing_buildings: true, warn block

Acceptance

  • Тестовый участок в Центре показывает соседей-высоток
  • Тестовый участок с existing building показывает warn
  • avg_floors_100m коррелирует со здравым смыслом (центр > окраина)

Owner

backend-engineer

Effort

1 день

Dependencies

— (cad_buildings уже импортирован)

Closes

  • #21 (Использовать cad_buildings в Site Finder фильтрах)
**Эшелон:** 🔵 Geometry — физическая пригодность ## Контекст / проблема Сейчас `cad_buildings` (10590 строк) используется только как fallback геометрии в `analyze`. Не извлекается **2 ценных сигнала**: 1. **Соседи-высотки в 100м** — что построено рядом (этажность, год, кадастровая цена м²). Это «premium quarter» сигнал. 2. **Existing buildings overlap** — на нашем участке уже что-то стоит → hard-warn, инвестиции невозможны без сноса. ## Что сделать 1. Query соседей в 100м: ```sql SELECT cad_num, floors, year_built, cost_value, area_total_sqm FROM cad_buildings WHERE ST_DWithin(geom::geography, parcel_geom::geography, 100) AND cad_num != :our_cad ORDER BY ST_Distance(geom, parcel_geom) LIMIT 20; ``` 2. Aggregate в `analyze.geometry.neighbors_summary`: - `avg_floors_100m`: число - `max_floors_100m`: число - `median_cost_per_m2_100m`: число (если >0) - `count_buildings_100m`: число 3. Overlap check: ```sql SELECT 1 FROM cad_buildings WHERE ST_Intersects(geom, parcel_geom) AND ST_Area(ST_Intersection(geom, parcel_geom)) > 50 -- м² ``` 4. Если overlap — `geometry.has_existing_buildings: true`, warn block ## Acceptance - [ ] Тестовый участок в Центре показывает соседей-высоток - [ ] Тестовый участок с existing building показывает warn - [ ] avg_floors_100m коррелирует со здравым смыслом (центр > окраина) ## Owner `backend-engineer` ## Effort 1 день ## Dependencies — (cad_buildings уже импортирован) ## Closes - **#21** (Использовать cad_buildings в Site Finder фильтрах)
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#46
No description provided.