중요
번역은 여러분이 참여할 수 있는 커뮤니티 활동입니다. 이 페이지는 현재 81.25% 번역되었습니다.
17.11. 벡터 계산기
참고
이 수업에서는 벡터 계산기를 이용해 수학적 표현식을 기반으로 벡터 레이어에 새 속성을 추가하는 방법을 배울 것입니다.
We already know how to use the raster calculator to create new raster layers using mathematical expressions. A similar algorithm is available for vector layers, and generates a new layer with the same attributes of the input layer, plus an additional one with the result of the expression entered. The algorithm is called Field calculator and has the following parameters dialog.
참고
새 버전의 공간 처리 인터페이스는 많이 바뀌었습니다. 더 강력하고 쓰기 쉬워졌습니다.
여기에 알고리즘을 사용할 몇 개의 예시가 있습니다.
먼저 인구 조사를 나타내는 각 폴리곤에 있는 백인의 인구 밀도를 계산해봅시다. 이를 위해 속성 테이블에서 WHITE 와 SHAPE_AREA 필드 두 개를 사용할 수 있습니다. 이 두 값을 나누고 (평방 킬로미터당 밀도를 구하기 위해) 1백만을 곱해야 하므로, Formula 필드에 다음 공식을 쓸 수 있습니다.
( "WHITE" / "SHAPE_AREA" ) * 1000000
파라미터 대화창을 다음과 같이 설정하십시오.
WHITE_DENS 라는 명칭의 새 필드를 생성할 것입니다.
다음으로 MALES 와 FEMALES 필드의 비율을 계산해서 남성 인구가 여성 인구보다 수적으로 우세한지 여부를 보여주는 새 필드를 생성해봅시다.
다음 공식을 입력하십시오.
"MALES" / "FEMALES"
This time the parameters window should look like this before pressing the OK button.
이전 버전에서는 두 항목 모두 정수형이기 때문에, 결과 또한 정수로 반올림될 것입니다. 이번 예제에서 공식은 1.0 * "MALES" / "FEMALES" 가 되어야 합니다. 산출물로 부동소수점(floating point) 숫자를 원하기 때문입니다.
새 필드에 비율값 대신 male 혹은 female 이라는 텍스트 문자열을 쓰려면 조건식(conditional function)을 사용할 수 있습니다. 다음 공식을 대신 입력해보십시오.
CASE WHEN "MALES" > "FEMALES" THEN 'male' ELSE 'female' END
파라미터 창이 다음과 같이 보여야 합니다.
A python field calculator is available in the Advanced Python field calculator, which will not be detailed here