중요
번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 100.00% 번역되었습니다.
17.2. 래스터 분석
17.2.1. 래스터 계산기
그림 17.22 참조) 계산 결과는 GDAL 지원 포맷의 새 래스터 레이어로 작성됩니다.
메뉴에 있는 는 기존 래스터 픽셀값을 기반으로 계산을 수행할 수 있습니다. (Raster bands 목록은 불러온 래스터 레이어들 가운데 사용할 수 있는 모든 레이어들을 담고 있습니다. 래스터 계산기 표현식 필드에 래스터를 추가하려면, 필드 목록에서 레이어 이름을 더블클릭하십시오. 그 다음 연산자를 이용해서 계산 표현식을 구성하거나, 또는 표현식란에 직접 입력할 수 있습니다.
Result layer 부분에 산출 레이어를 정의해줘야 합니다. 다음을 정의할 수 있습니다:
Create on-the-fly raster instead of writing layer to disk:
이 옵션을 체크 해제하는 경우, 디스크 상에 산출물을 새 평문 텍스트 파일로 저장합니다. Output layer 경로 및 Output format 은 필수입니다.
이 옵션을 체크하는 경우, 가상 래스터 레이어를 - 예를 들면 URI로 정의되는 래스터 레이어를 레이어 픽셀을 실시간(on-the-fly)으로 계산해서 생성합니다. 디스크 상에 새 파일로 저장되는 것이 아니라, 이 가상 레이어는 계산에 사용된 래스터에 계속 연결되어 있기 때문에 계산에 사용된 래스터를 삭제하거나 이동시키면 가상 레이어에도 오류가 발생합니다. Layer name 을 지정할 수 있습니다. 지정하지 않으면 계산 표현식을 그대로 사용합니다. 프로젝트로부터 가상 레이어를 제거하면 삭제되며, 레이어 컨텍스트 메뉴를 이용하면 디스크 상에 파일로 저장할 수 있습니다.
입력 래스터 레이어 범위를 기반으로 계산한 Spatial extent 를 정의하거나, 사용자 지정 X, Y 좌표를 입력할 수 있습니다.
열 및 행 개수를 이용해서 레이어의 Resolution 을 설정할 수 있습니다. 입력 레이어의 해상도와 다른 경우, 값을 최근접 이웃 알고리즘으로 리샘플링할 것입니다.
Add result to project 옵션을 체크하는 경우, 범례 영역에 산출 레이어를 자동으로 추가할 것이고, 추가 후 가시화시킬 수 있습니다. 가상 래스터의 경우 기본적으로 체크되어 있습니다.
Operators 부분에 사용할 수 있는 모든 연산자를 담고 있습니다. 래스터 계산기 표현식란에 연산자를 추가하려면, 적절한 버튼을 클릭하십시오. 산술 계산(+
, -
, *
, … ) 및 삼각함수(sin
, cos
, tan
, … )를 사용할 수 있습니다. 조건 표현식(=
, !=
, <
, >=
, … )은 거짓인 경우 0을 또는 참인 경우 1을 반환하기 때문에, 다른 연산자 및 함수와 함께 사용할 수 있습니다.
더 보기
래스터 계산기 및 래스터 계산기 (가상) 알고리즘
17.2.1.1. 래스터 계산기 표현식
대화창
Raster calculator expression 대화창은 일련의 래스터 레이어들 사이에 픽셀을 계산하기 위한 표현식을 작성할 수 있는 수단을 제공합니다.
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 )