В gendesign-БД есть cad_buildings — ~36к зданий ЕКБ с годом постройки и этажностью (Росреестр). Подключаем как ПРИОРИТЕТНЫЙ источник обогащения house_metadata, OSM Overpass остаётся fallback-ом. - data/sql/006_cad_buildings.sql — таблица cad_buildings в tradein-БД. - deploy/import-cadastre.sh — ETL: ЕКБ-срез cad_buildings из gendesign-postgres → tradein (по образцу import-rosreestr.sh). - house_metadata._cad_buildings_get — lookup по гео-близости (60 м), проверяется ПЕРВЫМ в get_house_metadata, до OSM. cad_buildings — кадастр ЗДАНИЙ, не квартир: поле ручного ввода кадастра (исходная идея #393) не делаем — гео-обогащение полезнее и работает автоматически для каждой оценки. Closes #393
34 lines
1.7 KiB
PL/PgSQL
34 lines
1.7 KiB
PL/PgSQL
-- Trade-In MVP — кадастр зданий ЕКБ (#393).
|
|
-- Срез cad_buildings из gendesign-БД (данные Росреестра по зданиям),
|
|
-- импортируется ETL-ом deploy/import-cadastre.sh.
|
|
-- Основной источник обогащения house_metadata (год / этажность) —
|
|
-- данные точнее и полнее, чем OSM Overpass.
|
|
|
|
BEGIN;
|
|
|
|
CREATE TABLE IF NOT EXISTS cad_buildings (
|
|
cad_num text PRIMARY KEY, -- кадастровый номер здания, 66:41:...
|
|
address text,
|
|
floors int,
|
|
year_built int,
|
|
area_m2 numeric(12, 2), -- площадь здания (не квартиры)
|
|
purpose text, -- Жилое / Нежилое / Многоквартирный дом
|
|
lat double precision,
|
|
lon double precision,
|
|
geom geometry(Point, 4326),
|
|
imported_at timestamptz NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS cad_buildings_geom_idx ON cad_buildings USING GIST (geom);
|
|
|
|
-- Авто-update geom из (lat, lon) — переиспользуем функцию из 002_core_tables.sql.
|
|
DROP TRIGGER IF EXISTS cad_buildings_set_geom_trg ON cad_buildings;
|
|
CREATE TRIGGER cad_buildings_set_geom_trg
|
|
BEFORE INSERT OR UPDATE OF lat, lon ON cad_buildings
|
|
FOR EACH ROW EXECUTE FUNCTION listings_set_geom();
|
|
|
|
COMMENT ON TABLE cad_buildings IS
|
|
'#393 — кадастр зданий ЕКБ (срез cad_buildings из gendesign-БД). '
|
|
'Приоритетный источник обогащения house_metadata: год постройки / этажность.';
|
|
|
|
COMMIT;
|