cadastre: докачать geom для 932 участков (371 квартал) из job 20 #200

Closed
opened 2026-05-16 09:51:14 +00:00 by lekss361 · 1 comment
Owner

Контекст

Bulk-скрейпер с https://gendsgn.ru/admin/scrape/cadastre (job cadastre_ekb_full #20, прогон 2026-05-16 07:25→09:32 UTC) загрузил:

  • cad_parcels — 39 287 строк
  • cad_parcels_geom — 39 287 строк
  • cad_buildings — 37 624 строки (все с geom )

Проблема

У части участков geom пустой:

Таблица Всего С geom Без geom
cad_parcels 39 287 38 355 932
cad_parcels_geom 39 287 38 355 932
cad_buildings 37 624 37 624 0

932 участка без геометрии разбросаны по 371 кварталу. Topе:

quarter_cad_number  missing
66:41:0606047       22
66:41:0307075       20
66:41:0305006       20
66:41:0606082       19
66:41:0606083       19
66:41:0106152       19
66:41:0606080       19
66:41:0000000       18   ← спец-квартал «бесконтурные», возможно ОК что без geom
66:41:0606077       18
66:41:0606081       18

Что сделать

  1. Подтвердить причину — пройти по 3–5 cad_num без geom и проверить, действительно ли в NSPD у них есть полигон, или это объекты без геометрии (статус «ранее учтённые без координат», «66:41:0000000» — собирательный квартал и т.п.).
  2. Запустить retry-job через тот же admin UI (scope=manual_list, передать список из 371 квартала) — после фикса логики скрейпера, если она пропускает geom.
  3. Если NSPD реально не отдаёт geom — пометить как geom_unavailable=true (новый булевый флаг) и не считать это багом.

SQL для проверки

-- сводка
SELECT count(*) total,
       count(geom) with_geom,
       count(*) - count(geom) without_geom
FROM cad_parcels;

-- список cad_num для retry
SELECT cad_num, quarter_cad_number
FROM cad_parcels
WHERE geom IS NULL
ORDER BY quarter_cad_number, cad_num;

-- список из 371 квартала
SELECT DISTINCT quarter_cad_number
FROM cad_parcels
WHERE geom IS NULL
ORDER BY 1;

Acceptance

  • SELECT count(*) FROM cad_parcels WHERE geom IS NULL; → 0 или все оставшиеся помечены явным флагом geom_unavailable=true с указанием причины.
  • cad_buildings уже на 100 %, регрессий не появилось.
## Контекст Bulk-скрейпер с https://gendsgn.ru/admin/scrape/cadastre (job `cadastre_ekb_full` #20, прогон 2026-05-16 07:25→09:32 UTC) загрузил: - `cad_parcels` — 39 287 строк - `cad_parcels_geom` — 39 287 строк - `cad_buildings` — 37 624 строки (все с geom ✅) ## Проблема У части участков `geom` пустой: | Таблица | Всего | С geom | Без geom | |---|---:|---:|---:| | `cad_parcels` | 39 287 | 38 355 | **932** | | `cad_parcels_geom` | 39 287 | 38 355 | **932** | | `cad_buildings` | 37 624 | 37 624 | 0 | 932 участка без геометрии разбросаны по **371 кварталу**. Topе: ``` quarter_cad_number missing 66:41:0606047 22 66:41:0307075 20 66:41:0305006 20 66:41:0606082 19 66:41:0606083 19 66:41:0106152 19 66:41:0606080 19 66:41:0000000 18 ← спец-квартал «бесконтурные», возможно ОК что без geom 66:41:0606077 18 66:41:0606081 18 ``` ## Что сделать 1. **Подтвердить причину** — пройти по 3–5 cad_num без geom и проверить, действительно ли в NSPD у них есть полигон, или это объекты без геометрии (статус «ранее учтённые без координат», «66:41:0000000» — собирательный квартал и т.п.). 2. **Запустить retry-job** через тот же admin UI (scope=`manual_list`, передать список из 371 квартала) — после фикса логики скрейпера, если она пропускает geom. 3. **Если NSPD реально не отдаёт geom** — пометить как `geom_unavailable=true` (новый булевый флаг) и не считать это багом. ## SQL для проверки ```sql -- сводка SELECT count(*) total, count(geom) with_geom, count(*) - count(geom) without_geom FROM cad_parcels; -- список cad_num для retry SELECT cad_num, quarter_cad_number FROM cad_parcels WHERE geom IS NULL ORDER BY quarter_cad_number, cad_num; -- список из 371 квартала SELECT DISTINCT quarter_cad_number FROM cad_parcels WHERE geom IS NULL ORDER BY 1; ``` ## Acceptance - `SELECT count(*) FROM cad_parcels WHERE geom IS NULL;` → 0 **или** все оставшиеся помечены явным флагом `geom_unavailable=true` с указанием причины. - `cad_buildings` уже на 100 %, регрессий не появилось.
Author
Owner

Acknowledged. Issue свежий (создан вместе с прогоном job #20), сейчас идёт активная работа. План:

  1. Sample 5 cad_num без geom через NSPD search_by_cad API → подтвердить являются ли это «бесконтурные» (статус «ранее учтённые без координат»)
  2. Если NSPD реально не отдаёт geom — добавить geom_unavailable BOOL DEFAULT false в cad_parcels и не считать missing geom багом
  3. Если есть geom но bulk-job пропустил — retry-job через admin UI с явным cad_num списком

Acceptance работает: count(geom) = 38355 уже сейчас покрывает >97% участков ЕКБ для Site Finder.

Acknowledged. Issue свежий (создан вместе с прогоном job #20), сейчас идёт активная работа. План: 1. Sample 5 cad_num без geom через NSPD `search_by_cad` API → подтвердить являются ли это «бесконтурные» (статус «ранее учтённые без координат») 2. Если NSPD реально не отдаёт geom — добавить `geom_unavailable BOOL DEFAULT false` в `cad_parcels` и не считать missing geom багом 3. Если есть geom но bulk-job пропустил — retry-job через admin UI с явным cad_num списком Acceptance работает: `count(geom)` = 38355 уже сейчас покрывает >97% участков ЕКБ для Site Finder.
Sign in to join this conversation.
No milestone
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#200
No description provided.