프로세싱 프레임을 이용한 일괄처리과정

QGIS의 **Processing Framework**는 QGIS에서 데이터 처리를 위해 토착형 그리고 제 3 자형 알고리즘을 구동할 수 있는 환경을 제공합니다. 이것은 여러개의 레이어에 대해 쉽게 알고리즘을 실행할 수 있도록 괜찮은 일괄처리 과정 인터페이스를 포함하고 있습니다. 일괄처리 과정은 수동적인 노력을 절감하고 반복적인 작업을 자동적으로 수행할 수 있도록 해주는 유용한 툴입니다.

작업 개요

단일 일괄처리 명령하에서 몇몇 전지구적 벡터 레이어를 사용하여 아프리카의 범위로 잘라내기를 할 것입니다.

기타 스킬

  • **Filter**를 만들어 새 레이어를 만들지 않고 레이어에서 원치 않는 피처를 제거합니다.

  • 여러 레이어를 단일 Geopackage file로 병합합니다.

데이터 획득

`Natural Earth <http://naturalearthdata.com>`_에는 전 지구적 벡터레이가 있습니다. 다음의 레이어를 다운로드하십시오.

편의성을 위해 아래에서 geopackage를 포함한 레이어를 바로 다운받으실 수 있습니다.

ne_global.gpkg

데이터 출처: [NATURALEARTH]

과정

  1. QGIS 브라우저 패널에서 다운로드 한 데이터를 저장 한 디렉토리를 찾으십시오. ``zip ‘’또는``gpkg ‘’항목을 확장하고``ne_10m_admin_0_countries ‘’레이어를 선택하십시오. 레이어를 캔버스로 드래그하십시오.

../../_images/116.png
  1. 레이어 패널에 레이어가 로드 된 것을 볼 수 있습니다. 우리의 임무는 글로벌 레이어를 아프리카의 경계까지 자르는 것이므로, 먼저 해당 대륙에서만 레이어 포함 피처를 준비해야합니다. 특정 대륙에 속하는 지형지 물을 쿼리하는 데 사용할 수있는 열을 확인하기 위해 속성 테이블을 살펴 보겠습니다. ``ne_10m_admin_0_countries ‘’레이어를 마우스 오른쪽 버튼으로 클릭하고 `속성 테이블 열기`를 선택하십시오.

주석

Tip: You can also use the keyboard shortcut F6 to open the attribute table of the selected layer.

../../_images/215.png
  1. Attribute Table 창에서 가로로 스크롤하면 데이터에 ** CONTINENT **라는 속성이 포함되어 있음을 알 수 있습니다. 이 속성을 사용하여 기능을 필터링 할 수 있습니다.

../../_images/313.png
  1. 속성 테이블을 닫고 기본 QGIS 창으로 돌아갑니다. ``ne_10m_admin_0_countries ‘’레이어를 마우스 오른쪽 버튼으로 클릭하고 : `Filter`를 선택하십시오.

../../_images/45.png
  1. Query Builder 창에서 ** CONTINENT ** 필드를 선택하고 `Sample`을 클릭하십시오. 이것은 `Values ‘패널을 기능에서 해당 속성 값의 서브 세트로 채웁니다. 이 단계는 데이터 세트에 어떤 유형의 값이 있는지 이해하는 데 유용합니다. 데이터 셋에 ** Africa **라는 값이 포함되어 있음을 알 수 있습니다.

../../_images/55.png
  1. 이제 Provider specific filter expression 텍스트 상자에 표현식을 입력하십시오. ** CONTINENT ** 레이블을 클릭 한 다음 `=`버튼과 ** Africa ** 레이블을 클릭 할 수 있습니다. 또는 텍스트 상자에 다음 표현식을 입력 할 수 있습니다. 표현식을 입력 한 후 `OK`를 클릭하십시오.

"CONTINENT" = 'Africa'
../../_images/65.png
  1. 이제 지도 캔버스에 아프리카 국가만 포함되어 있음을 알 수 있습니다. 레이어 이름 옆에있는 필터 아이콘은 해당 레이어에 필터가 적용되었음을 나타냅니다. 레이어에서 모든 기능을 보고 사용하려면 필터 아이콘을 클릭하고 표현식을 지울 수 있습니다. 지금은 필터를 유지하여 다른 레이어를 아프리카에 클립 할 수 있습니다.

../../_images/75.png
  1. 이제 배치 프로세스를 실행하여 레이어를 클리핑 할 준비가되었습니다. QGIS Browser ‘패널에서 자연 지구 전역 레이어``ne_10m_railroads’ ‘,``ne_10m_ports’ ‘및``ne_10m_urban_areas’ ‘를 찾으십시오. : kbd :`Ctrl 키를 누른 상태에서 각 레이어를 클릭하여 선택하십시오. 선택한 후에는 캔버스로 드래그하십시오.

../../_images/85.png
  1. 레이어가 로드되면 global layers를 확인할 수 있으며 그것은 모든 국가에 걸쳐 기능이 있음을 알 수 있습니다. 이제 이 클립들을 아프리카에 클립하기 위해 배치 클립 프로세스를 시작할 차례입니다. Open : menuselection :`Processing-> Toolbox`를 엽니 다.

../../_images/95.png
  1. 사용 가능한 모든 알고리즘을 찾아보고 Clip tool from Vector overlay ‣ Clip. You may also use the Search box를 사용하여 알고리즘을 쉽게 찾을 수도 있습니다.

../../_images/105.png
  1. Clip 알고리즘을 우측클릭하고 일괄작업으로 수행 `Execure as batch process`을 선택합니다.

