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?

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


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


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

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
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.