Recortando vetor usando vetor

1,291 views
Skip to first unread message

Andrè Bossan

unread,
Jan 21, 2012, 11:30:30 AM1/21/12
to
Caros,

Tenho a seguinte situa��o:

Dois vetoriais compostos por centenas de pol�gonos com geometrias e
tamanhos variados, sendo um deles referente �s �reas
urbanizadas/antropizadas na bacia do reservat�rio Guarapiranga em 2006 e
outro com as mesmas caracter�sticas, exceto por ser referente ao ano 2011.

Preciso subtrair as geometrias de 2006 das de 2011, de modo a obter um
novo vetorial mostrando apenas as �reas que foram
urbanizadas/antropizadas entre 2006 e 2011.

Tentei fazer isso no Spring, que conhe�o melhor. Por�m fica invi�vel,
porque a m�scara de recorte n�o pode ser configurada para todos os
pol�gonos ao mesmo tempo. Ou seja, preciso repetir a opera��o centenas
de vezes.

Algu�m a� conhece uma ferramenta que simplifique essa opera��o?

Abra�os a todos!

Andr�.


Ander

unread,
Jan 22, 2012, 4:41:37 PM1/22/12
to qgisb...@googlegroups.com
Andre,
Pelo que entendi, eu começaria com um Intersection, não resolveria?
--
 
Anderson Roberto da Silva
Engenheiro Cartógrafo
Analista de Cartografia - Battistella Florestal




Pedro Celestino Dantas

unread,
Jan 23, 2012, 6:10:42 AM1/23/12
to qgisb...@googlegroups.com
Na tabela de atributos tem como vc diferenciar o que é de 2006 e os de 2011? Se sim vá na tabela de atributos e em "buscar por", selecione  o campo onde encontra-se a referência 2006 e clic em buscar. Você vai observar que os polígonos de 2006 estarão selecionado. Copie a seleção, crie um novo shape de polígonos e cole.

Acho que vai resolver seu pró.


--
Pedro Junior
Geógrafo - CREA/RN: 2107854874
Mestrando em Engenharia Sanitária e Ambiental
Analista de Regulação em Saneamento Básico II - ARSBAN
Telefones de Contato
(84) 3232-3395 Trab. - 8817-2927(Oi) e 9671-1277(Tim) Cel.

Respeite o ciclista.
Uma bike a mais, um carro a menos.
..... __@
...._ \ >_
...(_)/ (_)____________________________________
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\__


Andrè Bossan

unread,
Jan 23, 2012, 7:26:28 PM1/23/12
to qgisb...@googlegroups.com
Na verdade, trata-se de dois layers diferentes. Seriam protanto duas tabelas diferentes. Oq eu pretendo é recortar 2006 sobre 2011 e ficar com o que sobrar dessa subtração: a diferença de 2006 para 2011.

Andrè.
--
---
Você recebeu esta mensagem do Grupo "QGISBrasil"
Para postar neste grupo, envie um e-mail para qgisb...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail paragisbrasi...@googlegroups.com
Para ver mais opções, visite este grupo em
http://groups.google.com/group/qgisbrasil?hl=pt?hl=pt-BR

Hebert Guilherme de Azevedo

unread,
Jan 23, 2012, 8:41:17 PM1/23/12
to qgisb...@googlegroups.com
use a ferramenta vetor> ferramentas de geoprocessamento> cortar

Em 23/01/12, Andrè Bossan<andrep...@gmail.com> escreveu:


> Na verdade, trata-se de dois layers diferentes. Seriam protanto duas
> tabelas diferentes. Oq eu pretendo é recortar 2006 sobre 2011 e ficar
> com o que sobrar dessa subtração: a diferença de 2006 para 2011.
>
> Andrè.
>
> Em 23/1/2012 09:10, Pedro Celestino Dantas escreveu:
>> Na tabela de atributos tem como vc diferenciar o que é de 2006 e os de
>> 2011? Se sim vá na tabela de atributos e em "buscar por", selecione o
>> campo onde encontra-se a referência 2006 e clic em buscar. Você vai
>> observar que os polígonos de 2006 estarão selecionado. Copie a
>> seleção, crie um novo shape de polígonos e cole.
>>
>> Acho que vai resolver seu pró.
>>
>>
>> --
>> Pedro Junior
>> Geógrafo - CREA/RN: 2107854874
>> Mestrando em Engenharia Sanitária e Ambiental
>> Analista de Regulação em Saneamento Básico II - ARSBAN
>> Telefones de Contato
>> (84) 3232-3395 Trab. - 8817-2927(Oi) e 9671-1277(Tim) Cel.
>>

