15.2. 래스터 분석

15.2.1. 래스터 계산기

Raster 메뉴에 있는 Raster Calculator 는 기존 래스터 픽셀값을 기반으로 계산을 수행할 수 있습니다. (그림 15.17 참조) 계산 결과는 GDAL 지원 포맷의 새 래스터 레이어로 작성됩니다.

../../../_images/raster_calculator1.png

그림 15.17 래스터 계산기

Raster bands 목록은 사용할 수 있는 모든 불러온 래스터 레이어들을 담고 있습니다. 래스터 계산기 표현식 란에 래스터를 추가하려면, 필드 목록에 있는 명칭을 더블클릭하십시오. 그 다음 연산자를 이용해서 계산 표현식을 작성하거나, 또는 그냥 표현식 란에 계산 표현식을 직접 입력할 수도 있습니다.

먼저 Result layer 부분에서 산출 레이어를 정의해야 합니다. 그 다음 입력 레이어를 기반으로, 또는 X, Y 좌표 및 열과 행을 기반으로 계산 영역의 범위를 정의해서 산출 레이어의 해상도를 설정할 수 있습니다. 입력 레이어가 서로 다른 해상도인 경우, ‘Nearest Neighbor’ 알고리즘으로 값들을 리샘플링할 것입니다.

Operators 부분은 사용할 수 있는 모든 연산자를 담고 있습니다. 래스터 계산기 표현식 란에 연산자를 추가하려면, 알맞은 버튼을 클릭하십시오. 수학 계산(+, -, * 등등) 및 삼각함수(sin, cos, tan 등등)를 사용할 수 있습니다. 조건 표현식(=, !=, <, >= 등등)은 거짓인 경우 0, 참인 경우 1을 반환하기 때문에 다른 연산자 및 함수와 함께 사용할 수 있습니다.

checkbox Add result to project 체크박스를 활성화하면, 범례 영역에 산출 레이어를 자동적으로 추가하므로 사용자가 가시화할 수 있습니다.

힌트

래스터 계산기 알고리즘도 참조하세요.

15.2.1.1. 예제

표고값을 미터 단위에서 피트 단위로 변환하기

미터 단위의 표고 래스터에서 피트 단위의 래스터를 생성하려면, 미터를 피트로 변환하는 인수 3.28을 사용해야 합니다. 다음은 그 표현식입니다:

"elevation@1" * 3.28

마스크 이용하기

래스터의 일부분을 가리고 싶은 경우 – 그러니까 예를 들어 표고 0미터 이상에만 관심이 있을 경우 – 다음 표현식을 이용해서 마스크를 생성하고 그 결과를 래스터에 적용하는 작업을 한 번에 할 수 있습니다:

("elevation@1" >= 0) * "elevation@1"

즉 그 값이 0 이상인 모든 셀에 대해 조건 표현식이 1을 반환하기 때문에 1을 곱해도 원본 값을 유지합니다. 반면 값이 0 미만인 셀에 대해서는 0을 반환하기 때문에 래스터 값이 0이 됩니다. 이렇게 실시간으로 마스크를 생성합니다.

래스터를 범주화하고 싶은 경우 – 그러니까 예를 들어 표고값을 2단계로 나누고 싶은 경우, 다음 표현식을 이용해서 1과 2 두 개의 값을 지닌 래스터를 한 번에 생성할 수 있습니다:

("elevation@1" < 50) * 1 + ("elevation@1" >= 50) * 2

즉 그 값이 50 미만인 모든 셀의 값은 1이 되고, 50 이상인 모든 셀의 값은 2가 됩니다.

15.2.2. 래스터 정렬

이 도구는 여러 래스터를 입력받아 완벽하게 정렬할 수 있습니다. 무슨 뜻이냐 하면:

  • 동일한 좌표계로 재투영하고,

  • 그리드에 있는 셀 크기 및 오프셋을 동일하게 리샘플링하며,

  • 관심 지역으로 잘라내고,

  • 필요한 경우 값을 재조정할 수 있습니다.

이때 모든 래스터는 다른 파일로 저장될 것입니다.

먼저, Raster ► Align Raster… 에서 이 도구를 열고 signPlus Add new raster 아이콘을 클릭해서 QGIS에 있는 기존 래스터 가운데 하나를 선택하십시오. 정렬 작업 뒤에 래스터를 저장할 산출 파일, 리샘플링 방법, 그리고 Rescale values according to the cell size 옵션으로 셀 크기에 따라 값을 재조정할지 여부를 선택하십시오. 리샘플링 방법은 다음 가운데 하나를 선택할 수 있습니다. (그림 15.18 을 참조하세요.):

  • Nearest Neighbor

  • Bilinear (2x2 kernel)

  • Cubic (4x4 kernel): 3차 회선 근사값(Cubic Convolution Approximation)

  • Cubic B-Spline (4x4 kernel): 3차 B 스플라인 근사값(Cubic B-Spline Approximation)

  • Lanczos (6x6 kernel): 란초시 창함수 싱크 보간법 (Lanczos windowed sinc interpolation)

  • Average: NODATA가 아닌 모든 기여 픽셀(contributing pixel)의 평균값을 계산

  • Mode: 표본 추출(sampling)한 모든 포인트 가운데 가장 흔히 나타나는 값을 선택

  • NODATA가 아닌 모든 기여 픽셀의 Maximum, Minimum, Mediane, First Quartile (Q1) 또는 Third Quartile (Q3)

../../../_images/raster_align_edit.png

그림 15.18 래스터 리샘플링 옵션 선택하기

Align raster 대화창에서, 래스터 레이어 목록으로부터 symbologyEdit Edit file settings 아이콘으로 파일 설정을 편집하거나 signMinus Remove an existing file 아이콘으로 기존 파일을 제거할 수 있습니다. 다음 기타 옵션도 하나 이상 선택할 수 있습니다. (그림 15.19 를 참조하세요.):

  • Reference Layer: 참조 레이어 선택

  • CRS: 새 좌표계로 변형

  • Cell size: 다른 셀 크기를 설정

  • Grid Offset: 다른 그리드 오프셋을 설정

  • Clip to Extent: 사용자 정의, 레이어 기반, 또는 맵 캔버스 기반 가운데 하나를 선택

  • Output Size: 산출물 크기를 설정

  • Add aligned raster to the map canvas: 맵 캔버스에 정렬한 래스터를 추가할지 여부를 선택

../../../_images/raster_align.png

그림 15.19 래스터 정렬