Ok aquí está el Python que utilicé para hacerlo:
layer = qgis.utils.iface.mapCanvas().currentLayer()
for feature in layer.selectedFeatures():
geom = feature.geometry()
nodes = geom.asPolyline()
nodes.reverse()
newgeom = QgsGeometry.fromPolyline(nodes)
layer.changeGeometry(feature.id(),newgeom)
Antes de ejecutar el código anterior:
- Seleccione la capa que desea editar;
- Activar la edición;
- Seleccione las características de esta capa que desee invertir.
Ejecuta el código python anterior por:
- Ir a Plugins > Consola de Python;
- Copiar y pegar el código en la ventana;
- Pulsa Enter 2 veces para ejecutar.
Debería salir "True" para cada característica cuya dirección fue intercambiada. Si la salida es "False", entonces no se ha intercambiado la dirección de esa característica. Esto ocurrirá si la capa no tiene activada la edición.
Bastante fácil.
Lo he envuelto en un plugin llamado Swap Line Direction
y está disponible en el instalador de plugins de QGIS.
Este plugin ya no está disponible (a partir del 16/11/2015) en el instalador de plugins, pero puedes construir el tuyo propio de forma bastante sencilla con el " Constructor de plugins ".
Voy a echar un vistazo a la facilidad de integración con fTools.
4 votos
Sería estupendo tenerlo. No conozco ninguna función nativa de QGIS de este tipo.
4 votos
Tengo una buena idea de cómo puedo hacer esto con bastante facilidad, voy a ver si puedo azotar algo esta noche.
1 votos
Genial. Quizás se pueda añadir a la caja de herramientas ftools/vector.
2 votos
Dado que ya tienes el núcleo resuelto, ¿hay alguna posibilidad de que quieras abordar esta cuestión, pero para QGIS? gis.stackexchange.com/questions/9286/ resources.arcgis.com/content/kbase?fa=articleShow&d=20961
2 votos
Aquí está el billete: hub.qgis.org/issues/4936