J'essaie de créer des points aléatoires le long d'un fichier de formes polyligne dans QGIS. Fondamentalement, comme l'outil «points aléatoires» dans les «outils de recherche» mais pour les polylignes au lieu des polygones.
J'ai essayé de convertir le fichier de lignes en un fichier de formes de polygones, mais il remplit certaines zones avec des polygones, tandis que d'autres zones restent de longs polygones de type ligne.
Je suis assez nouveau sur QGIS et je ne connais pas vraiment le code Python.
qgis
point
line
polyline-creation
Cec.g
la source
la source
Réponses:
Ce code fonctionnera sur la dernière version de développement de QGIS.
Je sais que vous avez dit que vous ne connaissiez pas très bien le code Python, mais vous devriez pouvoir exécuter cela assez facilement. Copiez le code ci-dessus dans un fichier (le mien s'appelle
locate.py
) et placez-le dans votre~/.qgis/python
si vous êtes sur Windows 7 qui sera dansC:\Users\{your user name}\.qgis\python\
ou sur Windows XPC:\Documents and Settings\{your user name}\.qgis\python\
Une fois le fichier dans le dossier python, ouvrez QGIS et sélectionnez certains objets de ligne.
Ouvrez ensuite la console Python et exécutez le code suivant:
Le résultat devrait ressembler à ceci
Si vous souhaitez l'exécuter à nouveau, sélectionnez simplement quelques lignes supplémentaires et exécutez
locate.createRandomPoints(10)
à nouveau dans la console Python.Remarque: Locate.createRandomPoints (10) les 10 ici est le nombre de points à générer par ligne
la source
import locate
pas besoin de .py dans la console Python.Vous pouvez tamponner les polylignes (au minimum), puis exécuter l'échantillonnage sur les polygones résultants. Cela pourrait bien fonctionner par lui-même si vous n'avez pas d'autres facteurs limitatifs, par exemple. sur l'espacement inter-points minimum, la densité ou quelque chose.
Pour les cas plus compliqués, je créerais un échantillon aléatoire beaucoup plus dense, puis choisirais les points appropriés (quels qu'ils soient) dans une deuxième étape. Quelque chose de similaire pourrait être fait avec l'outil de densification, mais tous les points seraient alors sur les polylignes.
la source