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]
Методика¶
Перейдите в
.
![../_images/1160.png](../_images/1160.png)
Найдите распакованный ранее файл
ne_10m_admin_0_countries.shp
и нажмите Открыть.
![../_images/2132.png](../_images/2132.png)
Так как мы хотим обрезать глобальные слои только в Африке, сначала нам нужно сделать слой, содержащий полигон с континентом. Слой со странами имеет атрибут, называющийся CONTINENT. Мы можем использовать инструмент Роспуск, чтобы слить все страны одного континента в один полигон.
![../_images/368.png](../_images/368.png)
Откройте Роспуск из меню .
![../_images/438.png](../_images/438.png)
Выберите
ne_10m_admin_0_countries
как Входной векторный слой. Поле роспуска должно бытьCONTINENT
. Назовите выходной файлcontinents.shp
и отметьте галочку Добавить результат на холст.
Примечание
Если Вы хотите слить ВСЕ полигоны независимо от их атрибутов, выберите – Роспуск всего – как Поле роспуска. Это скомбинирует все полигоны в один слой и предоставит вам один цельный полигон.
![../_images/537.png](../_images/537.png)
Процесс роспуска может занять некоторое время. По окончанию Вы увидите новый слой
continent
, добавленный в QGIS. Используйте инструмент Выбор одного элемента с панели инструментов и нажмите на Африку, чтобы выбрать полигон континента.
![../_images/636.png](../_images/636.png)
Щёлкните правой кнопкой мыши по слою
continents
и выберите Сохранить выделение как….
![../_images/736.png](../_images/736.png)
Назовите выходной файл
africa.shp
. Так как нам важна лишь форма, а не атрибуты, можете поставить галочку у Пропустить создание атрибутов. Убедитесь, что галочка Добавить сохранённый файл на карту отмечена и нажмите ОК.
![../_images/835.png](../_images/835.png)
Теперь у Вас в QGIS появится слой
africa
, содержащий полигон всего континента. Настало время обрезки. Откройте меню .
![../_images/936.png](../_images/936.png)
Среди доступных алгоритмов найдите Обрезка из меню . Вы также можете использовать Поиск, чтобы легче найти алгоритм.
![../_images/1043.png](../_images/1043.png)
Щёлкните правой кнопкой мыши на алгоритм Обрезка и выберите Выполнить как пакетный файл.
![../_images/1161.png](../_images/1161.png)
В окне Обработка пакетного файла, на первой вкладке Параметры мы укажем входные данные. Нажмите на … рядом с первой строкой в столбце Входной слой.
![../_images/1246.png](../_images/1246.png)
Проследуйте в папку, куда Вы распаковали все глобальные слои. Зажав кнопку Ctrl, выберите все слои, которые хотите обрезать. Вы также можете использовать Shift или Ctrl+A, чтобы сделать множественное выделение. Нажмите Открыть.
![../_images/1344.png](../_images/1344.png)
Вы заметите, что столбцы Входной слой будут автоматически заполнены выбранными слоями. Вы можете использовать кнопку Добавить строку, чтобы включить больше файлов. Нажмите на … возле первой строки и добавьте
africa.shp
как Слой для обрезки. Так как слой для обрезки везде одинаковый, Вы можете просто дважды щёлкнуть название столбца Слой для обрезки, и он будет скопирован во все строки. Теперь нам нужно указать имена выходных файлов. Нажмите на … рядом с первой строкой в столбце Результат.
![../_images/1441.png](../_images/1441.png)
Browse the the directory where you want your output layers. Type the filename as
clipped_
and click Save.
![../_images/1538.png](../_images/1538.png)
У Вас откроется новое окно Настройки автозаполнения. Выберите Заполнить значениями параметра как Режим автозаполнения и Используемый параметр как Входной слой. Эта настройка добавит имя входного файла в выходной файл вместе с заданным ранее
output_
. Это важно, чтобы выходные файлы имели уникальные имена и не переписывали друг друга.
![../_images/1636.png](../_images/1636.png)
Теперь мы готовы выполнить пакетный файл. Нажмите Выполнить.
![../_images/1733.png](../_images/1733.png)
Алгоритм обрезки будет выполнен для каждого из входных файлов и создаст указанный выходной файл для каждого. Когда процесс будет завершён, Вы увидите новые слои в QGIS. В них все глобальные слои будут правильно обрезаны так, как Вы указали.
![../_images/1831.png](../_images/1831.png)
If you want to report any issues with this tutorial, please comment below. (requires GitHub account)