Si está trabajando con PostGIS como back-end, podría crear una nueva columna area_auto
y crear un disparador para mantenerlo actualizado con las áreas de sus características.
Primero añada una columna a su tabla (aquí table= poly_area
, nueva columna= area_auto
)
ALTER TABLE poly_area ADD COLUMN area_auto double precision;
A continuación, rellene los polígonos existentes con sus áreas:
UPDATE poly_area SET area_auto = ST_Area(geom::geography);
(asumiendo que geom está en EPSG:4326, debe ser lanzado a geografía ).
A continuación, cree una función para actualizar la columna area_auto
:
CREATE OR REPLACE FUNCTION update_polygon_area_auto()
RETURNS TRIGGER AS $$
BEGIN
NEW.area_auto = ST_Area(NEW.geom::geography);
RETURN NEW;
END;
$$ language 'plpgsql';
Por último, cree un disparador para actualizar automáticamente area_auto
:
CREATE TRIGGER update_area_auto
BEFORE INSERT OR UPDATE
ON public.poly_area
FOR EACH ROW
EXECUTE PROCEDURE public.update_polygon_area_auto();
Ahora area_auto
se actualiza automáticamente (en metros cuadrados) cuando confirma sus cambios en QGIS. Puedes etiquetar tus características con ella, y está disponible en la tabla de atributos.