Eu já vi muitas perguntas envolvendo dividir uma linha com a ajuda de uma camada de pontos.
Eu quero dividir uma linha em frações do seu comprimento.
Por exemplo, tenho uma linha de 400
metros, quero dividi-la em quatro linhas de 100 metros cada.
Existe o módulo grass v.split
, mas recebo uma mensagem de erro quando inicio na caixa de ferramentas qgis:
*"TypeError: object of type 'NoneType' has no len()"*
Portanto, não tenho certeza se vou fazê-lo funcionar, se isso seria uma solução.
qgis
line
digitizing
Gilles
fonte
fonte
Respostas:
A função v.split.length do GRASS deve fazer exatamente o que você deseja dividindo a linha em segmentos iguais definidos pelo usuário sem a necessidade de uma camada de pontos. Aqui está um exemplo simples de uma linha reta (também funciona em linhas não retas e múltiplas):
Eu adicionei uma coluna para calcular seu comprimento usando
$length
na expressão:Usando a função v.split.length do GRASS por meio da Processing Toolbox , escolhi dividir a linha em segmentos de 25m, o que deve totalizar 4 partes:
Atualizei a coluna Comprimento da camada de saída e usei o mesmo comando acima para recalcular o comprimento:
Não sabe ao certo por que está recebendo o erro, você pode compartilhar sua camada de linha para que as pessoas testem?
fonte
Vamos supor que haja uma camada de polilinha chamada
"lines"
.Eu posso sugerir o uso de uma "Camada Virtual" através
Layer > Add Layer > Add/Edit Virtual Layer...
Existem vários casos possíveis:
Caso 1. Dividindo a linha em segmentos iguais, basicamente o mesmo comprimento, definido pelo usuário.
Com a seguinte consulta, é possível alcançar o resultado. Para aumentar / diminuir o comprimento do segmento, ajuste o
1000 AS step_length
pol-- configurations
.A camada virtual de saída terá a seguinte aparência
Nota: Se 'delta' (por exemplo, o último segmento mais curto) não devem ser incluídos, em seguida, inserir
WHERE sec_length >= step_length
em-- query
, veja abaixoCaso 2. Dividindo a linha em um certo número de segmentos
Com a seguinte consulta, é possível alcançar o resultado. Para aumentar / diminuir o número de segmentos, ajuste o
8 AS sections
pol-- configurations
.A camada virtual de saída terá a seguinte aparência
fonte