-- 96_ekburg_construction_permits.sql -- Issue #105 — РНС/РВЭ ЕКБ 2022-2026 (xlsx от екатеринбург.рф, Форма 3 и 4 Росстата). -- -- Источник: https://xn--80acgfbsl1azdqr.xn--p1ai/дляработы/гиз/градостроительство/разрешение -- Формат: XLSX с двумя листами: -- «реестр разрешений на строительс» — Таблица 3 (РНС) -- «реестр разрешений на ввод» — Таблица 4 (РВЭ) -- -- Refresh: monthly via tasks.ekburg_permits_sync.refresh_all -- Geocoding: raw_coord_x / raw_coord_y — местная СКФ-66 (Свердловская обл.), -- geocoded_lat / geocoded_lon заполняются отдельной задачей (Phase 3). BEGIN; CREATE TABLE IF NOT EXISTS ekburg_construction_permits ( id BIGSERIAL PRIMARY KEY, permit_type TEXT NOT NULL CHECK (permit_type IN ('RNS', 'RVE')), -- Реквизиты разрешения permit_number TEXT NOT NULL, issue_date DATE, expiry_date DATE, -- Застройщик developer_inn TEXT, developer_name TEXT, -- Объект object_name TEXT, object_type TEXT, -- из Справочника: многоквартирные жилые дома; и т.д. construction_address TEXT, cadastral_number TEXT, -- кадастровый номер ЗУ (колонка 6) -- Площади total_area_sqm NUMERIC, -- общая площадь по проекту, м² living_area_sqm NUMERIC, -- площадь жилых помещений по проекту, м² living_area_fact_sqm NUMERIC, -- площадь жилых помещений фактически (только РВЭ) -- Координаты (местная СКФ-66 Свердловской обл. — CRS TBD Phase 3) raw_coord_x TEXT, raw_coord_y TEXT, -- РВЭ-специфичные поля rve_number TEXT, -- номер разрешения на ввод rve_date DATE, -- дата разрешения на ввод -- Геокодирование (Phase 3) geocoded_lat NUMERIC, geocoded_lon NUMERIC, geom GEOMETRY(POINT, 4326), -- Метаданные загрузки source_year INT NOT NULL, source_url TEXT, raw_row JSONB, fetched_at TIMESTAMPTZ DEFAULT NOW(), UNIQUE (permit_type, permit_number) ); CREATE INDEX IF NOT EXISTS gist_ekburg_permits_geom ON ekburg_construction_permits USING GIST (geom); CREATE INDEX IF NOT EXISTS idx_ekburg_permits_issue_date ON ekburg_construction_permits (issue_date); CREATE INDEX IF NOT EXISTS idx_ekburg_permits_developer ON ekburg_construction_permits (developer_inn); CREATE INDEX IF NOT EXISTS idx_ekburg_permits_year ON ekburg_construction_permits (source_year); CREATE INDEX IF NOT EXISTS idx_ekburg_permits_type_year ON ekburg_construction_permits (permit_type, source_year); COMMENT ON TABLE ekburg_construction_permits IS 'РНС/РВЭ ЕКБ 2022-2026 (Форма 3/4 Росстата). ' 'Source: екатеринбург.рф xlsx. Refresh: monthly via tasks/ekburg_permits_sync. ' 'Координаты raw_coord_x/y в местной СКФ-66 (CRS TBD). ' 'Геокодирование через Nominatim — Phase 3 (отдельный PR).'; COMMENT ON COLUMN ekburg_construction_permits.raw_coord_x IS 'X-координата характерной точки ЗУ (местная система координат СКФ-66 / СНСК-66).'; COMMENT ON COLUMN ekburg_construction_permits.raw_coord_y IS 'Y-координата характерной точки ЗУ (местная система координат СКФ-66 / СНСК-66).'; COMMENT ON COLUMN ekburg_construction_permits.living_area_fact_sqm IS 'Заполняется только для РВЭ (Таблица 4, колонка 15).'; COMMIT;