🗺️ crear base de datos

Estructura de la base

catastro_trigal

CREATE DATABASE catastro_trigal WITH ENCODING 'UTF8'; 

\c catastro_trigal;  

CREATE EXTENSION postgis;  
CREATE EXTENSION postgis_topology;  

🗺️ Integración Perfecta: Datos Alfanuméricos y Espaciales en PostGIS

Estructura de Tablas

Tabla Parcelas (Datos Espaciales)

CREATE TABLE parcelas (
    objectid SERIAL PRIMARY KEY,
    idproy INTEGER NOT NULL,
    idpol INTEGER NOT NULL,
    idpredio VARCHAR(50) UNIQUE NOT NULL,
    tipoobjeto VARCHAR(100),
    codcat VARCHAR(50),
    sup_cc DOUBLE PRECISION,
    titulo VARCHAR(255),
    fecha DATE,
    zonautm INTEGER DEFAULT 20,
    geom GEOMETRY(Polygon, 32720)
);

Tabla Alfanumérica (Datos Atributarios)

CREATE TABLE alfanumerico (
    idproy INTEGER,
    idpol INTEGER,
    codpre VARCHAR(50) NOT NULL,
    tipopred INTEGER,
    nompred VARCHAR(255),
    beneficiario TEXT,
    estado INTEGER,
    sup_pred NUMERIC(10,4),
    ubcarpeta INTEGER,
    obs TEXT,
    calificacion INTEGER,
    clasificacion INTEGER,
    objectid INTEGER,
    cuerpos INTEGER,
    fojas INTEGER,
    notatit VARCHAR(255),
    resp VARCHAR(100),
    nores VARCHAR(50),
    fechares DATE,
    norect VARCHAR(50),
    fecharect DATE
);

Migración de Datos

\copy alfanumerico FROM 'C:/import/alfanumerico.csv' CSV HEADER ENCODING 'UTF8';

Relación entre Tablas

ALTER TABLE alfanumerico 
ADD CONSTRAINT fk_parcelas 
FOREIGN KEY (codpre) 
REFERENCES parcelas(idpredio);

Crear Vista con campos Unidos

CREATE VIEW vista_catastro_completo AS SELECT p.geom, p.idpredio, a.codpre, a.nompred, a.beneficiario, a.sup_pred FROM public.parcelas p JOIN public.alfanumerico a ON p.idpredio = a.codpre;

Topología UTM Zona 20

SELECT CreateTopology('catastro_topo', 32720, 0.01);

SELECT AddTopoGeometryColumn(
    'catastro_topo',
    'public',
    'parcelas',
    'topo_geom',
    'POLYGON'
);

UPDATE parcelas 
SET topo_geom = toTopoGeom(geom, 'catastro_topo', 1);

Consulta Integrada

SELECT 
    p.idpredio,
    a.nompred,
    a.estado,
    ST_Area(p.geom) AS area_utm_m2,
    a.obs
FROM parcelas p
JOIN alfanumerico a ON p.idpredio = a.codpre
WHERE a.estado = 7;

Resultados Clave

Campo Descripción
codpre Llave de relación entre tablas
sup_cc Superficie catastral en m²
topo_geom Geometría topológica validada

📌 Recursos Adicionales

Descarga datos https://drive.google.com/file/d/14rzW0flgK0JAHNSK1uaPZSDcePfLHCGI/view?usp=drive_link
Documentación oficial: postgis.net