[QGIS-pt] Função automática para devolver um dado atributo com a georeferenciação

Carlos Jacinto carlosjacinto hotmail.com
Terça-Feira, 12 de Agosto de 2014 - 08:15:47 PDT


Olá Alexandre boa tarde,

Encontro-me familiarizado com os triggers , faço uso dos mesmos para registar utilizadores que criam ou alteram registos e respectivas datas de criação e modificação.

No entanto a partir do exemplo que me indicou não consigo perceber como poderei adaptar para obter o nome da freguesia que é atributo do poligono.


Seria possível demonstrar-me como o fazer ?
 TABLE papeleira
(pap_cod integer NOT NULL ,
  pap_freg Text,
  geom geometry,)

 TABLE freguesias
(freg_cod integer NOT NULL ,
 freg_nome Text,

  geom geometry,)


Grato pela sua comprensão.
____________________________________________________________ //______________________________________________

CREATE OR REPLACE FUNCTION update_geometry_fields()<code class="sql keyword">RETURNS</code> <code class="sql keyword">trigger</code> <code class="sql keyword">AS</code>$BODY$DECLARElat_long TEXT;BEGIN-- Cálculo da área da geometriaNEW.area = st_area(NEW.geom); -- Cálculo da latitude e longitude do centroíde da geometria em graus minutos e segundoslat_long := ST_AsLatLonText(st_transform(st_centroid(NEW.geom), 4326));NEW.latitude = split_part(lat_long,' ',1);NEW.longitude = split_part(lat_long,' ',2); RETURN NEW;END;$BODY$LANGUAGE plpgsql VOLATILE


CREATE TRIGGER update_epvu_sgev_geom_fieldsBEFORE INSERT OR UPDATE OF geomON epvu.sgevFOR EACH ROWEXECUTE PROCEDURE update_geometry_fields();




















Date: Tue, 12 Aug 2014 11:14:28 +0100
From: senhor.neto  gmail.com
To: qgis-pt  lists.osgeo.org
Subject: Re: [QGIS-pt]	Função automática para devolver um dado atributo com a georeferenciação

Bom dia Carlos,
Esssa função pode ser implementada directamente no Postgis com o recurso a triggers.
Há uns tempos escrevi um post sobre como usar os triggers. Pode ser que o ajude:

http://sigsemgrilhetas.wordpress.com/2013/12/03/triggers-para-que-vos-quero/

O código do primeiro exemplo pode ser alterado de forma a fazer a intersecção entre as geometrias das tabelas que refere e  obter o nome da freguesia.

Cumprimentos,
Alexandre Neto

2014-08-12 10:18 GMT+01:00 Carlos Jacinto <carlosjacinto  hotmail.com>:




Bom dia,

Já faz algum tempo que gostaria de implementar uma função automática para devolver um dado atributo com a georeferenciação.

Ex: Tenho um projecto em qgis com dois layers. Um layer de pontos "papeleira" e um segundo layer do tipo poligonal "freguesias".


Pretendia que ao georeferenciar uma "papeleira" a coluna 'pap_freg' fosse automaticamente prenchida através de uma função de intersecção com o poligono "freguesias" e com o seu atributo 'freg_nome' correspondente.



Aqui fica a estrutura exemplificativa das tabelas:

 TABLE papeleira
(pap_cod integer NOT NULL ,
  pap_freg Text,
  geom geometry,)

 TABLE freguesias
(freg_cod integer NOT NULL ,
 freg_nome Text,

  geom geometry,)



Já realizei várias tentativas de expressões e funções mas sem sucesso, ficaria muito grato pelo vosso apoio.

Cumprimentos,

Carlos Jacinto






 		 	   		  


_______________________________________________

QGIS-pt mailing list

QGIS-pt  lists.osgeo.org

http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt





_______________________________________________
QGIS-pt mailing list
QGIS-pt  lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt 		 	   		  
-------------- próxima parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.osgeo.org/pipermail/qgis-pt/attachments/20140812/0dddac94/attachment-0001.html>


More information about the QGIS-pt mailing list