Outra solução é usar Views. Cria uma View que faça os calculos e depois em vez de fazeres SELECT à tabela, fazes SELECT à View.
Na definição da View: SELECT ST_AREA(geom)/10000 as areahectares FROM Parcela; Através do PgAdmin é facil criar uma View. No dia 2 de abril de 2015 às 12:15, Nuno Cortês <[email protected]> escreveu: > Obrigado a Todos > > Já esta a funcionar. > > Abraço > Nuno Cortês > > Enviado de Correio do Windows > > *De:* Andre Mano <[email protected]> > *Enviada:* quinta-feira, 2 de abril de 2015 09:58 > *Para:* [email protected] > > 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 > -- Regards, Marco Afonso http://goo.gl/ZDtQjm
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
