Batch Processing using Processing Framework (QGIS2)

Предупреждение

A new version of this tutorial is available at Batch Processing using Processing Framework (QGIS3)

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

Обзор задачи

Мы возьмём несколько глобальных векторных слоёв и обрежем их до Африки одним пакетным файлом.

Вы научитесь также

  • Соединять полигоны одного слоя с одинаковым атрибутом.

Получение данных

Natural Earth имеет несколько глобальных векторных слоёв. Скачайте следующие слои:

После скачивания распакуйте содержимое всех архивов в одну папку.

Источник данных: [NATURALEARTH]

Методика

  1. Перейдите в Слой ‣ Добавить векторный слой.

../_images/1160.png
  1. Найдите распакованный ранее файл ne_10m_admin_0_countries.shp и нажмите Открыть.

../_images/2132.png
  1. Так как мы хотим обрезать глобальные слои только в Африке, сначала нам нужно сделать слой, содержащий полигон с континентом. Слой со странами имеет атрибут, называющийся CONTINENT. Мы можем использовать инструмент Роспуск, чтобы слить все страны одного континента в один полигон.

../_images/368.png
  1. Откройте Роспуск из меню Вектор ‣ Инструменты геообработки ‣ Роспуск.

../_images/438.png
  1. Выберите ne_10m_admin_0_countries как Входной векторный слой. Поле роспуска должно быть CONTINENT. Назовите выходной файл continents.shp и отметьте галочку Добавить результат на холст.

Примечание

Если Вы хотите слить ВСЕ полигоны независимо от их атрибутов, выберите – Роспуск всего – как Поле роспуска. Это скомбинирует все полигоны в один слой и предоставит вам один цельный полигон.

../_images/537.png
  1. Процесс роспуска может занять некоторое время. По окончанию Вы увидите новый слой continent, добавленный в QGIS. Используйте инструмент Выбор одного элемента с панели инструментов и нажмите на Африку, чтобы выбрать полигон континента.

../_images/636.png
  1. Щёлкните правой кнопкой мыши по слою continents и выберите Сохранить выделение как….

../_images/736.png
  1. Назовите выходной файл africa.shp. Так как нам важна лишь форма, а не атрибуты, можете поставить галочку у Пропустить создание атрибутов. Убедитесь, что галочка Добавить сохранённый файл на карту отмечена и нажмите ОК.

../_images/835.png
  1. Теперь у Вас в QGIS появится слой africa, содержащий полигон всего континента. Настало время обрезки. Откройте меню Обработка ‣ Инструменты.

../_images/936.png
  1. Среди доступных алгоритмов найдите Обрезка из меню Геоалгоритмы QGIS ‣ Инструменты векторного наложения ‣ Обрезка. Вы также можете использовать Поиск, чтобы легче найти алгоритм.

../_images/1043.png
  1. Щёлкните правой кнопкой мыши на алгоритм Обрезка и выберите Выполнить как пакетный файл.

../_images/1161.png
  1. В окне Обработка пакетного файла, на первой вкладке Параметры мы укажем входные данные. Нажмите на рядом с первой строкой в столбце Входной слой.

../_images/1246.png
  1. Проследуйте в папку, куда Вы распаковали все глобальные слои. Зажав кнопку Ctrl, выберите все слои, которые хотите обрезать. Вы также можете использовать Shift или Ctrl+A, чтобы сделать множественное выделение. Нажмите Открыть.

../_images/1344.png
  1. Вы заметите, что столбцы Входной слой будут автоматически заполнены выбранными слоями. Вы можете использовать кнопку Добавить строку, чтобы включить больше файлов. Нажмите на возле первой строки и добавьте africa.shp как Слой для обрезки. Так как слой для обрезки везде одинаковый, Вы можете просто дважды щёлкнуть название столбца Слой для обрезки, и он будет скопирован во все строки. Теперь нам нужно указать имена выходных файлов. Нажмите на рядом с первой строкой в столбце Результат.

../_images/1441.png
  1. Browse the the directory where you want your output layers. Type the filename as clipped_ and click Save.

../_images/1538.png
  1. У Вас откроется новое окно Настройки автозаполнения. Выберите Заполнить значениями параметра как Режим автозаполнения и Используемый параметр как Входной слой. Эта настройка добавит имя входного файла в выходной файл вместе с заданным ранее output_. Это важно, чтобы выходные файлы имели уникальные имена и не переписывали друг друга.

../_images/1636.png
  1. Теперь мы готовы выполнить пакетный файл. Нажмите Выполнить.

../_images/1733.png
  1. Алгоритм обрезки будет выполнен для каждого из входных файлов и создаст указанный выходной файл для каждого. Когда процесс будет завершён, Вы увидите новые слои в QGIS. В них все глобальные слои будут правильно обрезаны так, как Вы указали.

../_images/1831.png

If you want to report any issues with this tutorial, please comment below. (requires GitHub account)