>> /Respeite o ciclista./
>> /Uma bike a mais, um carro a menos.
>> /..... __@


>> ...._ \ >_
>> ...(_)/ (_)____________________________________
>> ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░\__
>>
>>
>> --
>> ---
>> Você recebeu esta mensagem do Grupo "QGISBrasil"
>> Para postar neste grupo, envie um e-mail para qgisb...@googlegroups.com
>> Para cancelar a sua inscrição neste grupo, envie um e-mail
>> paragisbrasi...@googlegroups.com
>> Para ver mais opções, visite este grupo em
>> http://groups.google.com/group/qgisbrasil?hl=pt?hl=pt-BR
>
> --
> ---
> Você recebeu esta mensagem do Grupo "QGISBrasil"
> Para postar neste grupo, envie um e-mail para qgisb...@googlegroups.com
> Para cancelar a sua inscrição neste grupo, envie um e-mail
> paragisbrasi...@googlegroups.com
> Para ver mais opções, visite este grupo em
> http://groups.google.com/group/qgisbrasil?hl=pt?hl=pt-BR
>


--
Hebert Guilherme de Azevedo
(21) 7573-5705 - Claro
(21) 8358-8507 - Tim


lattes: http://lattes.cnpq.br/6582724988395217

Andrè Bossan

unread,
Jan 23, 2012, 8:49:58 PM1/23/12
to qgisb...@googlegroups.com
Parece mais adequado, vou tentar.

Obrigado a todos pela ajuda!

Andrè.

Andrè Bossan

unread,
Jan 24, 2012, 10:28:54 PM1/24/12
to qgisb...@googlegroups.com
Herbert,

Com certeza essa seria a ferramenta, mas também testei a opção
"diferença". O problema é que os recortes não funcionam. A maior parte
da área de interesse não fou devidamente recortada.

O que você acha disso?

Andrè.

Em 23/1/2012 23:41, Hebert Guilherme de Azevedo escreveu:

Ander

unread,
Jan 25, 2012, 5:47:13 AM1/25/12
to qgisb...@googlegroups.com
Andre,

Acho que pode ser um bug no QGis, pois já tive problemas com esta ferramenta uma vez, e no ArcGis funcionou como devia. Tente usar a mesma ferramenta num outro software, gvSig por exemplo, pra verificar.
Até

Hebert Azevedo

unread,
Jan 25, 2012, 9:03:41 AM1/25/12
to qgisb...@googlegroups.com
Andrè

fiz um teste hipotético criando três shapes. Usei a ferramenta
diferença. Veja se é isto que precisa, considerando B como 2006 e A como
2011. Tenha cuidado para, na hora de iniciar o processamento setar a
camada de origem como A, ou seja 2011 e de diferença como B, ou seja 2006.

Att

--
Hebert Guilherme de Azevedo

Geógrafo - Analista de Geoprocessamento

(21) 7573-5705 - Claro
(21) 8358-8507 - TIM

C.V http://lattes.cnpq.br/6582724988395217

TESTE_DIFERENCA.shx
A.shp
A.shx
B.dbf
B.prj
B.qpj
B.shp
TESTE_DIFERENCA.dbf
TESTE_DIFERENCA.prj
TESTE_DIFERENCA.qpj
TESTE_DIFERENCA.shp
B.shx
A.dbf
A.prj
A.qpj

Andrè Bossan

unread,
Jan 25, 2012, 2:03:40 PM1/25/12
to qgisb...@googlegroups.com
NA verdade, eu também testei no gvSIG e o resultado é semelhante, faltam pedaços no resultado.. No Spring também há uma ferramenta de recorte boa, mas impraticável para esse meu problema, porque não pode ser aplicada ao conjunto dos polígonos, mas apenas a um de cada vez...

Detalhe ínfimo, mas definitivo. Uma pena.

Enfim, caso os senhores tenham contato com os desenvolvedores, façam a gentileza de informar esse pequeno problema.

PORÉM... como sempre tem um porém, pergunto: o problema poderia ser talvez resolvido usando algum outro formato que não .shp? Há algum formato próprio do Qgis? Isso, quem sabe, facilitaria o recorte. É um chute, mas... há formatos menos sujeitos a distorções.

