-- 167_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;