17.25. 배치 공간처리 인터페이스

주석

이 강의에서 여러 개의 서로 다른 입력값들로 단일 알고리듬을 실행할 수 있게 해주는 배치(batch) 공간처리 인터페이스를 소개합니다.

가끔 주어진 알고리듬을 서로 다른 입력들을 사용해서 몇 번이고 실행해야 할 때가 있습니다. 이를 테면 입력 파일 한 무리를 기존 포맷에서 다른 포맷으로 변환해야 하는 경우입니다. 또는 주어진 투영체를 사용하는 레이어 몇 개를 다른 투영체로 변환해야 하는 경우도 있겠죠.

이런 경우, 툴박스에서 알고리듬을 몇 번이고 호출하는 것이 최선은 아닙니다. 그 대신 주어진 알고리듬의 다중 실행을 훨씬 단순화해주는 배치 공간처리 인터페이스를 사용해야 합니다. 배치 공간처리로 어떤 알고리듬을 실행하려면, 툴박스에서 알고리듬을 선택한 다음 더블클릭하지 말고 오른쪽 클릭하면 나타나는 컨텍스트 메뉴에서 Run as batch process 를 선택하십시오.

../../../_images/batch_menu.png

이 예제에서는 Reproject algorithm 을 사용하겠습니다. 앞에서 설명한 대로 시작하십시오. 다음 대화 창이 나타날 것입니다.

../../../_images/batch_dialog.png

이 강의를 위한 데이터를 살펴보았다면, shapefile 세 개를 담고 있지만 QGIS 프로젝트 파일은 없다는 것을 알 수 있을 것입니다. 왜냐 하면 알고리듬을 배치 공간처리로 실행할 때, 입력 레이어를 현재 QGIS 프로젝트 또는 파일에서 선택할 수 있기 때문입니다. 이렇게 하면, 예를 들어 주어진 폴더 안에 있는 모든 레이어와 같은, 많은 레이어를 더 쉽게 처리할 수 있게 해줍니다.

배치 공간처리 대화 창에 있는 테이블의 각 행은 해당 알고리듬의 각 실행을 나타냅니다. 각 행의 셀들은 알고리듬이 필요로 하는 파라미터에 해당합니다. 이 파라미터들은 일반적인 단일 실행 대화 창처럼 위아래로 배열되어 있는 것이 아니라 각 행에 나란히 배열되어 있습니다.

이 테이블을 상응하는 값들로 채워 실행할 배치 공간처리를 정의하십시오. 대화 창에 이 작업을 쉽게 할 수 있는 몇몇 도구들이 있습니다.

각 필드를 하나씩 채워봅시다. 첫 번째 열이 Input layer 필드입니다. 처리하고자 하는 각 레이어의 이름을 입력하는 대신, 모든 레이어를 선택해서 대화 창이 각 행에 채워넣도록 할 수 있습니다. 좌상단의 셀 옆에 있는 버튼을 클릭하면 파일 선택 대화 창이 뜹니다. 재투영할 파일 세 개를 선택하십시오. 각 행에 파일 하나씩 필요하기 때문에, 다른 두 개를 아래 행들에 채울 것입니다.

../../../_images/first_column_filled.png

행의 기본적인 개수는 3개로, 변환해야 할 레이어들의 숫자와 일치합니다. 그러나 더 많은 레이어를 선택할 경우, 자동적으로 새 행이 추가될 것입니다. 각 항목을 수동으로 추가하고자 할 경우, Add row 버튼을 사용해서 더 많은 행을 추가할 수 있습니다.

모든 레이어를 EPSG:23029 CRS로 변환할 것이기 때문에, 두 번째 필드에 해당 CRS를 선택해야 합니다. 모든 행에 동일한 CRS를 선택할 것이지만 각 행마다 해당 CRS를 선택할 필요는 없습니다. 그 대신 (맨 위에 있는) 첫 번째 행의 해당 셀 옆에 있는 버튼을 클릭해서 CRS를 설정한 다음, 해당 열의 헤더를 더블클릭하십시오. 해당 열의 모든 셀을 맨 위 셀의 값으로 채울 것입니다.

../../../_images/second_column_filled.png

마지막으로 각 실행에 해당하는 재투영된 레이어를 담고 있는 산출물 파일을 선택해야 합니다. 다시 한 번 첫 행에 대해서만 실행해봅시다. 맨 위 셀에 있는 버튼을 클릭한 다음, 산출물 파일을 저장하고자 하는 폴더에 파일명을 (예를 들면 reprojected.shp) 입력하십시오.

이제 파일 선택 대화 창의 OK 를 클릭하면, 셀에 파일명이 자동적으로 채워지는 것이 아니라 다음과 같은 입력 대화 창이 대신 나타납니다.

../../../_images/autofill.png

첫 번째 옵션을 선택할 경우 현재 셀만 채워질 것입니다. 다른 옵션을 선택한다면, 아래쪽의 모든 행을 주어진 패턴으로 채울 것입니다. 이 경우 Fill with parameter value 옵션을 선택한 다음 그 아래 있는 드롭다운 메뉴에서 Input Layer 옵션을 선택하십시오. 이렇게 하면 Input Layer (즉 레이어명) 값을 우리가 설정했던 파일명에 추가해서 각 산출물의 파일명을 서로 다르게 만들 것입니다. 이제 배치 공간처리 테이블이 다음과 같이 보여야 합니다.

../../../_images/complete.png

마지막 열은 결과물 레이어를 현재 QGIS 프로젝트에 추가할 것인지 아닌지를 설정합니다. 이 예제의 결과를 볼 수 있도록 기본값인 Yes 옵션을 변경하지 마십시오.

OK 를 클릭해서 배치 공간처리를 실행합니다. 오류가 발생하지 않았다면, 모든 레이어가 처리되어 새 레이어 3개가 생성되었을 것입니다.