feat(#126): Sub-PR A — NSPDClient.get_features_in_bbox_grid + engineering classifier #247

Merged
lekss361 merged 1 commit from fix/126-nspd-grid-walk-scraper into main 2026-05-17 05:54:31 +00:00

1 commit

Author SHA1 Message Date
lekss361
7338693500 feat(#126): Sub-PR A — NSPDClient.get_features_in_bbox_grid + engineering classifier
Add get_features_in_bbox_grid(layer_id, bbox, *, grid_n=7, step_m=50) to NSPDClient:
delegates grid_n×grid_n WMS GetFeatureInfo calls via NSPDBulkClient.wms_feature_info
(async httpx + Semaphore(3)), deduplicates by feature_id/cad_num/reg_numb_border.

Deprecate get_features_in_bbox (single-pixel, 0-3 results) in docstring — not removed,
used by search_by_quarter (Sub-PR B).

Add classify_engineering_kind(properties) in nspd_denorm.py — regex classifier for
layer 36328 structures: water/sewage/gas/heat/electric/other.

Tests: 31 unit tests (mock-based, no live HTTP), 1 integration skip placeholder.
Foundation only — no behaviour change in harvest_quarter (Sub-PR B).
2026-05-17 08:48:23 +03:00