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.
14
Respostas:
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.
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.
Tudo o que resta é cortar a parte "extra" do polígono. Ferramentas de geoprocessamento> Clipe.
fonte
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.
fonte
Side Type
que pode ser esquerdo ou direito. E você tem o parâmetroField
. Portanto, o script dessa ferramenta permite que você use valores diferentes para ambos. Eu fiz apenas recentemente este (ver a minha pergunta aqui )