23.1.5. 보간법

23.1.5.1. 히트 맵(커널 밀도 추정)

커널 밀도 추정(kernel density estimation)을 사용해서 입력 포인트 벡터 레이어의 밀도 (히트 맵(heat map)) 래스터 레이어를 생성합니다.

어떤 위치에 있는 포인트의 개수를 기반으로 밀도를 계산합니다. 군집 포인트의 개수가 많을수록 더 큰 값이 산출됩니다. 히트 맵을 사용하면 포인트의 핫 스폿(hot spot) 및 군집을 쉽게 식별할 수 있습니다.

23.1.5.1.1. 파라미터

라벨

명칭

유형

설명

Point layer

INPUT

[vector: point]

히트 맵에 사용할 포인트 벡터 레이어

Radius

RADIUS

[number]

기본값: 100.0

히트 맵의 맵 단위 검색 반경(또는 커널 대역폭). 이 반경은 포인트가 주위에 영향을 주는 거리를 지정합니다. 값이 클수록 더 평탄화되지만, 값이 작을수록 포인트 밀도의 상세한 변동을 자세히 볼 수 있을지도 모릅니다.

Output raster size

PIXEL_SIZE

[number]

기본값: 0.1

산출 래스터 레이어의 레이어 단위 픽셀 크기

GUI에서 크기는 행/열의 개수(Number of rows / Number of columns) 또는 픽셀 크기(Pixel Size X / Pixel Size Y)로 지정할 수 있습니다. 행 또는 열의 개수를 늘리면 산출 래스터의 셀 크기가 작아지고 파일 용량은 커집니다. Rows, Columns, Pixel Size XPixel Size Y 의 값은 동시에 업데이트될 것입니다. 행의 개수를 2배 늘리면 열의 개수도 2배로 늘어나고, 셀 크기는 반으로 줄 것입니다. 산출 래스터의 범위는 (거의) 동일하게 유지됩니다.

Radius from field

부가적

RADIUS_FIELD

[tablefield: numeric]

입력 레이어의 속성 필드로부터 각 피처에 대한 검색 반경을 설정합니다.

Weight from field

부가적

WEIGHT_FIELD

[tablefield: numeric]

입력 피처에 속성 필드로 가중치를 줄 수 있습니다. 산출 히트 맵 상에서 특정 피처의 영향력을 높이는 데 사용할 수 있습니다.

Kernel shape

KERNEL

[enumeration]

기본값: 0

포인트로부터의 거리가 늘어날수록 포인트의 영향력이 낮아지는 비율(rate)을 제어합니다. 서로 다른 커널은 서로 다른 비율로 영향력이 낮아집니다. 예를 들어 삼중가중(triweight) 커널은 예파네치니코프(Епанечников; Epanechnikov) 커널보다 포인트에 더 가까운 거리에 더 높은 가중치를 줍니다. 즉 삼중가중 커널은 《더 선명한(sharper)》 핫 스폿을 산출하고, 예파네치니코프 커널은 《더 평탄한(smoother)》 핫 스폿을 산출합니다.

여러 형태를 사용할 수 있습니다. (더 자세한 내용은 위키백과 페이지 를 참조하세요.)

  • 0 — 4차 다항(Quartic)

  • 1 — 삼각(Triangular)

  • 2 — 균일(Uniform)

  • 3 — 삼중가중(Triweight)

  • 4 — 예파네치니코프(Epanechnikov)

Decay ratio (Triangular kernels only)

부가적

DECAY

[number]

기본값: 0.0

삼각 커널 전용으로, 피처로부터의 거리가 멀어질수록 피처로부터의 열(heat)이 어떻게 낮아지는지 심도 있게 제어할 수 있습니다.

  • 값이 (최소값인) 0인 경우 열이 지정한 반경의 중심에 집중되고 경계에서는 완전히 꺼질 것입니다.

  • 값이 0.5인 경우 검색 반경의 경계에 있는 픽셀의 열이 중심에 있는 픽셀의 열의 반이 될 것입니다.

  • 값이 1인 경우 열이 검색 반경의 원 전체에 걸쳐 균등하게 퍼질 것입니다. (이는 〈균일〉 커널과 동일합니다.)

  • 값이 1보다 큰 경우 열이 경계로 갈수록 중심보다 높아질 것입니다.

