Командная строка

В состав платформы геообработки входит удобный инструмент, позволяющий запускать алгоритмы без обращения к панели инструментов, путём ввода имени алгоритма.

Этот инструмент называется командной строкой и является простым полем ввода с поддержкой автодополнения. В нём и набирается команда, которую необходимо запустить.

Figure SEXTANTE 28:

../../../_images/commander1.png

Командная строка win

Командная строка открывается из меню Анализ -> Командная строка или, что быстрее, по нажатию Shift + Ctrl + M (комбинацию клавиш по умолчанию можно изменить в окне настроек комбинаций клавиш). Помимо выполнения алгоритмов платформы геообработки, командная строка предоставляет доступ практический всему функционалу QGIS, и, таким образом, даёт эффективный инструмент выполнения различных операций с минимальным использованием кнопок и системы меню.

Кроме того, командная строка может настраиваться и поддерживает пользовательские команды. Это делает её можным инструментом и повышает производительность вашей работы в QGIS.

Доступные команды

Команды, доступные из командной строки делятся на следующие группы:

  • алгоритмы платформы. Они отображаются как SEXTANTE algorithm: <имя алгоритма>.

  • Элементы меню. Отображаются как Menu item: <название элемента>. Доступны все пукты меню QGIS, включая вложенные.

  • Функции Python. Вы можете создавать свои собственные функции на Python, которые затем будут добавлены в список доступных команд. Отображаются как Function: <имя функции>.

Для запуска любой из перечисленных команд достаточно начать вводить её имя, появится выпадающий список в доступными командами, которые соответствуют введённому тексту.

В случае функции Python можно выбрать соответствующий элемент списка, начинающийся с Function: (например, Function: removeall), или же полностью ввести имя функции (removeall в предыдущем примере). Добавлять скобки после имени функции не требуется.

Создание пользовательских функций

Пользовательские функции создаются путём добавления соответствующего кода Python в файл commands.py, который находится в каталоге .qgis2/processing/commander пользовательской директории. Это обычный файл Python, в который можно добавлять свои функции.

Файл и несколько простых функций-примеров создаются при первом запуске командной строки. Если вы раньше не запускали командную строку, можете создать файл самостоятельно. Для редактирования файла используйте любой текстовый редактор. Также можно использовать встроенный редактор, набрав edit в командной строке. Откроется редактор с файлом команд и вы легко сможете отредактировать и сохранить его.

Например, можно добавить такую функцию для удаления всех слоёв:

from qgis.gui import *

def removeall():
    mapreg = QgsMapLayerRegistry.instance()
    mapreg.removeAllMapLayers()

После добавления функции, она станет доступной из командной строки и может быть вызвана по своему имени. Просто введите removeall. Всё что необходимо — написать саму функцию.

Функции могут принимать параметры. Для этого добавьте *args к декларации функции. При вызове функции из командной строки аргументы необходимо передавать, разделяя их пробелами.

Вот пример функции, загружающей слой. В качестве параметра ей передаётся имя файла, который необходимо открыть.

import sextante

def load(*args):
  sextante.load(args[0])

Если вы хотите загрузить слой из файла /home/myuser/points.shp, наберите в командной строке load /home/myuser/points.shp.