Ola Marco,

Para fazeres isso tens de implementar um trigger na tua base de dados.
Estes comandos deverao funcionar, apenas tens de mudar o nome dos campos:

-- Criar o trigger

CREATE OR REPLACE FUNCTION computing_area()

  RETURNS TRIGGER AS

    $BODY$

  BEGIN

      NEW.area := ROUND((st_area(NEW.geom))::numeric,2);              RETURN
NEW;

  END;

    $BODY$

LANGUAGE 'plpgsql'


-- implementar o trigger

CREATE TRIGGER calculate_area

  BEFORE INSERT OR UPDATE

  ON landplot

  FOR EACH ROW

  EXECUTE PROCEDURE computing_area();



2015-04-02 10:47 GMT+02:00 <[email protected]>:

>
> 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
>



-- 
..................................
André Mano
http://opussig.blogspot.com/
_______________________________________________
Portugal mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/portugal

Responder a