feat(site-finder): opportunity-ЗУ + red-line map layers (§12.1-13, #958) #1177
No reviewers
Labels
No labels
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
Fable 5 ревью
feedback/max
generative
GG-форсайт
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
вторичка
ИРД
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#1177
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/map-layers-958"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds two §12.1-13 toggleable map layers to the Site Finder analysis map (#958). The geometry was already serialized on
/analyzebut dropped by theMiniMapadapter — this wires it through:nspd_opportunity_parcels.geom_wkt, POLYGON/MULTIPOLYGON) —--viz-3teal; per-subtype RU popups (ЗУ на торгах / свободный / перспективный / ООПТ).nspd_red_lines.geom_wkt, LINESTRING/MULTILINESTRING) —--warndashed; popup shows intersection-length (ALERT) or nearby distance.Wired as toggles in the existing
CpLayerControlPanel(Рынок group); reuseswkt.tsextended with LINESTRING/MULTILINESTRING. Leaflet stays behinddynamic(ssr:false). Empty/invalid geometry → renders nothing gracefully; panel counts reflect only mappable features.Flagged backend follow-ups (NOT faked)
The other §12.1-13 layers carry no frontend-map-able geometry yet — left as backend follow-ups:
future_market/special_indices= district scalars (no coords);future_competitorslacks lat/lon → "hidden/future supply" layer needs geom attached.planning_projects) polygons not exposed to frontend.newbuilding_listings) points not in/analyze.Test plan
npm run lintclean;npx tsc --noEmitcleanvitest wkt.test.ts→ 20 passed (+4: LINESTRING/MULTILINESTRING lon/lat order, comma-split nesting, GEOMETRYCOLLECTION→null guard)/site-finder/analysis/<cad>with a loaded NSPD quarter dump → toggle "Перспективные ЗУ" / "Красные линии" in the Рынок group; popups RU; empty-dump parcel renders nothing without errors.Scope
Frontend only (6 files). No backend/parcels.py touched; no new dependency (react-leaflet already present, no lockfile drift).
Refs #958