[Portugal] Criar coluna calcule a área em PostGIS automaticamente

Marco Afonso mafonso333 gmail.com
Quinta-Feira, 2 de Abril de 2015 - 04:46:59 PDT


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 <nmrcortes  live.com.pt>
escreveu:

>  Obrigado a Todos
>
> Já esta a funcionar.
>
> Abraço
> Nuno Cortês
>
> Enviado de Correio do Windows
>
> *De:* Andre Mano <andre.s.mano  gmail.com>
> *Enviada:* ‎quinta-feira‎, ‎2‎ de ‎abril‎ de ‎2015 ‎09‎:‎58
> *Para:* portugal  lists.osgeo.org
>
> 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 <nmrcortes  gmail.com>:
>
>>
>> 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
>>
>
>
>
> --
> ..................................
> André Mano
> http://opussig.blogspot.com/
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal
>



-- 
Regards,
Marco Afonso
http://goo.gl/ZDtQjm
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.osgeo.org/pipermail/portugal/attachments/20150402/8f87ac9f/attachment-0001.html>


More information about the Portugal mailing list