Estou usando o QGIS e estou procurando um script ou um plug-in que possa criar um grande número de linhas perpendiculares de uma camada de ponto a linhas em uma camada de linha separada.
Até agora, tentei usar a função Distância do Hub no MMQGIS (transformar as linhas em pontos e depois conectar os pontos ao hub mais próximo) e a respectiva ferramenta dos geoalgoritmos do QGIS. Nem funcionou. Ambos demoram mais de 2 horas e criam todas as linhas da camada ou linhas que não são perpendiculares ou conectadas aos pontos.
Na figura, você pode ver o status atual do projeto. As linhas perpendiculares devem correr dos pontos para a linha mais próxima. No final, eu gostaria de usar pontos de interseção com uma linha entre os pontos e as fronteiras do país para criar um buffer de polígonos de quatro lados com dois polígonos de profundidade. Menciono isso no caso de haver uma maneira mais fácil de fazer isso.
Eu sei que existem alguns posts sobre como criar linhas perpendiculares, mas nenhum deles resolveu meu problema.
fonte
Respostas:
O próximo script automatizou a criação de linhas perpendiculares entre uma camada de pontos e uma camada de linhas. Os segmentos perpendiculares (recursos de uma camada de memória) criados são executados desde os pontos até o recurso mais próximo da camada de linha.
Eu tentei com uma situação muito semelhante à apresentada na pergunta:
Após a execução do código no Python Console do QGIS, foi obtido:
fonte
Aqui está o mesmo código da resposta aceita, ajustado apenas para funcionar com o Python 3.x (ou QGIS v3.x):
fonte