Output value scaling

OUTPUT_VALUE

[enumeration]

기본값: Raw

산출 히트 맵 래스터의 값을 변경할 수 있습니다. 다음 가운데 하나를 선택할 수 있습니다:

  • 0 — 원본(Raw)

  • 1 — 척도 변경(Scaled)

Heatmap

OUTPUT

[raster]

기본값: [Save to temporary file]

커널 밀도값을 가진 산출 래스터 레이어를 지정합니다. 다음 가운데 하나로 저장할 수 있습니다:

  • 임시 파일로 저장

  • 파일로 저장

이 파라미터에서 파일 인코딩도 변경할 수 있습니다.

23.1.5.1.2. 산출물

라벨

명칭

유형

설명

Heatmap

OUTPUT

[raster]

커널 밀도값을 가진 래스터 레이어

23.1.5.1.3. 예제: 히트 맵 생성하기

이 예제를 따라가려면, QGIS 예시 데이터셋(예시 데이터 다운로드 참조)에 있는 airports 벡터 포인트 레이어가 필요합니다. 히트 맵 생성에 대한 또다른 탁월한 QGIS 지침을 http://qgistutorials.com 에서 찾을 수 있습니다.

알래스카 주의 공항들 그림에서 알래스카 주의 공항을 볼 수 있습니다.

../../../../_images/heatmap_start.png

그림 23.2 알래스카 주의 공항들

  1. QGIS Interpolation 그룹에서 Heatmap (Kernel Density Estimation) 알고리즘을 여십시오.

  2. Point layer selectString 필드에서 현재 프로젝트에 불러온 포인트 레이어의 목록 가운데 airports 를 선택하십시오.

  3. Radius1000000 미터로 변경하십시오.

  4. Pixel size X1000 으로 변경하십시오. Pixel size Y, Rows 그리고 Columns 는 자동적으로 업데이트될 것입니다.

  5. Run 버튼을 클릭해서 공항 히트 맵을 생성하고 불러오십시오. (불러온 직후의 히트 맵은 회색 면처럼 보입니다 그림 참조)

../../../../_images/heatmap_dialog.png

그림 23.3 히트 맵 대화창

QGIS가 히트 맵을 생성해서 사용자 맵 창에 추가할 것입니다. 히트 맵은 기본적으로 회색조 음영으로 렌더링됩니다. 색이 밝을수록 공항이 밀집되어 있다는 의미입니다. 이제 QGIS에서 히트 맵에 스타일을 적용해서 모양을 향상시킬 수 있습니다.

../../../../_images/heatmap_loaded_grey.png

그림 23.4 불러온 직후의 히트 맵은 회색 면처럼 보입니다

  1. heatmap_airports 레이어의 속성 대화창을 여십시오. (heatmap_airports 레이어를 선택한 다음, 오른쪽 클릭으로 컨텍스트 메뉴를 열고 Properties 메뉴를 선택하십시오.)

  2. Symbology 탭을 선택하십시오.

  3. Render type selectString 옵션을 〈Singleband pseudocolor〉 로 변경하십시오.

  4. Color ramp selectString 에서 알맞은 색상표를, 예를 들어 YlOrRd 를 선택하십시오.

  5. Classify 버튼을 클릭하십시오.

  6. OK 를 클릭해서 레이어를 업데이트하십시오.

마지막 결과물이 스타일을 적용한 알래스카 주 공항의 히트 맵 그림입니다.

../../../../_images/heatmap_loaded_colour.png

그림 23.5 스타일을 적용한 알래스카 주 공항의 히트 맵

23.1.5.1.4. 파이썬 코드

Algorithm ID: qgis:heatmapkerneldensityestimation

import processing
processing.run("algorithm_id", {parameter_dictionary})

공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.

23.1.5.2. 역거리 가중 보간법

포인트 벡터 레이어의 역거리 가중(IDW; Inverse Distance Weighted) 보간을 생성합니다.

