gendesign/data/sql/163_riasurt_sverdl.sql
bot-backend 31e316e04e
Some checks failed
CI / changes (push) Successful in 7s
CI / changes (pull_request) Successful in 6s
CI / frontend-tests (push) Has been cancelled
CI / openapi-codegen-check (push) Has been cancelled
CI / backend-tests (push) Has been cancelled
CI / backend-tests (pull_request) Has been cancelled
CI / frontend-tests (pull_request) Has been cancelled
CI / openapi-codegen-check (pull_request) Has been cancelled
feat(site-finder): РИАСУРТ Свердл 14-layer harvest client+schema+task for ЕКБ agglomeration (#108)
2026-06-17 21:49:04 +03:00

52 lines
3.3 KiB
PL/PgSQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 163_riasurt_sverdl.sql
-- РИАСУРТ Свердл (folderId 1224) — 14-слойный harvest по агломерации ЕКБ (#108).
-- Источник: NSPD aeggis/v4 WMS, региональный каталог РИАСУРТ Свердл. Покрывает ОКРАИНЫ
-- агломерации ЕКБ (Берёзовский, В.Пышма, Среднеуральск, Арамиль, Сысерть), НЕ ЕКБ-сити
-- (тот не интегрирован в ФГИС ТП). Foundation для multi-city scaling Site Finder.
--
-- Наполняется Celery task harvest_all_riasurt_sverdl (riasurt_sverdl_harvest.py).
-- Читается в analyze_parcel через riasurt_lookup.parcel_riasurt_overlaps (ST_Intersects).
--
-- Deploy order: apply after 162_drop_district_economics_sat_factor.sql.
-- Зависимости: PostGIS, spatial_ref_sys (МСК-66 srid=100000 заведён в 91_engineering_networks_191fz.sql).
--
-- geom — EPSG:3857 (НСПД отдаёт в Web Mercator); geom_msk66 — generated STORED ST_Transform
-- в МСК-66 (srid=100000), официальную проекцию Свердл для градостроительных документов.
BEGIN;
CREATE TABLE IF NOT EXISTS riasurt_sverdl (
id BIGSERIAL PRIMARY KEY,
-- layerId РИАСУРТ Свердл (845274 Тер.зона, 846381 Функц.зоны, 844478 КРТ, ...).
source_layer_id INTEGER NOT NULL,
-- бакет слоя для analyze-gate: 'territorial_zone' | 'functional_zone' | 'red_lines' |
-- 'szz' | 'szo' | 'flood_zone' | 'krt' | ... (см. nspd_client.riasurt_layer_topic).
layer_topic TEXT NOT NULL,
-- МО агломерации, к которому привязан harvest-проход (Берёзовский / В.Пышма / ...).
mo_name TEXT,
-- reg_numb_border / индекс зоны из properties фичи (когда есть).
obshnz TEXT,
-- человекочитаемое описание / название фичи (label / name из properties).
description TEXT,
-- сырые properties фичи WMS GetFeatureInfo — для будущего резолва без re-harvest.
raw_props JSONB NOT NULL DEFAULT '{}'::jsonb,
-- геометрия в EPSG:3857 (как отдаёт НСПД).
geom GEOMETRY(MULTIPOLYGON, 3857) NOT NULL,
-- МСК-66 (официальная проекция Свердл) — generated STORED из geom.
geom_msk66 GEOMETRY(MULTIPOLYGON, 100000)
GENERATED ALWAYS AS (ST_Transform(geom, 100000)) STORED,
fetched_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
-- GIST на обе геометрии — analyze делает ST_Intersects по geom (после трансформа участка
-- в 3857) либо по geom_msk66; индексируем обе чтобы планировщик имел выбор.
CREATE INDEX IF NOT EXISTS idx_riasurt_sverdl_geom
ON riasurt_sverdl USING GIST (geom);
CREATE INDEX IF NOT EXISTS idx_riasurt_sverdl_geom_msk66
ON riasurt_sverdl USING GIST (geom_msk66);
-- Фильтр по topic в analyze (tier / func zone / red_lines / szz / szo / flood / krt).
CREATE INDEX IF NOT EXISTS idx_riasurt_sverdl_layer_topic
ON riasurt_sverdl (layer_topic);
COMMIT;