[QGIS-pt] Contruir uma "network" de rios

Boa tarde.

Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster.
As shapefiles que consigo não são más (um pequeno extracto está anexado), mas o problema é que estão divididos em muitas "lines" separadas. Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma "polyline". Queria também juntar cada rio com os seus afluentes numa "network". Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo "merge" as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos,
Pedro

TestData.zip (24.5 KB)

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas "lines" separadas

  Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma "polyline". Queria também juntar cada rio com os seus afluentes numa "network". Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo "merge" as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos

Boas

Já tentaste usar a network de rios fornecida pelos dados do Open Street Maps?

···

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Com os melhores cumprimentos,
Vinicius Silva

Olá Pedro,

Podes facilmente obter o que pretendes utilizando o processing do QGIS com o SAGA instalado.
Procura pela ferramenta Line Dissolve no processing toolbox. A única coisa que tens que fazer antes é criar um campo na shapefile que indique quais geometrias unir. Imagina que tens 3 linhas separadas (geometrias individuais) e que queres juntar 2 delas. A tua tabela de atributos deveria então estar construida da seguinte forma:

···

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Hugo Martins

Pequena correcção,

utilizando a tabela que coloquei anteriormente estarias a juntar as geometrias geom1 e geom3 (olha para o campo uniao)

Abc,

···

No dia 16 de janeiro de 2015 às 14:57, Hugo <hfpmartins@gmail.com> escreveu:

Olá Pedro,

Podes facilmente obter o que pretendes utilizando o processing do QGIS com o SAGA instalado.
Procura pela ferramenta Line Dissolve no processing toolbox. A única coisa que tens que fazer antes é criar um campo na shapefile que indique quais geometrias unir. Imagina que tens 3 linhas separadas (geometrias individuais) e que queres juntar 2 delas. A tua tabela de atributos deveria então estar construida da seguinte forma:

| GID | GEOM | Uniao |

| 1 | geom1 | 1 |
| 2 | geom2 | 2 |

| 3 | geom3 | 1 |

Com esta tabela iria juntar as geometrias geom1 e geom2 em uma unica.

Cumprimentos,

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Hugo Martins

Hugo Martins

Olá Hugo,

Muito obrigado pela resposta pronta. Na verdade eu já tinha encontrado esta solução, mas o meu problema é precisamente a definição de quais as linhas a “dissolver” (tenho cerca de 20 000 segmentos…). Eu estava à procura de uma forma de identificar as linhas que estão juntas espacialmente (uma termina onde começa a outra) para fazer isto.

Já ouvi falar que há uma forma de conseguir isto com o GRASS, mas não consegui encontrar uma explicação prática.

Cumps,
Pedro

···

On 2015/01/16 15:59, Hugo wrote:

Pequena correcção,

utilizando a tabela que coloquei anteriormente estarias a juntar as geometrias geom1 e geom3 (olha para o campo uniao)

Abc,

No dia 16 de janeiro de 2015 às 14:57, Hugo <hfpmartins@gmail.com> escreveu:

Olá Pedro,

Podes facilmente obter o que pretendes utilizando o processing do QGIS com o SAGA instalado.
Procura pela ferramenta Line Dissolve no processing toolbox. A única coisa que tens que fazer antes é criar um campo na shapefile que indique quais geometrias unir. Imagina que tens 3 linhas separadas (geometrias individuais) e que queres juntar 2 delas. A tua tabela de atributos deveria então estar construida da seguinte forma:

| GID | GEOM | Uniao |

| 1 | geom1 | 1 |
| 2 | geom2 | 2 |

| 3 | geom3 | 1 |

Com esta tabela iria juntar as geometrias geom1 e geom2 em uma unica.

Cumprimentos,

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Hugo Martins

Hugo Martins

_______________________________________________
QGIS-pt mailing list
[QGIS-pt@lists.osgeo.org](mailto:QGIS-pt@lists.osgeo.org)
[http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt](http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt)

Obrigado,
Já olhei para ela sim, mas não tem o que eu preciso.

Pedro

···

On 2015/01/16 15:54, Vinicius Silva wrote:

Boas

Já tentaste usar a network de rios fornecida pelos dados do Open Street Maps?

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Com os melhores cumprimentos,
Vinicius Silva

_______________________________________________
QGIS-pt mailing list
[QGIS-pt@lists.osgeo.org](mailto:QGIS-pt@lists.osgeo.org)
[http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt](http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt)

Assumo que tenhas as linhas geo-referenciadas, já experimentaste o spatial join?

https://www.youtube.com/watch?v=Ok7zqCmkHXo

···

No dia 16 de janeiro de 2015 às 21:38, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Obrigado,
Já olhei para ela sim, mas não tem o que eu preciso.

Pedro

On 2015/01/16 15:54, Vinicius Silva wrote:

Boas

Já tentaste usar a network de rios fornecida pelos dados do Open Street Maps?

