24.6. 배치 프로세스 인터페이스
24.6.1. 소개
모든 (모델 포함) 알고리즘을 배치(batch) 프로세스로 실행할 수 있습니다. 단일 입력물 집합이 아니라 여러 집합을 사용해서 필요한 만큼 여러 번 알고리즘을 실행할 수 있다는 뜻입니다. 대용량 데이터를 공간 처리하는 경우 이 배치 작업이 유리합니다. 툴박스에서 알고리즘을 여러 번 구동시킬 필요가 없기 때문입니다.
알고리즘을 배치 프로세스로 실행하려면, 툴박스에서 알고리즘명을 오른쪽 클릭한 다음 팝업 메뉴에서 Execute as batch process 옵션을 선택하십시오.
선택한 알고리즘의 실행 대화창이 열리면, [Run as batch process…] 버튼을 눌러 배치 프로세스 작업 인터페이스도 열 수 있습니다.
24.6.2. 파라미터 표
배치 프로세스를 실행하는 작업은 단일 알고리즘을 실행하는 작업과 비슷합니다. 파라미터 값을 정의해야 하는데, 이 경우에는 각 파라미터 별로 단일 값이 아니라 알고리즘 반복 실행 횟수만큼 값을 하나씩 설정해줘야 합니다. 각 행이 반복 실행이고 각 열이 알고리즘의 파라미터인 다음 그림과 같은 표를 통해 이 값들을 설정합니다.
최상단 툴바에서 다음과 같은 작업을 할 수 있습니다:
Remove row(s): 표로부터 선택한 행들을 제거합니다. 왼쪽에 있는 숫자를 클릭하면 행을 선택할 수 있으며, 다중 선택을 위한 키보드 조합 을 사용할 수 있습니다.
기본적으로, 파라미터 표는 2개의 행만 담고 있습니다:
각 셀에 있는 첫 번째 행은 아래 셀들을 빠르게 채울 수 있는 옵션 을 가진 드롭다운 메뉴를 표시합니다. 파라미터 유형에 따라 사용할 수 있는 옵션들이 달라집니다.
두 번째 행(은 물론 이어지는 각 행)은 알고리즘의 단일 실행을 나타내고, 각 셀은 파라미터 가운데 하나의 값을 담게 됩니다. 툴박스에서 알고리즘을 실행할 때 보게 되는 파라미터 대화창과 본질적으로 비슷하지만, 구조가 다릅니다.
표의 최하단에 있는 Load layers on completion 옵션을 이용해서 실행 완료 시 레이어를 불러올지 여부를 설정할 수 있습니다.
표의 행 수를 (알고리즘 실행 횟수만큼) 설정하고 나면, 원하는 값을 입력해야 합니다.
24.6.3. 파라미터 표 채우기
대부분의 파라미터의 경우, 값을 설정하는 일은 사소한 작업입니다. 단일 프로세스 대화창 에서와 마찬가지로 적절한 위젯이 제공되어, 파라미터 유형에 따라 값을 입력하거나 또는 사용할 수 있는 값들의 목록에서 값을 선택할 수 있습니다. 사용할 수 있는 경우 데이터 정의 위젯도 포함됩니다.
셀별로 표를 채우는 작업을 피하기 위해 배치 프로세스 정의를 자동화하려면 파라미터의 Autofill… 메뉴를 눌러서 열에 있는 값들을 대체하기 위한 다음 옵션들 가운데 하나를 선택할 수도 있습니다:
Fill Down: 첫 번째 프로세스의 입력을 가져와서 다른 모든 프로세스에 입력할 것입니다.
Calculate by Expression…: 해당 열 안에 있는 모든 기존 값들을 업데이트하는 데 사용할 수 있는 새로운 QGIS 표현식을 생성할 수 있습니다. 변수 를 통해 (다른 열의 기존 값들을 포함하는) 기존 파라미터 값들을 표현식 안에 사용할 수 있습니다. 예를 들면 각 레이어의 버퍼 거리를 기반으로 선분 개수를 설정할 수도 있습니다:
CASE WHEN @DISTANCE > 20 THEN 12 ELSE 8 END
Add Values by Expression…: (기존 행에만 적용되는 Calculate by Expression… 과는 반대로) 배열을 반환하는 표현식으로부터 나오는 값들을 사용해서 새 행들을 추가합니다. 의도한 사용례는 복소수열(complex numeric series)을 사용해서 배치 대화창을 채울 수 있도록 하는 것입니다. 예를 들어 거리 파라미터에 대해 표현식
generate_series(100, 1000, 50)
을 사용해서 배치 버퍼에 행을 추가하면 100, 150, 200, …. 1000 값을 가진 새 행들을 추가할 것입니다.파일 또는 레이어 파라미터를 설정하는 경우, 더 많은 옵션이 제공됩니다:
산출 데이터 파라미터는 알고리즘을 단일 프로세스로 실행할 때와 동일한 케이퍼빌리티를 노출시킵니다. 알고리즘에 따라 산출물을 다음과 같이 산출할 수 있습니다:
셀을 비워두는 경우 산출물을 건너뛸 수 있습니다.
산출물을 임시 레이어로 저장할 수 있습니다: 셀을
TEMPORARY_OUTPUT
으로 채운 다음 잊지 말고 Load layers on completion 체크박스를 클릭하십시오.파일 경로를 앞서 노출된 Autofill 옵션으로 설정할 수 있는 일반 파일(
.SHP
,.GPKG
,.XML
,.PDF
,.JPG
, …)로 저장할 수 있습니다. 예를 들어 산출 파일 이름을 다음과 같은 복잡 표현식으로 설정하려면 Calculate by Expression… 을 이용하십시오:'/home/me/stuff/buffer_' || left(@INPUT, 30) || '_' || @DISTANCE || '.shp'
파일 경로를 직접 입력하거나 파일 경로 입력란 옆에 있는 … 버튼을 누르면 나타나는 파일 선택기 대화창을 이용할 수도 있습니다. 파일을 선택하면, 동일한 열(동일한 파라미터)에 있는 다른 셀들을 자동 완성시킬 수 있는 새 대화창이 나타납니다.
기본값(Do not autofill)을 선택하는 경우, 그냥 파라미터 표에서 선택한 셀에 선택한 파일명을 입력할 것입니다. 다른 옵션을 선택하면, 선택한 셀 아래 에 있는 모든 셀에 정의한 기준에 따라 파일명을 입력할 것입니다.
Fill with numbers: 파일 이름에 증분 숫자를 추가합니다.
Fill with parameter values: 파일 이름에 동일한 행에 있는 파라미터 값을 추가할 파라미터를 선택할 수 있습니다. 산출 데이터 객체를 입력 객체에 따라 각각 명명하는 경우 특히 유용한 옵션입니다.
데이터베이스 컨테이너 내부에 레이어로 저장할 수 있습니다:
# Indicate a layer within a GeoPackage file ogr:dbname='C:/Path/To/Geopackage.gpkg' table="New_Table" (geom) # Use the "Calculate By Expression" to output to different layers in a GeoPackage 'ogr:dbname=\'' || @project_folder || '/Buffers.gpkg\' table="' || @INPUT || '_' || @DISTANCE || '" (geom)'
24.6.4. 배치 프로세스 실행
필요한 모든 값을 설정한 다음 배치 프로세스를 실행하려면, Run 버튼만 누르면 됩니다. Log 패널이 활성화되어 실행 과정의 상세 사항 및 단계들을 출력합니다. 대화창 하단에 있는 진행 상태 막대에 전체 배치 작업의 진행도가 표시될 것입니다.