Boa tarde.
Trabalho com postgres 1.18.1 e qgis. 2.12.0
Se por um lado o Qgis proporciona um ambiente amigável no que concerne a relações de 1 para n através da possibilidade de estabelecer relações, julgo que o mesmo não se pode dizer em relações de n para n.
Caso prático de trabalho, Gestão de Campanhas de Limpeza Urbana baseada nos eixo de via.
Os eixos de via podem ao longo do tempo ser alvo de várias campanhas de limpeza.
-
Tenho uma tabela (Eixos_Via) as t1 possui a geometria. ( t1.ort_cod, t1.rvt_cod , t1.rvt_rvv_nome , t1.rvt_rvv_dominio , t1.geom )
-
Tenho uma tabela (Limpeza_Rua) as t2 possui os registos e atributos característicos da limpeza realizada. ( t2.rls_cod, t2.rls_ort_cod , t2.rls_campanha , t2.rls_data , t2.rls_semana , t2.rls_user, t2.rls_dat )
No qgis adiciono as tabelas (Eixos_Via) e (Limpeza_Rua).
De seguida vou às propriedades do projecto e crio uma relação baseada na chave estrangeira no caso t1.ort_cod com t2.rls_ort_cod .
A relação fica estabelecida.
Se eu for editar um eixo de via posso recorrer ao formulário da relação e acrescentar registos.
Ex: o Eixo_Via 1 além de ter associado o rls_ort_cod 10 passa a conter o rls_ort_cod 11 após gravar.
No entanto eu não pretendo fazer edição eixo a eixo !!!
O que pretendo é seleccionar num conjunto vasto de eixos e atribuir uma data de nova limpeza.
O problema que se coloca é da impossibilidade de fazer insert à tabela (Limpeza_Rua) as t2.
Alguma sugestão por parte da comunidade.
Cumprimentos,
Carlos Jacinto
Olá bom dia,
No entanto eu não pretendo fazer edição eixo a eixo !!!!!!!!!!!!!!
O que pretendo é seleccionar num conjunto vasto de eixos e atribuir uma
data de nova limpeza.
O problema que se coloca é da impossibilidade de fazer insert à tabela
(Limpeza_Rua) as t2.
Não se percebi bem a questão, mas se sim então acho que não há problemas:
se a tabela t2 é editavel (por exemplo se for PostgreSQL) então no
QGIS se podem usar edit widgets (como value relation, value map,
date/time) para facilitar o preenchimento da mesma, incluído
obviamente a coluna que define a relação (por exemplo o ID que
identifica os eixos de via em t1). Desta forma se podem facilmente e
rapidamente introduzir eventos em t2 que sejam imediatamente
relacionados com t1.
cumprimentos
--
Giovanni Manghi
http://naturalgis.pt/
giovanni.manghi@naturalgis.pt
* WebGIS development
* QGIS/PostGIS Training
* QGIS Support and Consulting
* QGIS development
Google+/Hangouts: giovanni.manghi@gmail.com
Giovanni is QGIS main tester and active member of its development team
--
Bom dia Carlos,
Essa é uma funcionalidade que ainda não existe no QGIS, mas muito útil.
Em tempos fiz um plugin para a minha empresa que fazia isso para duas tabelas específicas. Ainda pensei em transformá-lo para ser mais genérico, mas acabei por não ter tempo (nem necessidade) de o fazer. Mas é possível fazer-se, e nem sequer requer muitas horas de desenvolvimento.
Cumprimentos,
Alexandre
Giovanni Manghi <giovanni.manghi@gmail.com> escreveu no dia qui, 26/11/2015 às 10:23:
Olá bom dia,
No entanto eu não pretendo fazer edição eixo a eixo !!!
O que pretendo é seleccionar num conjunto vasto de eixos e atribuir uma
data de nova limpeza.
O problema que se coloca é da impossibilidade de fazer insert à tabela
(Limpeza_Rua) as t2.
Não se percebi bem a questão, mas se sim então acho que não há problemas:
se a tabela t2 é editavel (por exemplo se for PostgreSQL) então no
QGIS se podem usar edit widgets (como value relation, value map,
date/time) para facilitar o preenchimento da mesma, incluído
obviamente a coluna que define a relação (por exemplo o ID que
identifica os eixos de via em t1). Desta forma se podem facilmente e
rapidamente introduzir eventos em t2 que sejam imediatamente
relacionados com t1.
cumprimentos
–
Giovanni Manghi
http://naturalgis.pt/
giovanni.manghi@naturalgis.pt
- WebGIS development
- QGIS/PostGIS Training
- QGIS Support and Consulting
- QGIS development
Google+/Hangouts: giovanni.manghi@gmail.com
Giovanni is QGIS main tester and active member of its development team
–
QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-pt
–
Alexandre Neto
http://gisunchained.wordpress.com
Boa tarde a todos e obrigado pelo feedback.
Em especial ao Alexandre obrigado pelo esclarecimento acerca da inexistência da funcionalidade.
Também creio que seria muito importante podermos contar com uma ferramenta/pluggin que nos possibilitasse trabalhar em relações de N: N tendo em conta que estas são muito frequentes.
Ainda não me aventurei na programação de plugin´s pelo que o meu contributo para o desenvolvimento desta ferramenta na sua fase de construção seria no mínimo embaraçosa.
Assim sendo Alexandre apenas me posso permitir lançar aqui no nosso espaço de partilha o repto para o desenvolvimento da plugin.
Cumprimentos,
Carlos Jacinto
From: senhor.neto@gmail.com
Date: Thu, 26 Nov 2015 11:43:44 +0000
Subject: Re: [QGIS-pt] Como Lidar com Relações de N:N
To: qgis-pt@lists.osgeo.org; carlosjacinto@hotmail.com
Bom dia Carlos,
Essa é uma funcionalidade que ainda não existe no QGIS, mas muito útil.
Em tempos fiz um plugin para a minha empresa que fazia isso para duas tabelas específicas. Ainda pensei em transformá-lo para ser mais genérico, mas acabei por não ter tempo (nem necessidade) de o fazer. Mas é possível fazer-se, e nem sequer requer muitas horas de desenvolvimento.
Cumprimentos,
Alexandre
Giovanni Manghi <giovanni.manghi@gmail.com> escreveu no dia qui, 26/11/2015 às 10:23:
Olá bom dia,
No entanto eu não pretendo fazer edição eixo a eixo !!!
O que pretendo é seleccionar num conjunto vasto de eixos e atribuir uma
data de nova limpeza.
O problema que se coloca é da impossibilidade de fazer insert à tabela
(Limpeza_Rua) as t2.
Não se percebi bem a questão, mas se sim então acho que não há problemas:
se a tabela t2 é editavel (por exemplo se for PostgreSQL) então no
QGIS se podem usar edit widgets (como value relation, value map,
date/time) para facilitar o preenchimento da mesma, incluído
obviamente a coluna que define a relação (por exemplo o ID que
identifica os eixos de via em t1). Desta forma se podem facilmente e
rapidamente introduzir eventos em t2 que sejam imediatamente
relacionados com t1.
cumprimentos
–
Giovanni Manghi
http://naturalgis.pt/
giovanni.manghi@naturalgis.pt
- WebGIS development
- QGIS/PostGIS Training
- QGIS Support and Consulting
- QGIS development
Google+/Hangouts: giovanni.manghi@gmail.com
Giovanni is QGIS main tester and active member of its development team
–
QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-pt
–
Alexandre Neto
http://gisunchained.wordpress.com
Olá,
Também creio que seria muito importante podermos contar com uma
ferramenta/pluggin que nos possibilitasse trabalhar em relações de N: N
tendo em conta que estas são muito frequentes.
acho que este é um overstatement.
é obviamente possível trabalhar com relações n:n, o que acabamos de saber é que
para este caso de uso especifico ainda não há uma solução em qgis core
ou como plugin,
e considerado o numero de utilizadores QGIS que há aparentemente então
não é um caso de
uso assim comum como se poderia pensar.
Acontece de frequente a mim também, sinto falta de alguma coisa e
depois descubro que sou o único
o quase. Neste casos a coisa certa para fazer é fazer (programar) ou
suportar o desenvolvimento. Ou senão
obviamente ficar a espera que alguém o faça.
Assim sendo Alexandre apenas me posso permitir lançar aqui no nosso espaço
de partilha o repto para o desenvolvimento da plugin.
Mas Alexandre precisa de dar de comer ao seu filho
Ou é mesmo sugestão que trabalhe de borla?
just jocking!
cumprimentos
--
Giovanni Manghi
http://naturalgis.pt/
giovanni.manghi@naturalgis.pt
* WebGIS development
* QGIS/PostGIS Training
* QGIS Support and Consulting
* QGIS development
Google+/Hangouts: giovanni.manghi@gmail.com
Giovanni is QGIS main tester and active member of its development team
--
Boa tarde Carlos,
Como não tenho tido necessidade de usar essa funcionalidade, acabo por deixá-la para 2º plano em relação a outros projectos pessoais nos quais tenho mais interesse. De qualquer forma, o que já fiz tinha feito está disponível no meu github:
https://github.com/SrNetoChan/RelationReplicator
Não me recordo em que estado é que o plugin estava e se estava sequer funcional. O que estava funcional, para a versão de QGIS da altura, era o seguinte:
https://github.com/SrNetoChan/RelationReplicator
Cumprimentos,
Alexandre Neto
Giovanni Manghi <giovanni.manghi@gmail.com> escreveu no dia qui, 26/11/2015 às 13:05:
Olá,
Também creio que seria muito importante podermos contar com uma
ferramenta/pluggin que nos possibilitasse trabalhar em relações de N: N
tendo em conta que estas são muito frequentes.
acho que este é um overstatement.
é obviamente possível trabalhar com relações n:n, o que acabamos de saber é que
para este caso de uso especifico ainda não há uma solução em qgis core
ou como plugin,
e considerado o numero de utilizadores QGIS que há aparentemente então
não é um caso de
uso assim comum como se poderia pensar.
Acontece de frequente a mim também, sinto falta de alguma coisa e
depois descubro que sou o único
o quase. Neste casos a coisa certa para fazer é fazer (programar) ou
suportar o desenvolvimento. Ou senão
obviamente ficar a espera que alguém o faça.
Assim sendo Alexandre apenas me posso permitir lançar aqui no nosso espaço
de partilha o repto para o desenvolvimento da plugin.
Mas Alexandre precisa de dar de comer ao seu filho
Ou é mesmo sugestão que trabalhe de borla?
just jocking!
cumprimentos
–
Giovanni Manghi
http://naturalgis.pt/
giovanni.manghi@naturalgis.pt
- WebGIS development
- QGIS/PostGIS Training
- QGIS Support and Consulting
- QGIS development
Google+/Hangouts: giovanni.manghi@gmail.com
Giovanni is QGIS main tester and active member of its development team
–
QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-pt
–
Alexandre Neto
http://gisunchained.wordpress.com