Хорошо, вот Python, который я использовал для этого:
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)
Перед запуском вышеуказанного кода:
- Выберите слой, который вы хотите редактировать;
- Переключить редактирование на;
- Выберите объекты в этом слое, которые вы хотите изменить.
Запустите приведенный выше код Python:
- Переход к плагинам> Консоль Python;
- Копирование и вставка кода в окно;
- Нажмите Enter 2x, чтобы запустить.
Он должен вывести «True» для каждой функции, направление которой было поменяно местами. Если он выдает «False», значит, он не меняет направление этой функции. Это произойдет, если на слое не будет включено редактирование.
Довольно легко!
Я обернул его в плагин под названием, Swap Line Direction
и он доступен в установщике плагина QGIS.
Этот плагин больше не доступен (по состоянию на 16.11.2015) в установщике плагинов, но вы можете довольно легко создать свой собственный с помощью плагина " Plugin Builder ".
Я посмотрю, как легко интегрироваться с fTools.