Для этого вам необходимо: i) удалить слой из ToC, ii) переименовать файлы, которые соответствуют Shapefile (т. Е. Shp, dbf, shx, prj и т. П.), И iii) загрузить переименованный слой в QGIS. Но нам нужно автоматизировать такой рабочий процесс!
Если вы посмотрите на шаги, они похожи на то, что делает плагин Table Manager. Итак, я адаптировал код такого плагина для переименования Shapefiles, вы можете скачать его здесь .
Вы можете использовать его следующим образом (сначала попробуйте небольшой проект резервного копирования, чтобы увидеть, как он работает):
- Переименуйте ваши слои QGIS в ToC, эти новые имена будут использованы для перезаписи ваших соответствующих имен шейп-файлов.
- Сохраните ваш проект QGIS в той же папке, что и скрипт rename_shapefiles.py
- Откройте консоль QGIS Python.
Скопируйте следующий фрагмент кода:
from rename_shapes import RenameShapefiles
for lyr in iface.mapCanvas().layers():
rn = RenameShapefiles( iface, lyr )
rn.doSave()
Это оно! Я тестировал его на GNU / Linux, QGIS 2.6. Порядок слоев в ToC меняется после запуска кода.
Дайте мне знать, если у вас есть какие-либо проблемы.
Если вам нужно сохранить порядок слоев, задайте новый вопрос, возможно, я смогу посмотреть на него :).