Criando linhas paralelas a uma distância específica das linhas que fazem parte de um shapefile

11

Estou usando o QGIS 2.18. Eu tenho shapefile que contém várias linhas. Após o processamento de certos dados, preciso desenhar linhas paralelas a diferentes distâncias das linhas existentes. Por exemplo, eu tenho 32 linhas no shapefile existente. Quero desenhar linhas paralelas a uma distância de 50, 100, 170, 500.400 a partir da linha ID no. 3, 6,20,25,31 de uma só vez. Existe algum método ou plugin no QGIS para fazer o mesmo?

Jitendra
fonte

Respostas:

6

Você pode usar o plug-in QAD , que oferece comandos do tipo CAD no QGIS.

Ele funciona apenas com os sistemas de coordenadas projetadas (portanto, é necessário projetar seus dados antes de usá-los) e com o modo de edição ativado (clique com o botão direito do mouse na camada e selecione Toggle Editing).

Para o seu caso, você precisa clicar no botão Deslocamento :

insira a descrição da imagem aqui

e siga as instruções que aparecerão na janela de texto QAD (exatamente como no AutoCAD):

insira a descrição da imagem aqui

Por exemplo, esta é a saída ao usar um deslocamento diferente para dois recursos diferentes:

insira a descrição da imagem aqui

mgri
fonte
Obrigado pela sua resposta. Existe algum outro método ou plugin para executar esta tarefa sem projetar dados?
Jitendra
Usei uma abordagem com dados projetados, pois parecia que você estava lidando com medidores ( distâncias de 50, 100, 170, 500.400 .. ). Alterar a projeção é muito simples: clique com o botão direito do mouse na camada Save ase, finalmente, selecione um Sistema de coordenadas projetadas. Depois de executar o deslocamento, você poderá voltar ao Sistema de Coordenadas Geográficas com a operação reversa ... Deve estar correto.
MGRI
Sem projetar os dados, você precisa lidar com ângulos em vez de metros e eu não sei se ela se torna mais fácil para você ...
MGRI
A ferramenta QAD está funcionando bem. Mas eu tenho que repetir a tarefa para todas as linhas no shapefile manualmente. Existe algum método para ler line_ID e a distância para linha lida da tabela de atributos ou arquivo exel ou CSV automaticamente e desenhar todas as linhas paralelas simultaneamente.
Jitendra
Não conheço uma ferramenta que execute essa tarefa, mas posso tentar fornecer uma solução usando o PyQGIS ... Isso poderia ser do seu interesse?
MGRI
6

Se você tiver uma coluna em sua tabela de atributos que especifique a distância entre as linhas paralelas, o método a seguir poderá fazê-lo de uma só vez -

Você pode usar o Single sided buffers (and offset lines) for linesalgoritmo abaixo GDAL/OGR > [OGR] Geoprocessingna caixa de ferramentas Processamento. Você precisará definir a Operação como curva de deslocamento e inserir o nome da coluna que contém a distância em Distância do buffer (no meu caso, o nome da coluna é largura ). Além disso, você pode definir de que lado da linha a linha paralela deve ser desenhada selecionando o lado do buffer como direita ou esquerda.

insira a descrição da imagem aqui

nash
fonte
Obrigado pela resposta. Estou usando a ferramenta OGR conforme sua sugestão, mas nada foi mostrado no novo shapefile de saída.
Jitendra
Você pode compartilhar o sistema de projeção em que está o seu arquivo de formas? As capturas de tela da tabela de atributos da camada de saída podem ser úteis.
nash 28/02
O sistema de projeção do shapefile é EPSG 4326
Jitendra
Então você entender que as novas linhas são criadas a uma distância de 50100170500 e 400, que está nos graus de unidade e não metros (que eu estou supondo que você quer?)
Nash
Supondo que você deseja a distância em metros - você teria que converter seu arquivo de forma em um sistema de projeção com unidades em metros (por exemplo, um sistema de projeção UTM da zona aplicável). Em seguida, execute o algoritmo.
Nash 28/02
6

Você pode usar "v.parallel"; pode encontrar esta ferramenta na caixa de ferramentas de processamento do QGIS.

  1. Selecione a linha com o ID da linha no. 3, 6,20,25,31 Selecionar linhas

  2. Use "v.parallel", crie uma linha paralela a partir das linhas selecionadas. Mas você precisa fazer várias vezes para produzir diferentes distâncias de deslocamento (50, 100, 170, 500.400). Existe uma opção "Side", você pode atribuir a localização das linhas paralelas. "v.parallel"

  3. Resultado: linhas paralelas (cor azul) no lado esquerdo das linhas selecionadas resultado
Cy T
fonte
Obrigado Cy Y pela resposta. Eu usei o comando v.parallel, mas nada foi mostrado no novo shapefile de saída.
Jitendra
11
p / s: o comando "v.parallel" funciona apenas com linhas curvas, não pode funcionar com linhas retas que possuem apenas dois vértices.
Cy T