비스발링암-와이엇 알고리즘 (Visvalingam–Whyatt Algorithm)

지도학
한 줄 정의: 선(라인) 형상을 구성하는 점들 중, 이웃한 두 점과 이루는 삼각형의 면적이 가장 작은 점부터 순서대로 제거하여 선을 단순화하는 알고리즘입니다.

쉽게 풀면

지도에 그려진 구불구불한 해안선이나 도로를 상상해 보세요. 점이 너무 많으면 지도가 복잡해 보이고 파일도 무거워집니다. 이 알고리즘은 각 점이 주변 두 점과 만들어내는 삼각형의 넓이를 계산해, 넓이가 가장 작은(즉 있으나 없으나 모양에 별 영향을 주지 않는) 점부터 하나씩 지워 나갑니다. 마치 그림을 그릴 때 눈에 잘 띄지 않는 작은 굴곡부터 지우개로 지워 큰 흐름만 남기는 것과 비슷합니다. 이렇게 하면 전체적인 형태는 유지하면서 점의 개수를 크게 줄일 수 있습니다.

왜 중요한가

지도 일반화에서 선형 데이터를 단순화하는 대표적인 방법 중 하나로, 데이터 용량을 줄이고 렌더링 속도를 높이는 데 널리 쓰입니다. 특히 다양한 축척에서 자연스러운 형태를 유지해야 하는 지도 서비스나 GIS 소프트웨어에서 자주 채택됩니다.

논문에서는 이렇게 쓰입니다

"본 연구는 도로망 데이터의 단순화를 위해 비스발링암-와이엇 알고리즘을 적용하여 원본 대비 정점 수를 상당히 줄였다."

도로망처럼 정점이 많은 선형 데이터를 다룰 때 이 알고리즘을 활용해 데이터량을 줄인 사례입니다.

"더글라스-포이커 알고리즘과 비교했을 때, 비스발링암-와이엇 알고리즘은 단순화 과정에서 더 매끄러운 형태를 유지하는 경향을 보였다."

다른 대표적인 선 단순화 기법과의 비교 연구에서 형태 보존 특성을 논의하는 예문입니다.

조금 더 깊게 보면

알고리즘은 각 점의 "유효면적(effective area)"을 계산해 우선순위 큐에 저장하고, 가장 작은 유효면적을 가진 점을 제거한 뒤 인접 점들의 유효면적을 다시 계산하는 과정을 반복합니다. 원하는 점 개수나 면적 임계값에 도달할 때까지 이 과정을 반복하여 단순화 정도를 조절할 수 있습니다. 더글라스-포이커 알고리즘이 점과 직선 사이의 거리를 기준으로 삼는 것과 달리, 이 방법은 면적을 기준으로 하여 시각적으로 더 자연스러운 결과를 낸다는 평가를 받습니다.

주의할 점

단순화 정도를 지나치게 높이면 중요한 지형지물(예: 만이나 곶 같은 특징적 굴곡)이 사라질 수 있으므로, 임계값 설정에 주의가 필요합니다.

관련 용어