Andrè.

Hebert Azevedo

unread,
Jan 25, 2012, 2:18:20 PM1/25/12
to qgisb...@googlegroups.com
Eu ainda não compreendi o por que do resultado não estar correto, veja se compreendi bem o seu problema:

Você tem um conjunto de 2006 - que ocupas certas áreas X
Outro de 2011, que ocupas as áreas X+Y

Você quer que o software retorne as áreas Y

Então o que você quer (meio pensando na teoria dos conjuntos) é onde não há interseção entre 2011 e 2006. Essa função deveria ser feita pela ferramenta diferença, que você aponta que não o fez de maneira correta... o que ela não fez de correto? Áreas que deveriam ser recortadas, ou seja, existem em 2011, mas não em 2006, não o foram? Será que não há problemas de topologia nos dados? Se quiser mandar uma amostra onde você identificou o erro para que possa fazer testes poderia lhe dar uma posição mais clara.

Att
-- 
Hebert Guilherme de Azevedo
Geógrafo - Analista de Geoprocessamento

(21) 7573-5705 - Claro
(21) 8358-8507 - TIM

C.V http://lattes.cnpq.br/6582724988395217

Andrè Bossan

unread,
Jan 25, 2012, 2:48:11 PM1/25/12
to qgisb...@googlegroups.com
Perfeito, Herbert, é isso mesmo. Esqueci de mencionar que no final do processo o Qgis aponta um erro, relativo a "defeitos" no src das camadas. Vou enviar os dois shapes, ok? Estou anexando duas print da situação no Qgis, a primeira mostrando a mensagem de erro e a segunda, como ficou o recorte. Observe que o laranja, respectivo ao recorte resultante, não recobre inteiramente o shape de 2011, como deveria.:



Andrè Bossan

unread,
Jan 25, 2012, 2:57:16 PM1/25/12
to qgisb...@googlegroups.com
Aliás... problemas com topologia podem ter sido gerados na fonte, certo?
Acho que vou retornar ao Spring e refazer a poligonização para depois exportar novamente como shape. Veremos se resolve.

Caso não se resolvam, que ferramentas no Qgis posso usar para refazer a poligonização?

Andrè.


Em 25/1/2012 17:18, Hebert Azevedo escreveu:

Ander

unread,
Jan 25, 2012, 3:42:53 PM1/25/12
to qgisb...@googlegroups.com
Andre,

Anexe os shapefiles para que eu possa testar aqui, ok?

Andrè Bossan

unread,
Jan 25, 2012, 4:11:03 PM1/25/12
to qgisb...@googlegroups.com
Ok,

Já enviei os dois para seu eMail.

Aproveito para comentar o seguinte:

Exitem áreas que apesar de estarem sob influência antrópica em 2006, não são assim representadas na imagem correspondente a 2011. Achei isto bastante estranho, não é o que eu esperaria. Naturalmente essas áreas ficam "furadas" na sobreposição dos shapes. Poderia ser essa uma causa da falha no recorte?

Andrè.

Hebert Azevedo

unread,
Jan 26, 2012, 8:57:10 AM1/26/12
to qgisb...@googlegroups.com
Andre,

pelo que comentou acho que o problema pode estar no SRC mesmo. Os dois tem o seu SRC definido? Estão no mesmo, ou se sobrepõem na tela "on the fly". Acredito que o método que o QGIS use seja topológico, comparando as informações das geometrias (numericamente e não a partir da visualização), se na fonte destas o SRC não está definido, ou se são diferentes, acredito possa gerar problema. Se puder mandar o shapes fica mais fácil avaliar.

Att

Ander

unread,
Jan 26, 2012, 2:16:05 PM1/26/12
to qgisb...@googlegroups.com
Fiz uns testes rápidos aqui, tanto no QGis (1.7.0) quanto no ArcGis (9.3), e em ambos usei a função diferença simétrica.
Resultados:
  • QGis: também apareceu erro de crs, mas gerou a diferença. O erro não está na projeção, pois não estava habilitado a opção "on the fly". Verifiquei a geometria e apareceu vários erros, logo, deve ser por isso o erro (geometria);
  • ArcGis: gerou sem problemas, mas não verifiquei a geometria.

Apesar de usar a mesma função, o resultado foi diferente. Acredito que no QGis não crie polígonos com geometria inválida, ao contrário do ArcGis, que gerou polígonos que o QGis entende como erro (na opção de validação de geometria).

