[tradein][scrapers] Rosreestr ДКП geocoding автоматизация — координаты NULL после импорта #569

Closed
opened 2026-05-25 06:02:33 +00:00 by lekss361 · 1 comment
Owner

Проблема

deploy/import-rosreestr.sh импортирует ДКП без координат — lat/lon NULL. Geocoding делается отдельным шагом, который тоже manual (и нет ясности — где).

Что сделать

  1. Audit: где сейчас geocode ДКП адресов (если вообще)? grep -r "rosreestr.*geocode\|geocode.*deals" backend/
  2. Привязать к scheduler: после rosreestr_dkp_import (см. P0) — chained task geocode_missing_deals через Nominatim или Yandex Maps API.
  3. Rate limit Nominatim: 1 req/s → батчи по 1000/час.
  4. Backfill для существующих ~50K ДКП.

Acceptance

  • SELECT COUNT(*) FROM rosreestr_deals WHERE lat IS NULL < 5% от total.
  • Новые импорты получают координаты в течение 24h.

Refs

  • extract_street_name уже handles Nominatim reverse format (PR #557)
## Проблема `deploy/import-rosreestr.sh` импортирует ДКП **без** координат — `lat/lon NULL`. Geocoding делается отдельным шагом, который тоже manual (и нет ясности — где). ## Что сделать 1. Audit: где сейчас geocode ДКП адресов (если вообще)? `grep -r "rosreestr.*geocode\|geocode.*deals" backend/` 2. Привязать к scheduler: после `rosreestr_dkp_import` (см. P0) — chained task `geocode_missing_deals` через Nominatim или Yandex Maps API. 3. Rate limit Nominatim: 1 req/s → батчи по 1000/час. 4. Backfill для существующих ~50K ДКП. ## Acceptance - `SELECT COUNT(*) FROM rosreestr_deals WHERE lat IS NULL` < 5% от total. - Новые импорты получают координаты в течение 24h. ## Refs - `extract_street_name` уже handles Nominatim reverse format (PR #557)
lekss361 added the
automation
data
scrapers
tradein
labels 2026-05-25 06:02:33 +00:00
Owner

Готово, acceptance перевыполнен.

Step 2 (#614): street-centroid join из ~8.6k геокодированных houses → 42,840 deals (86%) zero внешних вызовов.
Step 3 (#615): Nominatim/Yandex добивка остатка через geocoder.geocode (dedup по адресу, 307 distinct улиц) → ещё 6,941 deals.

Результат: deals WHERE lat IS NULL = 10 из 49,791 (0.02%) — acceptance <5% перевыполнен. /estimate Малышева 125 → actual_deals = 10 реальных ДКП (было 0).

Within 24h для новых импортов (Step 4): два cron'а — house-centroid (05:30) + Nominatim добивка (05:45), free (geocode_cache). Новые ДКП получают координаты в течение суток.

Closing.

Готово, acceptance перевыполнен. **Step 2 (#614):** street-centroid join из ~8.6k геокодированных houses → 42,840 deals (86%) zero внешних вызовов. **Step 3 (#615):** Nominatim/Yandex добивка остатка через geocoder.geocode (dedup по адресу, 307 distinct улиц) → ещё 6,941 deals. **Результат:** `deals WHERE lat IS NULL` = **10 из 49,791 (0.02%)** — acceptance <5% перевыполнен. `/estimate` Малышева 125 → actual_deals = 10 реальных ДКП (было 0). **Within 24h для новых импортов (Step 4):** два cron'а — house-centroid (05:30) + Nominatim добивка (05:45), free (geocode_cache). Новые ДКП получают координаты в течение суток. Closing.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#569
No description provided.