17.5. 더 많은 알고리즘과 데이터종류

참고

이 강의에서 알고리즘 3개를 더 실행해보면서 다른 입력방식, 주어진 폴더에 자동으로 저장되는 출력폴더 설정법을 배워보겠습니다.

이 강의에는 테이블과 폴리곤 레이어가 필요합니다. 테이블에 저장된 좌표를 기반으로 포인트 레이어를 생성한 다음, 각 폴리곤 내부에 위치하는 포인트의 개수를 알아낼 것입니다. 이번 강의에 해당하는 QGIS 프로젝트를 열면, X와 Y 좌표를 담고 있는 테이블을 찾을 수 있지만 폴리곤 레이어를 찾을 수는 없을 겁니다. 걱정하지 마십시오. 공간처리 알고리듬을 통해 폴리곤 레이어를 생성할 것입니다.

제일 먼저 Points layer to table 알고리듬을 사용해서 테이블에 저장된 좌표로부터 포인트 레이어를 생성해야 합니다. 이제 검색란 사용법을 알았으니, 해당 알고리듬을 쉽게 찾을 수 있을 겁니다. 알고리듬을 더블클릭하면 다음 대화 창이 나타납니다.

이전 강의에서와 마찬가지로 이 알고리듬은 산출물 하나를 생성하는데, 입력 파라미터는 3개입니다.

  • Table : 좌표를 저장하고 있는 테이블. 여기에 강의 데이터에서 찾은 테이블을 선택해야 합니다.

  • X & Y field : 이 두 파라미터는 첫 번째 파라미터와 연결돼 있습니다. 해당 선택자가 앞에서 선택한 테이블의 사용 가능한 필드의 명칭을 보여줄 것입니다. X 파라미터에 XCOORD 필드를, Y 파라미터에 YCOORD 필드를 선택하십시오.

  • CRS : 이 알고리듬은 레이어를 입력받지 않으므로, 입력 레이어를 따라 산출 레이어에 CRS를 할당할 수 없습니다. 그 대신, 사용자가 테이블의 좌표가 사용하는 CRS를 직접 선택하도록 합니다. 오른쪽 버튼을 클릭해서 QGIS CRS 선택자를 열고, 산출물 CRS로 EPSG:4326 을 선택하십시오. 테이블에 저장된 좌표의 CRS이기 때문에 해당 CRS를 선택하는 것입니다.

대화 창이 다음과 같이 보여야 합니다.

../../../_images/points_from_table.png

이제 실행 버튼을 눌러 다음 레이어을 얻을 수 있습니다 (생성한점 주변으로 지도를 확대할 필요가 있습니다):

../../../_images/points.png

다음으로 폴리곤 레이어가 필요합니다. Create grid 알고리듬을 사용해서 균일 격자 폴리곤을 생성할 것입니다. 이 알고리듬은 다음과 같은 파라미터 대화 창을 띄웁니다.

../../../_images/graticule_dialog.png

경고

이 옵션은 QGIS 최신 버전에서도 비슷합니다. X와 Y의 최대/최소값을 입력하면 됩니다. (추천 값 : -5.696226, -5.695122, 40.24742, 40.248171)

격자를 생성하는 데 필요한 입력값이 모두 숫자입니다. 숫자 값을 입력해야 할 경우, 두 가지 옵션이 있습니다. 해당 란에 직접 입력하든지, 오른쪽에 있는 버튼을 클릭해서 다음 그림과 같은 대화 창을 불러오면 됩니다.

../../../_images/number_dialog.png

이 대화 창은 간단한 계산기를 포함하고 있어서, 11 * 34.7 + 4.6 같은 표현식을 입력하면 결과를 계산해서 파라미터 대화 창의 해당 텍스트 박스에 입력해줍니다. 또, 사용자가 쓸 수 있는 상수 및 다른 레이어에서 나온 값들도 포함하고 있습니다.

이 경우, 입력 포인트 레이어의 범위를 모두 포함하는 격자를 생성하려고 하므로, 포인트 레이어의 좌표를 이용해서 격자 생성 알고리듬이 필요로 하는 파라미터들인 격자의 중심 좌표 및 너비와 높이를 계산해야 합니다. 사용자의 수학 지식을 응용해서 입력 포인트 레이어에서 나온 상수 및 계산기 대화 창을 통해 직접 계산해보십시오.

Type 항목에 Rectangles (polygons) 를 선택하십시오.

이전 알고리듬과 마찬가지로, 여기에도 CRS를 입력해야 합니다. 이전과 동일하게 target CRSEPSG:4326 을 선택하십시오.

이제 파라미터 대화 창이 다음과 같이 보여야 합니다.

../../../_images/graticule_parameters.png

(너비와 높이에 다음과 같이 간격(spacing)을 하나씩 넣는 편이 좋습니다. Horizontal spacing: 0.0001, Vertical spacing: 0.0001, Width: 0.001004, Height: 0.000651, Center X: -5.695674, Center Y: 40.2477955) X 중심점의 경우 조금 어려운데, 다음을 참조하십시오. -5.696126+(( -5.695222+ 5.696126)/2)

Run 을 클릭하면 다음과 같은 격자선 레이어를 얻게 됩니다.

../../../_images/graticule.png

마지막 단계로 이 격자선의 사각형 하나하나에 들어가는 포인트의 개수를 계산해야 합니다. Count points in polygons 알고리듬을 사용하겠습니다.

../../../_images/count_points.png

이제 우리가 찾던 결과를 보게 되었습니다.

이 강의를 끝내기 전에, 사용자가 고집스럽게 사용자 데이터를 저장하고자 할 경우 더 쉽게 설정할 수 있는 방법이 있습니다. 사용자가 모든 산출물 파일을 어떤 주어진 폴더에 저장하고자 할 경우, 매번 폴더 경로를 입력할 필요가 없습니다. 대신 메뉴에서 Processing ▶ Options and configuration 항목을 선택하십시오. 다음 설정 대화 창이 나타날 것입니다.

../../../_images/config.png

General 그룹에서 Output folder 항목을 찾아, 사용자의 지정 경로를 입력하십시오.

../../../_images/output_folder.png

이제부터 알고리듬 실행 시, 전체 경로 대신 파일명만 입력하십시오. 예를 들어 앞의 설정대로라면, 방금 실행했던 알고리듬의 산출물 경로에 graticule.shp 라고 입력한 경우 산출물을 D:\processing_output\graticule.shp 로 저장할 것입니다. 산출물을 다른 폴더에 저장하고 싶다면 전체 경로를 입력할 수 있습니다.

Create grid 알고리듬을 통해 다른 격자 크기는 물론 다른 격자 유형으로 만들어보십시오.