Anexei os shapefiles dos resultados.

Andre, acredito que se validar a geometria, não deva aparecer os erros.

dif_simetrica.rar

Andrè Bossan

unread,
Jan 26, 2012, 4:18:05 PM1/26/12
to qgisb...@googlegroups.com
Obrigado, Anderson.

Comento ainda o seguinte:

Esses shapes foram gerados no Spring, à partir de PI temático vetorizado. Depois que vocês comentaram a possibilidade de erro de geometria, voltei ao spring, tratei o vetor com edição vetorial ajustando e poligonizando novamente. Em seguida exportei o vetor como shape e retomei a operação com eles no Qgis. Infelizmente, o problema continua. Vou tentar validar a geometria no Qgis.

Obs: Tenho trabalhado até aqui com SRC "on the fly", mas todos os shapes tem o mesmo src, SAD69. Isso pode interferir de alguma forma?

Andrè.

Andrè Bossan

unread,
Jan 26, 2012, 5:11:05 PM1/26/12
to qgisb...@googlegroups.com
Pois é...

Eu sei como verificar a validade, mas não como consertar os erros.

Como os shapes em questão foram gerados no Spring, voltei a ele e refiz ajustes e poligonização, para depois exportar novamente os .shp. Devo dizer que a quantidade de erros diminuiu pela metade. mas ainda existem e o problema continua.


Andrè.

Em 26/1/2012 17:16, Ander escreveu:

Andrè Bossan

unread,
Jan 26, 2012, 5:46:00 PM1/26/12
to qgisb...@googlegroups.com
Ainda sobre geometria:

Refazendo a validação aqui, descobri que há (pelo que mostra) apenas UMA feição com problemas. Isso faz sentido? Detectei a feição 3, no shape G_2011 com 104 erros.

Há algum dispositivo para eliminação desses erros?

Obs: O Qgis acabou de sofrer uma parada. Não conseguiu fornecer informação sobre a tal feição, seu processamento falhou e fechou o programa.


Andrè.

Em 26/1/2012 17:16, Ander escreveu:

Hebert Azevedo

unread,
Jan 27, 2012, 11:52:35 AM1/27/12
to qgisb...@googlegroups.com
Andrè,

o qgis não conta com uma correção automática para erros topológicos. Tentei rodar aqui e também apontou este erro. Como é em apenas uma feição você pode separá-la, converter para linha, editar em separado, validar a topologia, converter para polígono e tornar a adicioná-la ao seu shape original. Se fosse em um número grande de feições poderíamos pensar em uma solução via GRASS, mas acho que para o teu caso este é o caminho mais fácil.

Sidney - Geosaber

unread,
Jan 27, 2012, 12:15:33 PM1/27/12
to qgisbrasil
Desculpe a intromissão, mas será que se você converte-se os dois
vetores para um banco SpatiaLite não resolveria esse problema de
topologia? Me disseram que usando a ferramenta OGR2OGR do FWTools
também conserta shapefiles com problemas de topologia, você converte
de shape para shape pela ferramenta e ela acaba arrumando os defeitos.
Não testei nenhum dos dois casos, mas pode ser um caminho se as coisas
estiverem difíceis.

Andrè Bossan

unread,
Jan 27, 2012, 1:26:08 PM1/27/12
to qgisb...@googlegroups.com
Boa pedida, Sidney,

Vou verificar.

Contudo, estou come�ando a crer que � a ferramenta que n�o consegue
resolver o problema. Acho dif�cil que apenas uma fei��o crie tal
dificuldade. Inclusive porque os problemas descritos se referem a
intersep��o de linhas da pr�pria fei��o. Duvido que isso impe�a o
recorte. Mas... posso estar errado.

Andr�.


Em 27/1/2012 15:15, Sidney - Geosaber escreveu:
> Desculpe a intromiss�o, mas ser� que se voc� converte-se os dois
> vetores para um banco SpatiaLite n�o resolveria esse problema de


> topologia? Me disseram que usando a ferramenta OGR2OGR do FWTools

> tamb�m conserta shapefiles com problemas de topologia, voc� converte


> de shape para shape pela ferramenta e ela acaba arrumando os defeitos.

> N�o testei nenhum dos dois casos, mas pode ser um caminho se as coisas
> estiverem dif�ceis.
>

Reply all
Reply to author
Forward
0 new messages