J'utilise QGIS et je recherche un script, ou un plugin, qui peut créer un grand nombre de lignes perpendiculaires d'une couche de points aux lignes d'une couche de lignes distinctes.
Jusqu'à présent, j'ai essayé d'utiliser la fonction Hub Distance dans MMQGIS (transformer les lignes en points puis connecter les points au hub le plus proche) et l'outil respectif des géoalgorithmes QGIS. Aucun n'a fonctionné. Les deux prennent plus de 2 heures et créent soit des lignes de tout le calque, soit des lignes qui ne sont pas perpendiculaires ou connectées aux points.
Dans l'image, vous pouvez voir l'état actuel du projet. Les lignes perpendiculaires doivent aller des points à la ligne la plus proche. En fin de compte, je voudrais utiliser des points d'intersection avec une ligne entre les points et les frontières du pays pour créer un tampon de polygones à 4 côtés de deux polygones de profondeur. Je mentionne cela au cas où il existe un moyen plus simple de le faire.
Je sais qu'il existe des articles sur la façon de créer des lignes perpendiculaires, mais aucun d'eux n'a résolu mon problème.
la source
Réponses:
Le script suivant a automatisé la création de lignes perpendiculaires entre une couche de points et une couche de lignes. Les segments perpendiculaires (caractéristiques d'une couche de mémoire) créés vont des points à la caractéristique la plus proche de la couche de ligne.
Je l'ai essayé avec une situation très similaire à celle présentée dans la question:
Après avoir exécuté le code sur la console Python de QGIS, il a été obtenu:
la source
Voici le même code que dans la réponse acceptée, ajusté uniquement pour fonctionner avec Python 3.x (ou QGIS v3.x):
la source