Estoy usando QGIS y estoy buscando un script, o un complemento, que pueda crear una gran cantidad de líneas perpendiculares desde una capa de puntos a líneas en una capa de línea separada.
Hasta ahora, he intentado utilizar la función Distancia de eje en MMQGIS (convirtiendo las líneas en puntos y luego conectando los puntos al centro más cercano) y la herramienta respectiva de los geoalgoritmos de QGIS. Ninguno funcionó. Ambos tardan más de 2 horas y crean líneas en todas las capas o líneas que no son perpendiculares o conectadas a los puntos.
En la imagen, puede ver el estado actual del proyecto. Las líneas perpendiculares deben correr desde los puntos hasta la línea más cercana. Al final, me gustaría usar puntos de intersección con una línea entre los puntos y las fronteras del país para crear un búfer de polígonos de 4 lados que tenga dos polígonos de profundidad. Menciono esto en caso de que haya una manera más fácil de hacerlo.
Sé que hay algunas publicaciones sobre cómo crear líneas perpendiculares, pero ninguna de ellas resolvió mi problema.
fuente
Respuestas:
Siguiente script creación automatizada de líneas perpendiculares entre una capa de puntos y una capa de línea. Los segmentos perpendiculares (entidades de una capa de memoria) creados se ejecutan desde los puntos hasta la entidad más cercana de la capa de línea.
Lo probé con una situación muy similar a la presentada en la pregunta:
Después de ejecutar el código en la Consola Python de QGIS, se obtuvo:
fuente
Aquí está el mismo código que en la respuesta aceptada, solo ajustado para funcionar con Python 3.x (o QGIS v3.x):
fuente