Conseguindo buffers de linha Flat-End no QGIS?


14

Preciso fazer buffer de uma série de linhas em 40m, no entanto, só quero que o buffer saia pelos lados e não por ambos os lados da linha.

Eu sei que no ArcGIS existe uma caixa de seleção "plana" que alcança exatamente isso, no entanto, infelizmente, não posso usar o ArcGIS no momento.

Existe alguma maneira de conseguir isso no QGIS?

Examinei algumas das soluções, mas devido à escala dos meus conjuntos de dados (redes rodoviárias nacionais), nenhum dos que encontrei até agora é viável.


Não sei o que formatar os dados é, mas parece que você pode ser capaz de fazê-lo através de declaração PostGIS, gis.stackexchange.com/questions/1197/...
artwork21

Respostas:


12

Se você usar a ferramenta v.buffer nos Grass Commandsconjuntos de ferramentas, poderá criar um buffer simples.

Existem duas caixas de opções v.buffer Se você Make outside corners straightdefiniu como Noe Don't make caps at the ends of polylinescomo Yes, o resultado deve ser semelhante ao buffer de borda reta do ArcMap.

A seguir, são apresentadas as três combinações das duas caixas de seleção acima, observe a combinação binária no nome da camada (0 = não, 1 = sim). resultados de v.buffer

Você provavelmente também deve executar um fixador / limpador de topologia antes, a ferramenta Grass tende a retornar resultados engraçados se a topologia não for perfeita


Excelente, isso é exatamente o que eu precisava, não tinha idéia do QGIS ter esses comandos do GRASS esquecidos. Obrigado gentilmente.
Rfreeman92 #

NB: Existe alguma maneira de garantir que os buffers criados sejam polígonos individuais e não sejam dissolvidos em um polígono gigante?
Rfreeman92 #

Também estou interessado em obter polígonos individuais e não um polígono dissolvido. Isso é possível?
user32882

3

O OpenJUMP pode não ser adequado a você, porque todos os dados devem caber na memória, mas com jre de 64 bits, o limite é bastante alto. Mais importante, pode.

insira a descrição da imagem aqui


1
A ferramenta de buffer do OpenJUMP conseguiu isso melhor do que o QGIS ou Esri!
sirgeo

Apenas agradecendo por me apresentar um software que parece ser muito mais rápido em muitos desses algoritmos fundamentais! : D
jhc 27/11/2015

0

Parece que o mesmo resultado pode ser alcançado diretamente com o ST_Buffer()uso de uma tampa de extremidade plana com uma junção redonda, da seguinte maneira:

ST_Buffer(linestring_geom,<buffer_radius>,'endcap=flat join=round')
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.