보간 처리 과정에서, 어떤 포인트가 사용자가 생성하고자 하는 알려지지 않은 포인트로부터 멀어질수록 해당 포인트의 영향력이 다른 포인트에 상대적으로 낮아지도록 예시 포인트에 가중치를 부여합니다.

역거리 가중 보간법도 약점이 있습니다. 예시 데이터 포인트가 균등하지 않게 분포한 경우 보간 셜과의 질이 떨어질 수 있습니다.

게다가, 보간된 면의 최대 및 최소값은 예시 데이터 포인트 위치에만 나타날 수 있습니다.

23.1.5.2.1. 파라미터

라벨

명칭

유형

설명

Input layer(s)

INTERPOLATION_DATA

[string]

보간을 위해 사용할, 문자열로 코딩된 벡터 레이어(들) 및 필드(들) (더 자세한 내용은 InterpolationWidgets 에 있는 ParameterInterpolationData 클래스를 참조하세요.)

보간 데이터 문자열을 작성하기 위해 다음과 같은 GUI 항목이 제공됩니다:

  • Vector layer [vector: any]

  • Interpolation attribute [tablefield: numeric]: 보간 작업에 사용할 속성

  • Use Z-coordinate for interpolation [boolean]: 레이어에 저장된 Z값 (기본값: False)

추가된 각 레이어-필드 조합별로, 다음과 같은 유형을 선택할 수 있습니다:

  • Points

  • Structured lines

  • Break lines

문자열에서 레이어-필드 항목은 '::|::' 로 구분됩니다. 레이어-필드 항목의 하위 항목은 '::~::' 로 구분됩니다.

Distance coefficient P

DISTANCE_COEFFICIENT

[number]

Default: 2.0

보간 작업을 위한 거리 계수(coefficient) 를 설정합니다. 최소값은 0.0, 최대값은 100.0입니다.

Extent (xmin, xmax, ymin, ymax)

EXTENT

[extent]

산출 래스터 레이어의 범위입니다. 맵 캔버스에서 범위를 선택하거나, 다른 레이어로부터 선택하거나, 또는 직접 입력해서 산출물의 범위를 선언해야 합니다.

Output raster size

PIXEL_SIZE

[number]

기본값: 0.1

산출 래스터 레이어의 레이어 단위 픽셀 크기

GUI에서 크기는 행/열의 개수(Number of rows / Number of columns) 또는 픽셀 크기(Pixel Size X / Pixel Size Y)로 지정할 수 있습니다. 행 또는 열의 개수를 늘리면 산출 래스터의 셀 크기가 작아지고 파일 용량은 커집니다. Rows, Columns, Pixel Size XPixel Size Y 의 값은 동시에 업데이트될 것입니다. 행의 개수를 2배 늘리면 열의 개수도 2배로 늘어나고, 셀 크기는 반으로 줄 것입니다. 산출 래스터의 범위는 (거의) 동일하게 유지됩니다.

Interpolated

OUTPUT

[raster]

기본값: [Save to temporary file]

보간된 값을 가질 래스터 레이어를 지정합니다. 다음 가운데 하나로 저장할 수 있습니다:

  • 임시 파일로 저장

  • 파일로 저장

이 파라미터에서 파일 인코딩도 변경할 수 있습니다.

23.1.5.2.2. 산출물

라벨

명칭

유형

설명

Interpolated

OUTPUT

[raster]

보간된 값을 가진 래스터 레이어

23.1.5.2.3. 파이썬 코드

Algorithm ID: qgis:idwinterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.

23.1.5.3. 삼각불규칙망 보간법

포인트 벡터 레이어의 삼각불규칙망(TIN; Triangulated Irregular Network) 보간을 생성합니다.

삼각불규칙망 보간법을 사용하면 최근접 이웃한 포인트로 이루어진 삼각형으로 형성된 면을 생성할 수 있습니다. 삼각불규칙망을 생성하려면 선택한 예시 포인트들 주위에 외접원(circumcircle)을 생성하고, 외접원들의 교차점을 중첩하지 않는 망으로 연결해서 가능한 한 촘촘한 삼각형들을 생성해야 합니다. 산출되는 면은 평탄하지 않습니다.

