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, [email protected] 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
[email protected]
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
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal

Responder a