중요

번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.

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 대화창은 일련의 래스터 레이어들 사이에 픽셀을 계산하기 위한 표현식을 작성할 수 있는 수단을 제공합니다.

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

그림 17.23 래스터 표현식 계산기

  • Layers: 범례에 불러온 모든 래스터 레이어의 목록을 표시합니다. 이 목록을 사용해서 (레이어명을 더블 클릭하면) 표현식란에 해당 레이어를 추가할 수 있습니다. 래스터 레이어는 layer_name@band_number 처럼 이름 및 밴드 번호로 참조됩니다. 예를 들어 DEM 이라는 레이어의 첫 번째 밴드는 DEM@1 로 참조될 것입니다.

  • Operators: 픽셀을 조작하기 위한 계산 연산자 여러 개를 담고 있습니다:

    • 산술: +, -, *, sqrt, abs, ln, …

    • 삼각함수: sin, cos, tan, …

    • 비교: =, !=, <, >=, …

    • 논리: IF, AND, OR, (, )

    • 통계: min, max

    래스터 계산기 표현식 입력란에 연산자를 추가하려면, 알맞은 버튼을 클릭하십시오.

  • Raster calculator expression 부분에 표현식을 작성합니다.

예제

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

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