이 알고리즘은 보간된 값을 가진 래스터 레이어와 삼각망 경계를 가진 벡터 라인 레이어를 둘 다 생성합니다.

23.1.5.3.1. 파라미터

라벨

명칭

유형

설명

Input layer(s)

INTERPOLATION_DATA

[string]

보간을 위해 사용할, 문자열로 코딩된 벡터 레이어(들) 및 필드(들) (더 자세한 내용은 InterpolationWidgets 에 있는 ParameterInterpolationData 클래스를 참조하세요.)

보간 데이터 문자열을 작성하기 위해 다음과 같은 GUI 항목이 제공됩니다:

  • Vector layer [vector: any]

  • Interpolation attribute [tablefield: numeric]: 보간 작업에 사용할 속성

  • Use Z-coordinate for interpolation [boolean]: 레이어에 저장된 Z값 (기본값: False)

추가된 각 레이어-필드 조합별로, 다음과 같은 유형을 선택할 수 있습니다:

  • Points

  • Structured lines

  • Break lines

문자열에서 레이어-필드 항목은 '::|::' 로 구분됩니다. 레이어-필드 항목의 하위 항목은 '::~::' 로 구분됩니다.

Interpolation method

METHOD

[enumeration]

기본값: 0

사용할 보간법을 설정합니다. 다음 가운데 하나를 선택할 수 있습니다:

  • Linear

  • Clough-Toucher (cubic)

Extent (xmin, xmax, ymin, ymax)

EXTENT

[extent]

산출 래스터 레이어의 범위입니다. 맵 캔버스에서 범위를 선택하거나, 다른 레이어로부터 선택하거나, 또는 직접 입력해서 산출물의 범위를 선언해야 합니다.

Output raster size

PIXEL_SIZE

[number]

기본값: 0.1

산출 래스터 레이어의 레이어 단위 픽셀 크기

GUI에서 크기는 행/열의 개수(Number of rows / Number of columns) 또는 픽셀 크기(Pixel Size X / Pixel Size Y)로 지정할 수 있습니다. 행 또는 열의 개수를 늘리면 산출 래스터의 셀 크기가 작아지고 파일 용량은 커집니다. Rows, Columns, Pixel Size XPixel Size Y 의 값은 동시에 업데이트될 것입니다. 행의 개수를 2배 늘리면 열의 개수도 2배로 늘어나고, 셀 크기는 반으로 줄 것입니다. 산출 래스터의 범위는 (거의) 동일하게 유지됩니다.

Interpolated

OUTPUT

[raster]

기본값: [Save to temporary file]

삼각불규칙망 보간의 산출물을 저장할 래스터 레이어입니다. 다음 가운데 하나로 저장할 수 있습니다:

  • 임시 파일로 저장

  • 파일로 저장

이 파라미터에서 파일 인코딩도 변경할 수 있습니다.

Triangulation

TRIANGULATION

[vector: line]

기본값: [Skip output]

삼각불규칙망 보간의 산출물을 저장할 벡터 레이어입니다. 다음 가운데 하나로 저장할 수 있습니다:

  • 산출물 건너뛰기

  • 임시 레이어 생성 (TEMPORARY_OUTPUT)

  • 파일로 저장

  • Geopackage로 저장

  • PostGIS 테이블로 저장

23.1.5.3.2. 산출물

라벨

명칭

유형

설명

Interpolated

OUTPUT

[raster]

삼각불규칙망 보간의 산출물을 저장한 래스터 레이어

Triangulation

TRIANGULATION

[vector: line]

삼각불규칙망 보간의 산출물을 저장한 벡터 레이어

23.1.5.3.3. 파이썬 코드

Algorithm ID: qgis:tininterpolation

import processing
processing.run("algorithm_id", {parameter_dictionary})

공간 처리 툴박스에 있는 알고리즘 위에 마우스를 가져가면 알고리즘 ID 를 표시합니다. 파라미터 목록(dictionary) 은 파라미터 명칭 및 값을 제공합니다. 파이썬 콘솔에서 공간 처리 알고리즘을 어떻게 실행하는지 자세히 알고 싶다면 콘솔에서 공간 처리 알고리즘 사용 을 참조하세요.