Estou tentando criar pontos aleatórios ao longo de um shapefile de polilinha no QGIS. Basicamente, como a ferramenta 'pontos aleatórios' em 'ferramentas de pesquisa', mas para polilinhas em vez de polígonos.
Tentei converter o arquivo de linha em um shapefile de polígono, mas ele preenche algumas áreas com polígonos, enquanto outras áreas permanecem polígonos do tipo linha longa.
Eu sou muito novo no QGIS e não estou muito familiarizado com o código Python.
qgis
point
line
polyline-creation
Cec.g
fonte
fonte
Respostas:
Esse código funcionará na última versão do QGIS para desenvolvedores.
Eu sei que você disse que não está muito familiarizado com o código Python, mas deve ser capaz de executar isso com bastante facilidade. Copie o código acima em um arquivo (o meu é chamado
locate.py
) e coloque-o no seu~/.qgis/python
se você estiver no Windows 7 que estaráC:\Users\{your user name}\.qgis\python\
no Windows XPC:\Documents and Settings\{your user name}\.qgis\python\
Quando o arquivo estiver na pasta python, abra o QGIS e selecione alguns objetos de linha.
Em seguida, abra o console do Python e execute o seguinte código:
O resultado deve ser algo como isto
Se você deseja executá-lo novamente, basta selecionar mais algumas linhas e executar
locate.createRandomPoints(10)
no console Python novamente.Nota: localize.createRandomPoints (10), o 10 aqui é o número de pontos a serem gerados por linha
fonte
import locate
o .py no console do Python?Você pode armazenar em buffer as polilinhas (minimamente) e executar a amostragem nos polígonos resultantes. Poderia funcionar bem por si só se você não tiver outros fatores limitantes, por exemplo. espaçamento mínimo entre pontos, densidade ou algo assim.
Para casos mais complicados, eu criaria uma amostra aleatória muito mais densa e depois selecionaria pontos apropriados (o que quer que fosse) em uma segunda etapa. Algo semelhante poderia ser feito com a ferramenta densify, mas todos os pontos estariam nas polilinhas.
fonte