25.1.5. 보간법
25.1.5.1. 히트 맵(커널 밀도 추정)
커널 밀도 추정(kernel density estimation)을 사용해서 입력 포인트 벡터 레이어의 밀도 (히트 맵(heat map)) 래스터 레이어를 생성합니다.
어떤 위치에 있는 포인트의 개수를 기반으로 밀도를 계산합니다. 군집 포인트의 개수가 많을수록 더 큰 값이 산출됩니다. 히트 맵을 사용하면 포인트의 핫 스폿(hot spot) 및 군집을 쉽게 식별할 수 있습니다.
파라미터
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Point layer |
|
[vector: point] |
히트 맵에 사용할 포인트 벡터 레이어 |
Radius |
|
[number] 기본값: 100.0 |
히트 맵의 맵 단위 검색 반경(또는 커널 대역폭). 이 반경은 포인트가 주위에 영향을 주는 거리를 지정합니다. 값이 클수록 더 평탄화되지만, 값이 작을수록 포인트 밀도의 상세한 변동을 자세히 볼 수 있을지도 모릅니다. |
Output raster size |
|
[number] 기본값: 0.1 |
산출 래스터 레이어의 레이어 단위 픽셀 크기 GUI에서 크기는 행/열의 개수( |
Radius from field 부가적 |
|
[tablefield: numeric] |
입력 레이어의 속성 필드로부터 각 피처에 대한 검색 반경을 설정합니다. |
Weight from field 부가적 |
|
[tablefield: numeric] |
입력 피처에 속성 필드로 가중치를 줄 수 있습니다. 산출 히트 맵 상에서 특정 피처의 영향력을 높이는 데 사용할 수 있습니다. |
Kernel shape |
|
[enumeration] 기본값: 0 |
포인트로부터의 거리가 늘어날수록 포인트의 영향력이 낮아지는 비율(rate)을 제어합니다. 서로 다른 커널은 서로 다른 비율로 영향력이 낮아집니다. 예를 들어 삼중가중(triweight) 커널은 예파네치니코프(Епанечников; Epanechnikov) 커널보다 포인트에 더 가까운 거리에 더 높은 가중치를 줍니다. 즉 삼중가중 커널은 “더 선명한(sharper)” 핫 스폿을 산출하고, 예파네치니코프 커널은 “더 평탄한(smoother)” 핫 스폿을 산출합니다. 여러 형태를 사용할 수 있습니다. (더 자세한 내용은 위키백과 페이지 를 참조하세요.)
|
Decay ratio (Triangular kernels only) 부가적 |
|
[number] 기본값: 0.0 |
삼각 커널 전용으로, 피처로부터의 거리가 멀어질수록 피처로부터의 열(heat)이 어떻게 낮아지는지 심도 있게 제어할 수 있습니다.
|
Output value scaling |
|
[enumeration] 기본값: Raw |
산출 히트 맵 래스터의 값을 변경할 수 있습니다. 다음 가운데 하나를 선택할 수 있습니다:
|
Heatmap |
|
[raster] 기본값: |
커널 밀도값을 가진 산출 래스터 레이어를 지정합니다. 다음 가운데 하나로 저장할 수 있습니다:
|
산출물
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Heatmap |
|
[raster] |
커널 밀도값을 가진 래스터 레이어 |
예제: 히트 맵 생성하기
이 예제를 따라가려면, QGIS 예시 데이터셋(예시 데이터 다운로드 참조)에 있는 airports
벡터 포인트 레이어가 필요합니다. 히트 맵 생성에 대한 또다른 탁월한 QGIS 지침을 http://qgistutorials.com 에서 찾을 수 있습니다.
그림 25.2 에서 알래스카 주의 공항을 볼 수 있습니다.
QGIS Interpolation 그룹에서 Heatmap (Kernel Density Estimation) 알고리즘을 여십시오.
Point layer 필드에서 현재 프로젝트에 불러온 포인트 레이어의 목록 가운데
airports
를 선택하십시오.Radius 를
1000000
미터로 변경하십시오.Pixel size X 를
1000
으로 변경하십시오. Pixel size Y, Rows 그리고 Columns 는 자동적으로 업데이트될 것입니다.Run 버튼을 클릭해서 공항 히트 맵을 생성하고 불러오십시오. (그림 25.4 참조)
QGIS가 히트 맵을 생성해서 사용자 맵 창에 추가할 것입니다. 히트 맵은 기본적으로 회색조 음영으로 렌더링됩니다. 색이 밝을수록 공항이 밀집되어 있다는 의미입니다. 이제 QGIS에서 히트 맵에 스타일을 적용해서 모양을 향상시킬 수 있습니다.
heatmap_airports
레이어의 속성 대화창을 여십시오. (heatmap_airports
레이어를 선택한 다음, 오른쪽 클릭으로 컨텍스트 메뉴를 열고 Properties 메뉴를 선택하십시오.)Symbology 탭을 선택하십시오.
Classify 버튼을 클릭하십시오.
OK 를 클릭해서 레이어를 업데이트하십시오.
마지막 결과물은 그림 25.5 와 같습니다.
파이썬 코드
알고리즘 ID: qgis:heatmapkerneldensityestimation
import processing
processing.run("algorithm_id", {parameter_dictionary})
공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.
25.1.5.2. 역거리 가중 보간법
포인트 벡터 레이어의 역거리 가중(IDW; Inverse Distance Weighted) 보간을 생성합니다.
보간 처리 과정에서, 어떤 포인트가 사용자가 생성하고자 하는 알려지지 않은 포인트로부터 멀어질수록 해당 포인트의 영향력이 다른 포인트에 상대적으로 낮아지도록 예시 포인트에 가중치를 부여합니다.
역거리 가중 보간법도 약점이 있습니다. 예시 데이터 포인트가 균등하지 않게 분포한 경우 보간 셜과의 질이 떨어질 수 있습니다.
게다가, 보간된 면의 최대 및 최소값은 예시 데이터 포인트 위치에만 나타날 수 있습니다.
파라미터
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Input layer(s) |
|
[string] |
보간을 위해 사용할, 문자열로 코딩된 벡터 레이어(들) 및 필드(들) (더 자세한 내용은 InterpolationWidgets 에 있는 보간 데이터 문자열을 작성하기 위해 다음과 같은 GUI 항목이 제공됩니다:
추가된 각 레이어-필드 조합별로, 다음과 같은 유형을 선택할 수 있습니다:
문자열에서 레이어-필드 항목은 |
Distance coefficient P |
|
[number] Default: 2.0 |
보간 작업을 위한 거리 계수(coefficient) 를 설정합니다. 최소값은 0.0, 최대값은 100.0입니다. |
Extent (xmin, xmax, ymin, ymax) |
|
[extent] |
산출 래스터 레이어의 범위입니다. 다음과 같은 메소드를 사용할 수 있습니다:
|
Output raster size |
|
[number] 기본값: 0.1 |
산출 래스터 레이어의 레이어 단위 픽셀 크기 GUI에서 크기는 행/열의 개수( |
Interpolated |
|
[raster] 기본값: |
보간된 값을 가질 래스터 레이어를 지정합니다. 다음 가운데 하나로 저장할 수 있습니다:
|
산출물
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Interpolated |
|
[raster] |
보간된 값을 가진 래스터 레이어 |
파이썬 코드
알고리즘 ID: qgis:idwinterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.
25.1.5.3. 라인 밀도
이 알고리즘은 각 래스터 셀에 대해 각 셀의 원형 구역(circular neighbourhood) 내에 있는 선형 객체들의 밀도 측정값을 계산합니다. 이 측정값은 각 셀에 대해 원형 구역과 교차하는 모든 라인 선분을 합한 값을 해당 원형 구역의 면적으로 나누어 얻어집니다. 라인 선분에 가중치를 적용할 수 있습니다.
파라미터
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Input line layer |
|
[vector: any] |
라인 객체를 담고 있는 입력 벡터 레이어 |
Weight field |
|
[number] |
계산 도중 사용할 가중치 인자를 담고 있는 레이어 필드 |
Search Radius |
|
[number] 기본값: 10 |
원형 구역의 반경. 여기에 단위를 지정할 수 있습니다. |
Pixel size |
|
[number] 기본값: 10 |
산출 래스터 레이어의 레이어 단위 픽셀 크기. 래스터 픽셀은 정사각형입니다. |
Line density raster |
|
[raster] 기본값: |
산출 래스터 레이어입니다. 다음 가운데 하나로 저장할 수 있습니다:
|
산출물
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Line density raster |
|
[raster] |
산출 라인 밀도 래스터 레이어 |
파이썬 코드
알고리즘 ID: native:linedensity
import processing
processing.run("algorithm_id", {parameter_dictionary})
공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.
25.1.5.4. 삼각불규칙망 보간법
포인트 벡터 레이어의 삼각불규칙망(TIN; Triangulated Irregular Network) 보간을 생성합니다.
삼각불규칙망 보간법을 사용하면 최근접 이웃한 포인트로 이루어진 삼각형으로 형성된 면을 생성할 수 있습니다. 삼각불규칙망을 생성하려면 선택한 예시 포인트들 주위에 외접원(circumcircle)을 생성하고, 외접원들의 교차점을 중첩하지 않는 망으로 연결해서 가능한 한 촘촘한 삼각형들을 생성해야 합니다. 산출되는 면은 평탄하지 않습니다.
이 알고리즘은 보간된 값을 가진 래스터 레이어와 삼각망 경계를 가진 벡터 라인 레이어를 둘 다 생성합니다.
파라미터
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Input layer(s) |
|
[string] |
보간을 위해 사용할, 문자열로 코딩된 벡터 레이어(들) 및 필드(들) (더 자세한 내용은 InterpolationWidgets 에 있는 보간 데이터 문자열을 작성하기 위해 다음과 같은 GUI 항목이 제공됩니다:
추가된 각 레이어-필드 조합별로, 다음과 같은 유형을 선택할 수 있습니다:
문자열에서 레이어-필드 항목은 |
Interpolation method |
|
[enumeration] 기본값: 0 |
사용할 보간법을 설정합니다. 다음 가운데 하나를 선택할 수 있습니다:
|
Extent (xmin, xmax, ymin, ymax) |
|
[extent] |
산출 래스터 레이어의 범위입니다. 다음과 같은 메소드를 사용할 수 있습니다:
|
Output raster size |
|
[number] 기본값: 0.1 |
산출 래스터 레이어의 레이어 단위 픽셀 크기 GUI에서 크기는 행/열의 개수( |
Interpolated |
|
[raster] 기본값: |
삼각불규칙망 보간의 산출물을 저장할 래스터 레이어입니다. 다음 가운데 하나로 저장할 수 있습니다:
|
Triangulation |
|
[vector: line] 기본값: |
삼각불규칙망 보간의 산출물을 저장할 벡터 레이어입니다. 다음 가운데 하나로 저장할 수 있습니다:
이 파라미터에서 파일 인코딩도 변경할 수 있습니다. |
산출물
라벨 |
명칭 |
유형 |
설명 |
---|---|---|---|
Interpolated |
|
[raster] |
삼각불규칙망 보간의 산출물을 저장한 래스터 레이어 |
Triangulation |
|
[vector: line] |
삼각불규칙망 보간의 산출물을 저장한 벡터 레이어 |
파이썬 코드
알고리즘 ID: qgis:tininterpolation
import processing
processing.run("algorithm_id", {parameter_dictionary})
공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.