Uso o QGIS e tenho um ponto e a rede rodoviária. Preciso extrair automaticamente os nomes das estradas que incluem o ponto específico. A análise de vizinhos mais próximos e as zonas de amortecimento não podem fazer o trabalho, porque, em muitos casos, o ponto está mais próximo, por uma distância medida, das estradas vizinhas e não das estradas adjacentes. Há alguma idéia de como apenas as estradas adjacentes podem ser extraídas?
12
Respostas:
Sobre meus dados de teste:
SOLUÇÃO I
Se houver as duas suposições:
Estradas estão construindo quartos.
Você está trabalhando em um sistema métrico.
A idéia é aumentar / diminuir as coordenadas X e Y do ponto. Se você trabalha em um sistema métrico, pode ir 1 metro a leste do seu ponto, criar um novo ponto e criar uma linha com o ponto original. Você está indo para o leste até a linha cruzar uma estrada. Para procurar uma interseção no oeste, subtraia 1m da coordenada X original. O mesmo para a coordenada Y. Se não houver estrada no norte / leste / sul / oeste, o contador pára a 1000 (m). Quando você sabe que pode haver uma estrada a uma distância superior a 1000 m, você precisa alterar esse valor.
Você pode resolver a tarefa com o seguinte código:
Editado
Outro exemplo para mostrar que a estrada e no leste não é reconhecida como uma estrada próxima do ponto.
Como chamar a função e a saída:
Se houver mais de 4 estradas que cercam o ponto, você deverá procurar mais direções (altere X e Y). Ou você pode alterar o azimute da sua linha, significa que você pode girá-lo em um grau dentro do intervalo de 0 a 360 °.
SOLUÇÃO II
Inspirado no comentário, você também pode
Polygonize
rodar primeiro. Porém você pode usar uma ferramenta de QGIS:Processing > Toolbox > QGIS geoalgorithms > Vector geometry tools > Polygonize
. Renomeie a camada temporária parapolygon
. Supondo que você queira apenas ter os nomes das estradas para o ponto que está completamente fechado por estradas. Caso contrário, você tem que usar SOLUÇÃO . Isso só funciona se todas as estradas estiverem conectadas (quebradas)!Primeiro, o ponto deve se cruzar com o polígono. Agora, a idéia é que ambos, o
AND
ponto final inicial de uma linha delimitadora, cruzem com o polígono.A saída:
fonte