../../_images/117.png
  1. Batch Processing 다이알로그에서 첫번재 탭은 입력을 결정하는 `Parameters`입니다. 테이블의 각 행은 1 개의 처리 작업을 나타냅니다. `Add row`버튼을 클릭하여 새 행을 추가하십시오. 우리의 작업에는 3 개의 레이어가 포함되므로 3 개의 행을 추가하십시오.

../../_images/125.png
  1. `입력 레이어`열의 첫 번째 행 옆에있는 `...`을 클릭하십시오. `Open Layers에서 선택`을 선택하십시오.

../../_images/135.png
  1. `복수 선택`대화 상자에서 클립하려는 3 개의 레이어를 확인하고 : guilabel :`OK`를 클릭하십시오.

../../_images/145.png
  1. Input layer ‘열은 선택한 모든 레이어에 자동으로 채워집니다. 다음으로 입력 레이어를 클리핑 할 경계가 포함 된 레이어를 선택해야합니다. `Overlay layer 열에서 첫 번째 행에 대해 ... 버튼을 클릭하고 `Select form Open Layers`을 선택하십시오.

../../_images/155.png
  1. `Multiple selection``대화 상자에서``ne_10m_admin_0_countries ‘’를 확인하고 `OK`를 클릭하십시오.

../../_images/165.png
  1. 클립 레이어는 모든 입력에 대해 동일하므로 열 머리글 `Overlay layer`를 두 번 클릭하면 모든 레이어에 동일한 레이어가 자동으로 채워집니다.

../../_images/175.png
  1. 다음으로 출력을 정의해야합니다. Clipped 열의 첫 번째 행 옆에있는`...`버튼을 클릭하십시오.

../../_images/184.png
  1. 출력 레이어를 원하는 디렉토리를 찾습니다. 파일 이름을``clipped_ ‘’로 입력하고`Save`를 클릭하십시오.

../../_images/194.png
  1. 새로운 `Autofill settings ‘대화 상자가 나타납니다. :`Autofill mode`로``Fill with parameter values’‘를 선택하십시오. `Parameter to use`로 ```Input layer ‘’를 선택하십시오. 이 설정은 입력 파일 이름을 지정된``clipped_ ‘’파일 이름과 함께 출력에 추가합니다. 모든 출력 파일의 이름이 고유하고 서로 겹쳐 쓰지 않도록하는 것이 중요합니다.

../../_images/203.png
  1. 이제 일괄 처리를 시작할 준비가되었습니다. ‘Load layers on completion’를 확인하고 ‘Run’을 클릭하십시오.

../../_images/216.png
  1. 클립 알고리즘은 각 입력에 대해 실행되며 지정된 출력 파일을 작성합니다. 배치 프로세스가 완료되면 `Close`를 클릭하여 QGIS로 돌아갑니다.

주석

팁 : QGIS는 이제 사용자 인터페이스를 차단하지 않고 백그라운드에서 처리 작업을 실행할 수 있습니다. 따라서 배치 프로세스가 오래 걸리는 경우 프로세스가 백그라운드에서 계속 실행되는 동안 대화 상자를 닫고 QGIS의 다른 작업을 계속 수행 할 수 있습니다.

../../_images/223.png
  1. 기본 QGIS 창으로 돌아 가면 QGIS 캔버스에 레이어가 추가 된 것을 볼 수 있습니다. 알다시피, 모든 전역 레이어는 우리가 지정한 대륙 경계에 올바르게 클리핑됩니다.

../../_images/232.png
  1. 여러 레이어를 일괄 처리하는 작업을 수행했습니다. 그러나 QGIS3에는보다 효율적인 방식으로 결과를 저장하고 전달하는 데 도움이되는 또 다른 편리한 기능이 있습니다. 클리핑 된 레이어를 누군가에게 전달하려면 QGIS 외부의 개별 파일을 압축해야합니다. 단일 Geopackage에서 출력 레이어를 패키지하는 더 나은 옵션입니다. `QGIS Browser`에서 잘린 출력 레이어를 찾으십시오. 새로 추가 된 파일을 보려면 `Refresh ‘버튼을 클릭해야 할 수도 있습니다.

../../_images/242.png
  1. : kbd :Ctrl 키를 누른 상태에서 레이어를 선택하십시오. 캔버스로 드래그하여 QGIS에로드합니다.

../../_images/252.png
  1. Processing Toolbox`에서 : menuselection :`Database-> Package layer 도구를 찾으십시오.

../../_images/262.png
  1. ‘Package layers’대화 상자에서 Input layers ‘옆에있는...`버튼을 클릭하십시오.

../../_images/272.png
  1. In the Multiple selection dialog, check the clipped_ne_10m_ports, clipped_ne_10m_railroads and clipped_ne_10m_urban_areas layers. Click OK.
../../_images/282.png
  1. 입력 레이어가 선택되면 ‘Destination Geopackage’옆에있는 ‘...’을 클릭하고 ‘Save To File’을 선택하십시오.

../../_images/291.png
  1. ``clipped_layers``로 최종결과물의 이름을 정합니다.

../../_images/301.png
  1. 패키징 프로세스를 시작하려면`Run`을 실행하십시오.

../../_images/314.png
  1. 프로세스가 완료되면 클리핑 된 모든 출력 레이어를 포함하는 `QGIS Browser ‘에 새로운 지오 패키지 파일이 나타납니다. 이것은 모든 출력 레이어를 포함하는 컴퓨터의 단일 파일입니다.

../../_images/322.png
If you liked tutorials on this site and do check out spatialthoughts.com for more free resources.
comments powered by Disqus

This work is licensed under a Creative Commons Attribution 4.0 International License