_______________________________________________
QGIS-pt mailing list
[QGIS-pt@lists.osgeo.org](mailto:QGIS-pt@lists.osgeo.org)
[http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt](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

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Com os melhores cumprimentos,
Vinicius Silva

Com os melhores cumprimentos,
Vinicius Silva

Extraia os nós das linhas, assim conseguirá ver o inicio e fim de cada uma delas

···

Em 16 de janeiro de 2015 21:11, Vinicius Silva <x3msnake@gmail.com> escreveu:

Assumo que tenhas as linhas geo-referenciadas, já experimentaste o spatial join?

https://www.youtube.com/watch?v=Ok7zqCmkHXo


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

No dia 16 de janeiro de 2015 às 21:38, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Obrigado,
Já olhei para ela sim, mas não tem o que eu preciso.

Pedro

On 2015/01/16 15:54, Vinicius Silva wrote:

Boas

Já tentaste usar a network de rios fornecida pelos dados do Open Street Maps?

_______________________________________________
QGIS-pt mailing list
[QGIS-pt@lists.osgeo.org](mailto:QGIS-pt@lists.osgeo.org)
[http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt](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

Com os melhores cumprimentos,
Vinicius Silva

No dia 16 de janeiro de 2015 às 14:50, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Boa tarde. Tenho estado a capturar informação sobre alguns rios a partir da vectorização de mapas em raster. As shapefiles que consigo não são más, mas o problema é que estão divididos em muitas “lines” separadas

Ando à procura de um processo de juntar as diferentes linhas, de forma a que cada rio, e cada afluente, seja uma “polyline”. Queria também juntar cada rio com os seus afluentes numa “network”. Tentei vários processos, usando sobretudo as ferramentas do GRASS, mas não consigo “merge” as diferentes linhas numa só.

Agradeço se alguém tiver ideias de como fazer isto.

Cumprimentos, Pedro
PS: Posso mandar um exemplo da shapefile, mas acho que o servidor do grupo não permite anexos


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Com os melhores cumprimentos,
Vinicius Silva

Daniel Bruno da Silva Triumpho
Graduando em Geografia
Universidade Federal de Viçosa
(31)86673323

Boa tarde Pedro,

Se entendo bem, o objectivo é criar uma rede consistente, onde cada segmento se encontra quebrado nas intersecções, é isso?

Então a minha sugestão é juntar todos os segmentos num só com o “Merge selected features” do QGIS (layer em edição, seleccionas todos os segmentos e fazes o merge).

Depois carregas a layer no GRASS e, em princípio, durante o import, o GRASS logo te faz a correcção topológica que pretendes. Para teres a certeza, corres o v.clean.break: http://grass.osgeo.org/grass65/manuals/v.clean.html

Vê o resultado deste processo na shape de teste que disponibilizaste (em anexo). Estes dados são de Angola (Lunda Norte)?

Abraço,

Pedro Venâncio

TestData_Break.zip (18.5 KB)

Obrigado Pedro.

Vou tentar essa ideia, sim. Depois informo o resultado. São dados parciais de Angola, sim.

Abraço,

Pedro
On 2015/01/17 16:20, Pedro Venâncio wrote:

Boa tarde Pedro,

Se entendo bem, o objectivo é criar uma rede consistente, onde cada segmento se encontra quebrado nas intersecções, é isso?

Então a minha sugestão é juntar todos os segmentos num só com o "Merge selected features" do QGIS (layer em edição, seleccionas todos os segmentos e fazes o merge).

Depois carregas a layer no GRASS e, em princípio, durante o import, o GRASS logo te faz a correcção topológica que pretendes. Para teres a certeza, corres o v.clean.break: http://grass.osgeo.org/grass65/manuals/v.clean.html

Vê o resultado deste processo na shape de teste que disponibilizaste (em anexo). Estes dados são de Angola (Lunda Norte)?

Abraço,
Pedro Venâncio

Bom trabalho Master!

···

No dia 18 de janeiro de 2015 às 11:55, Pedro de Barros <pedrocontebarros@gmail.com> escreveu:

Obrigado Pedro.

Vou tentar essa ideia, sim. Depois informo o resultado. São dados parciais de Angola, sim.

Abraço,

Pedro

On 2015/01/17 16:20, Pedro Venâncio wrote:

Boa tarde Pedro,

Se entendo bem, o objectivo é criar uma rede consistente, onde cada segmento se encontra quebrado nas intersecções, é isso?

Então a minha sugestão é juntar todos os segmentos num só com o “Merge selected features” do QGIS (layer em edição, seleccionas todos os segmentos e fazes o merge).

Depois carregas a layer no GRASS e, em princípio, durante o import, o GRASS logo te faz a correcção topológica que pretendes. Para teres a certeza, corres o v.clean.break: http://grass.osgeo.org/grass65/manuals/v.clean.html

Vê o resultado deste processo na shape de teste que disponibilizaste (em anexo). Estes dados são de Angola (Lunda Norte)?

Abraço,
Pedro Venâncio


QGIS-pt mailing list
QGIS-pt@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/qgis-pt

Com os melhores cumprimentos,
Vinicius Silva