Como amortecer uma linha com distâncias diferentes para os lados esquerdo / direito

14

Como posso armazenar em buffer uma linha no QGIS usando um atributo para o lado esquerdo da linha e um atributo para o lado direito da linha? Estou tentando proteger um rio com sua largura de margem, que é diferente no lado direito e esquerdo.

Olga
fonte
você tentou usar o buffer JTS do QGIS? lin-ear-th-inking.blogspot.it/2010/11/…
julien

Respostas:

8

Definir o lado de uma linha é bastante direto em um superfície orientável , que é um plano 2D em um SIG. Se você definir um ponto inicial e final para uma linha, poderá definir sem ambiguidade os lados "esquerdo" e "direito". Este é o caso, mesmo que a linha se cruze.

Do ponto de vista mais prático, o fluxo de trabalho simples para criar um buffer unilateral inclui um buffer padrão, uma operação de diferença e, em seguida, uma operação de recorte. Aqui está um exemplo.

Comece criando um polígono que inclua ou se sobreponha precisamente à sua linha. Para que o buffer fique do lado direito da sua linha, o interior do polígono deve estar do lado esquerdo. Observe que, se a sua linha se cruzar, isso não funcionará como desejado, e talvez você precise desenhar o polígono para que não se cruze nem com sua linha. Aplique a operação de buffer neste polígono. Usando o plugin fTools, acesse Ferramentas de Geoprocessamento> Buffer.

Polígono

Usando a operação de diferença, Ferramentas de Geoprocessamento> Diferença, com o buffer como camada de entrada e o polígono original como camada de diferença, cortam o interior. Agora você tem um buffer do lado direito.

Polígono em buffer

Tudo o que resta é cortar a parte "extra" do polígono. Ferramentas de geoprocessamento> Clipe.

Clipe de polígono Linha final

katahdin
fonte
1

Essa é uma pergunta muito interessante, que eu acredito que não é trivial de resolver. Me deparei com um script para ArcMap que fornece uma solução muito bem documentada, abrangendo 500 linhas de código VB. No entanto, não conheço um script ou módulo equivalente no QGIS.

Uma das principais considerações em um buffer assimétrico será a direção do fluxo da linha, para que você possa definir os lados esquerdo e direito. No caso de rios, deve ser fácil calcular se você tem um DEM que o acompanha.

Pode ser possível criar um script qgis em torno da lógica desse script, mas isso exigiria uma quantidade extensa de trabalho.

lamentar
fonte
1
No ArcMap, isso é muito fácil de conseguir. Na caixa de diálogo da ferramenta, você tem o parâmetro Side Typeque pode ser esquerdo ou direito. E você tem o parâmetro Field. Portanto, o script dessa ferramenta permite que você use valores diferentes para ambos. Eu fiz apenas recentemente este (ver a minha pergunta aqui )
LarsVegas