중요

Translation is a community effort you can join. This page is currently translated at 58.97%.

17.2. 래스터 분석

17.2.1. 래스터 계산기

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

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

그림 17.22 래스터 계산기

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

Result layer 부분에 산출 레이어를 정의해줘야 합니다. 다음을 정의할 수 있습니다:

  • checkbox Create on-the-fly raster instead of writing layer to disk:

    • 이 옵션을 체크 해제하는 경우, 디스크 상에 산출물을 새 평문 텍스트 파일로 저장합니다. Output layer 경로 및 Output format 은 필수입니다.

    • 이 옵션을 체크하는 경우, 가상 래스터 레이어를 - 예를 들면 URI로 정의되는 래스터 레이어를 레이어 픽셀을 실시간(on-the-fly)으로 계산해서 생성합니다. 디스크 상에 새 파일로 저장되는 것이 아니라, 이 가상 레이어는 계산에 사용된 래스터에 계속 연결되어 있기 때문에 계산에 사용된 래스터를 삭제하거나 이동시키면 가상 레이어에도 오류가 발생합니다. Layer name 을 지정할 수 있습니다. 지정하지 않으면 계산 표현식을 그대로 사용합니다. 프로젝트로부터 가상 레이어를 제거하면 삭제되며, Export ► Save as… 레이어 컨텍스트 메뉴를 이용하면 디스크 상에 파일로 저장할 수 있습니다.

  • 입력 래스터 레이어 범위를 기반으로 계산한 Spatial extent 를 정의하거나, 사용자 지정 X, Y 좌표를 입력할 수 있습니다.

  • 열 및 행 개수를 이용해서 레이어의 Resolution 을 설정할 수 있습니다. 입력 레이어의 해상도와 다른 경우, 값을 최근접 이웃 알고리즘으로 리샘플링할 것입니다.

  • checkbox Add result to project 옵션을 체크하는 경우, 범례 영역에 산출 레이어를 자동으로 추가할 것이고, 추가 후 가시화시킬 수 있습니다. 가상 래스터의 경우 기본적으로 체크되어 있습니다.

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

17.2.1.1. Raster calculator expression

The dialog

The Raster calculator expression dialog provides means to write expressions for pixels calculations between a set of raster layers.

../../../_images/raster_calculator_expression.png

그림 17.23 Raster Expression Calculator

  • Layers: Shows the list of all raster layers loaded in the legend. These can be used to fill the expression box (double click to add). Raster layers are referred by their name and the number of the band: layer_name@band_number. For instance, the first band from a layer named DEM will be referred as DEM@1.

  • Operators: contains a number of calculation operators for pixels manipulation:

    • Arithmetical: +, -, *, sqrt, abs, ln, …

    • Trigonometric: sin, cos, tan, …

    • Comparison: =, !=, <, >=, …

    • Logical: IF, AND, OR, (, )

    • Statistical: min, max

    To add an operator to the raster calculator expression box, click the appropriate button.

  • Raster calculator expression is the area in which the expression is composed

예제

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

미터 단위의 표고 래스터에서 피트 단위의 래스터를 생성하려면, 미터를 피트로 변환하는 인수 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가 됩니다.

또는 IF 연산자를 사용할 수 있습니다.

if ( elevation@1 < 50 , 1 , 2 )