gendesign/backend/app/services/cadastre
lekss361 6d9b30625b fix(cadastre): skip grid-walk for broken quarter geometries (#168)
Pilot v5 (50 quarters) разоблачил что cad_quarters_geom имеет 1735/2408 (72%)
ЕКБ rows с broken micro-precision geom (width ~0.01м instead of 200-4000м).
Causes:
- grid-walk WMS receives bbox ~1mm × 1mm → 500 ServiceException на all 450 req
- One quarter hung 2+ min (silent failure in async loop)

Real fix: re-import cad_quarters_geom geometry from NSPD (category 36381).
Tracked в follow-up issue.

Quick fix (this PR): sanity-check quarter_bbox_3857 — return None если width
ИЛИ height not in [100m, 10000m]. Bulk_harvest_quarter then skips grid-walk
для broken quarters, только snapshot phase запускается (20 per cat).

After this fix:
- All 50 pilot quarters получают snapshot (parcels/buildings/etc up to 20 each)
- Grid-walk runs only для 673/2408 healthy quarters → no 500 cascades, no hangs
2026-05-15 16:15:04 +03:00
..
__init__.py feat(cadastre): bulk_harvest worker + grid-walker + admin API (#168 PR3/5) (#171) 2026-05-15 13:31:32 +03:00
bulk_harvest.py fix(cadastre): CAST :geom AS text — psycopg AmbiguousParameter (#168) (#178) 2026-05-15 16:02:03 +03:00
grid_geometry.py fix(cadastre): skip grid-walk for broken quarter geometries (#168) 2026-05-15 16:15:04 +03:00