[Portugal] Criar coluna calcule a área em PostGIS automaticamente
Jorge Gustavo Rocha
jgr di.uminho.pt
Quinta-Feira, 2 de Abril de 2015 - 01:57:34 PDT
Olá Nuno,
Tens que criar, na base de dados, um trigger que é despoletado sempre
que houver uma alteração da geometria. O triiger em si, chama uma
função, pelo que tens algo do género:
CREATE TRIGGER actualiza_parcela
BEFORE INSERT OR UPDATE
ON "Parcela"
FOR EACH ROW
EXECUTE PROCEDURE calcula_dados_parcela();
CREATE OR REPLACE FUNCTION calcula_dados_parcela()
RETURNS TRIGGER AS
$BODY$
BEGIN
NEW.AreaHectares := st_area(NEW.geom)/10000;
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
Bom trabalho,
J. Gustavo
On 02-04-2015 09:47, nmrcortes gmail.com wrote:
>
> Quero criar uma coluna numa tabela (polígono) no PostGIS que calcule a
> área automaticamente e que a mantenha actualizada sempre que se altere a
> geometria do polígono no Qgis.
>
> Com o seguinte SQL:
> UPDATE "Parcela" SET AreaHectares=ST_AREA(geom)/10000;
> FROM
> "Parcela"
>
> Faz a actualização da área mas tenho que fazer o Update sempre que
> altero a geometria.
> Há alguma forma de fazer isto automaticamente?
>
> Obrigado
> Nuno Cortês
>
>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>
J. Gustavo
--
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor
More information about the Portugal
mailing list