범용 지도는 모든 것을 보여주려 합니다. 도로가 어디 있는지, 지형이 어떤 모습인지, 도시가 어디에 있고 국경이 어디로 흐르는지까지요. 주제도는 그 반대입니다. 인구 밀도, 선거 결과, 강수량 같은 하나의 주제만 골라내고 나머지 지리는 조용한 배경으로 물러나게 합니다. 페이지 위의 모든 요소가 그 하나의 데이터셋을 읽기 쉽게 만들기 위해 존재하는 셈이죠.
주제도는 기자가 선거 결과를 설명하는 방식이고, 역학자가 발병을 추적하는 방식이며, 도시 계획가가 인프라 규모를 정하는 방식이고, 프로덕트 팀이 어떤 시장에 진출할지 결정하는 방식입니다. 어떤 지도를 보고 스프레드시트에서는 절대 보이지 않았을 패턴을 단숨에 이해해본 적이 있다면, 그게 바로 주제도를 본 경험입니다.
이 가이드에서는 주제도가 무엇인지, 어떤 유형이 있는지, 언제 어떤 유형을 써야 하는지, 그리고 MapAtlas Maps API로 주제도를 어떻게 만드는지 살펴봅니다.
무엇이 지도를 "주제도"로 만드는가
참조 지도(아틀라스 한 페이지를 떠올려보세요)는 여러 요소를 동시에 보여주고 그것들을 대체로 동등하게 다룹니다. 주제도는 지리를 베이스 레이어로 강등시키고 단일 데이터셋을 전면에 내세웁니다. 베이스 레이어는 의도적으로 톤다운되어 있어서, 보통 회색 처리된 경계선이나 옅은 도로망이 깔리고, 시선은 데이터를 담은 색상, 점, 기호로 자연스럽게 향합니다.
좋은 주제도를 만드는 두 가지가 있습니다. 첫째, 명확한 주제입니다. 변수 하나를 잘 표현하는 것이 다섯 개의 변수가 시선을 두고 다투는 것보다 낫습니다. 둘째, 정직한 시각적 인코딩입니다. 색상 체계, 분류 방식, 기호 유형의 선택은 데이터 안의 패턴을 드러내야지, 없는 패턴을 만들어내서는 안 됩니다.
주제도의 주요 유형
단계 구분도 (Choropleth)
단계 구분도는 국가, 주, 우편번호 영역, 헥스 그리드처럼 미리 정의된 영역을 값에 해당하는 색으로 채웁니다. 데이터가 이미 행정 경계와 연결되어 있고 정규화된 상태일 때 잘 작동합니다. 지역별 투표율이 대표적인 예입니다. 데이터는 반드시 정규화하세요. 단계 구분도에서 원시 카운트는 큰 지역을 부풀리고 작은 지역의 패턴을 가려버리니까요.
점밀도 지도 (Dot Density)
점밀도 지도는 어떤 현상이 N건 발생할 때마다 점을 하나씩 찍습니다. 인구 점밀도 지도라면 인구 1,000명당 점 하나를 찍는 식이죠. 숫자를 계산하거나 라벨을 붙이지 않아도 시선이 점들의 군집을 밀도로 자연스럽게 읽어냅니다. 원시 카운트에 잘 맞고, 단계 구분도의 면적 편향 문제도 피할 수 있습니다.
비례 기호 지도 (Proportional Symbol)
비례 기호 지도는 각 위치에 원(또는 다른 도형)을 두고 값에 비례해 크기를 조정합니다. 점 위치에 묶인 원시 카운트, 예를 들면 매장별 고객 수, 지진 규모, 도시별 인구 같은 데이터에 아주 잘 맞습니다. 독자는 두 도시를 두 원의 크기로 직접 비교할 수 있고, 각 도시의 실제 면적이 얼마나 큰지는 영향을 주지 않습니다.
등치선 지도와 히트맵 (Isarithmic & Heat Maps)
등치선 지도(등고선 지도라고도 부름)는 연속된 표면 위에 같은 값을 잇는 선이나 채워진 띠를 그립니다. 지형 등고선, 기상 등온선, 등압선이 모두 등치선 지도에 해당합니다. 웹에서 흔히 보는 히트맵은 점 데이터를 부드럽게 펼쳐 연속적인 색상 표면으로 만든 것으로, 도시나 웹사이트에서 활동이 어디에 몰리는지 보여줄 때 유용합니다.
밀도 분포도와 카토그램 (Dasymetric & Cartogram)
밀도 분포도(dasymetric map)는 토지 이용 같은 보조 데이터를 활용해 값이 실제로 발생하는 영역으로 밀어 넣어 단계 구분도를 정교화합니다. 카토그램은 데이터에 맞춰 지역의 크기 자체를 왜곡합니다. 그래서 인구가 많은 나라는 실제 면적과 무관하게 지도 위에서 크게 표현됩니다. 표준 유형이 오해를 줄 수 있는 상황에서 둘 다 강력한 무기가 됩니다.
적합한 유형 고르기
데이터에서 출발하세요. 행정 구역과 묶인 비율이나 백분율이라면 단계 구분도. 점 위치에 묶인 원시 카운트라면 비례 기호. 면적 위에 펼쳐진 원시 카운트라면 점밀도. 온도나 고도처럼 연속적인 변수라면 등치선 지도. 물리적 면적이 메시지를 왜곡한다면 카토그램이 답입니다.
그다음에 색상 체계를 고릅니다. 순차형 팔레트(밝음에서 어두움으로)는 순서가 있는 데이터에 맞고, 발산형 팔레트(중간점에서 두 색이 만남)는 기준선 대비 변화처럼 의미 있는 0이 존재하는 데이터에 맞습니다. 범주형 팔레트는 순서가 없는 카테고리에 씁니다. 어떤 경우든 ColorBrewer 팔레트가 여전히 표준 레퍼런스입니다.
MapAtlas로 주제도 만들기
MapAtlas Maps API는 위에서 다룬 어떤 유형에도 어울리는 벡터 타일과 스타일링 컨트롤을 제공합니다. 행정 경계가 포함된 베이스 스타일을 불러오고, 데이터를 GeoJSON으로 가져와서, 단계 구분도라면 fill 레이어, 비례 기호라면 circle 레이어, 밀도 시각화라면 heatmap 레이어를 추가하면 됩니다.
행정 구역 데이터라면 가장 쉬운 워크플로우는 경계를 GeoJSON으로 호스팅하고, 지도화하려는 값을 각 feature의 property로 붙인 다음, 그 property를 색상 램프에 매핑하는 data-driven 색상 표현식을 가진 fill 레이어를 추가하는 것입니다. 점 데이터라면 값을 property로 붙이고, 그 값으로 크기를 조정하는 circle-radius 표현식을 사용하세요. 복잡한 지도 위에서 가독성을 위해 circle-stroke를 함께 쓰면 좋습니다.
목표가 인터랙티브 분석(특정 지역을 클릭해 정확한 수치 확인, 카테고리별 필터링, 시간 흐름 애니메이션)이라면, Maps API에 가벼운 클라이언트 사이드 상태 레이어를 결합하세요. 블로그 글이나 리포트용 일회성 정적 지도라면, 같은 API로 PNG로 저장 가능한 정적 이미지를 렌더링할 수 있습니다.
또한 좌표 조회 도구로 주소를 기호 배치에 필요한 위/경도로 변환할 수 있고, 라우팅 API로 차량 이동 시간 기반 권역(catchment)을 계산해 접근성을 주제로 한 지도를 만들 수도 있습니다.
흔히 저지르는 실수
가장 흔한 실패는 단계 구분도에 원시 카운트를 쓰는 것입니다. 면적이 두 배인 지역은 두 배 더 중요해 보이게 됩니다. 두 번째는 색상 구간을 과하게 나누는 것인데, 이러면 패턴이 오히려 흐려집니다. 보통 5개에서 7개 정도면 충분합니다. 세 번째는 색맹 접근성을 무시하는 것입니다. 기본으로 쓰이는 빨강-초록 팔레트는 적지 않은 사용자에게 거의 읽히지 않습니다.
주제도는 결국 커뮤니케이션의 한 형태입니다. 수치는 정직해야 하고, 인코딩은 명료해야 하며, 독자는 패턴을 몇 초 안에 파악할 수 있어야 합니다. 그 조건이 맞아떨어지면 지도 한 장이 스프레드시트 천 줄을 대신할 수 있습니다.
자주 묻는 질문
주제도란 무엇인가요?
주제도는 인구 밀도, 평균 소득, 선거 결과, 강수량처럼 하나의 특정 주제에 대한 공간 패턴을 보여주기 위해 설계된 지도입니다. 도로, 강, 도시, 지형 같은 여러 요소를 한꺼번에 보여주려는 일반 참조 지도와 달리, 주제도는 다른 모든 요소를 단일 데이터셋에 종속시키고 색상, 음영, 기호 등을 사용해 그 데이터를 한눈에 읽을 수 있게 만듭니다.
주제도의 주요 유형은 어떤 것이 있나요?
가장 일반적인 네 가지 유형은 단계 구분도(국가나 시군구처럼 미리 정의된 영역을 값에 따라 색칠), 점밀도 지도(현상이 N건 발생할 때마다 점을 하나씩 찍음), 비례 기호 지도(각 위치에 원이나 사각형을 두고 값에 비례해 크기를 조정), 등치선 또는 등고선 지도(온도 등온선이나 지형 등고선처럼 같은 값을 잇는 선이나 채워진 띠를 그림)입니다. 히트맵과 밀도 분포도(dasymetric map)도 널리 쓰이는 변형입니다.
단계 구분도는 언제 쓰고, 언제 피해야 하나요?
데이터가 행정 구역과 자연스럽게 연결되어 있고 정규화된 값(원시 카운트가 아니라 비율, 백분율, 1인당 값)일 때 단계 구분도를 쓰세요. 원시 카운트에는 쓰지 마세요. 단순히 면적이 크다는 이유만으로 큰 지역이 더 중요해 보이기 때문입니다. 원시 카운트라면 보통 비례 기호 지도나 점밀도 지도가 더 나은 선택입니다.

