포트폴리오 — 시군구 카토그램
Two hundred forty-five
대한민국 전도를 육각형 245개로 나눴습니다. 한 칸이 시군구 하나이고, 칸의 위치는 경계 파일에서 계산한 실제 중심점으로 정합니다. 이름은 보이지 않습니다 — 올려 보세요.
인구 1만 명당 중개사무소 · 시군구
색이 값이고, 여기까지 두 번 틀렸습니다. 처음에는 육각형 크기였는데, 상위 네 곳(중구 39.8, 강남 37.0, 용산 34.0, 서초 31.3)이 최댓값을 끌고 가는 바람에 나머지 80%가 반지름 0.36~0.72 사이에 몰려 전부 같아 보였습니다. 다음은 등량 7단계였는데 개수는 완벽하고 폭이 아니었습니다 — 5.0, 3.9, 2.4, 2.1, 2.3, 2.5 그리고 20.6. 마지막 계급이 나머지 여섯을 합친 것보다 넓어서 19.3과 39.8이 같은 색이었습니다. 지금은 자연 분급(Fisher-Jenks) 8단계입니다. 계급 안의 편차 제곱합이 최소가 되도록 끊으므로, "어디서 나뉘는가"를 정하는 게 아니라 자료에 묻습니다. 대가는 개수가 고르지 않다는 것 — 위 두 계급을 합쳐 아홉 곳뿐이라 이 지도에서 면적은 아무것에도 비례하지 않습니다. 그래서 범례에 계급별 개수까지 적었고, 정확한 숫자는 칸을 짚으면 나옵니다.
육각형을 누르면 그 시군구의 읍면동 격자가 열립니다. 색이 죽은 칸은 읍면동이 다섯 곳 미만이라 격자가 없습니다.
245개 시군구 · 칸 하나가 시군구 하나이고, 색이 인구 1만 명당 사무소 수입니다.
자연 분급 8단계 · 계급 시작값과 그 계급의 시군구 수
- 1.141
- 6.727
- 9.946
- 13.056
- 16.243
- 19.723
- 25.76
- 34.03
39.8
순위대로 전부 보기
- 중구 · 39.8
- 강남구 · 37.0
- 용산구 · 34.0
- 서초구 · 31.3
- 종로구 · 30.5
- 강서구 · 28.4
- 강화군 · 26.7
- 동구 · 25.9
- 마포구 · 25.7
- 중구 · 24.1
- 서구 · 23.7
- 중구 · 23.5
- 제주시 · 22.7
- 성동구 · 22.7
- 영등포구 · 22.3
- 수영구 · 22.1
- 성남시중원구 · 22.0
- 평택시 · 21.7
- 세종시 · 21.5
- 양평군 · 21.4
- 남구 · 21.3
- 수원시팔달구 · 21.3
- 광산구 · 20.9
- 전주시덕진구 · 20.9
- 광진구 · 20.9
- 천안시서북구 · 20.6
- 전주시완산구 · 20.5
- 과천시 · 20.2
- 금천구 · 20.2
- 성남시수정구 · 20.1
- 송파구 · 20.1
- 수성구 · 19.7
- 안양시동안구 · 19.5
- 동대문구 · 19.4
- 시흥시 · 19.3
- 하남시 · 19.1
- 강동구 · 19.0
- 진주시 · 19.0
- 성남시분당구 · 19.0
- 창원시성산구 · 19.0
- 유성구 · 19.0
- 용인시처인구 · 18.9
- 부천시원미구 · 18.6
- 청주시흥덕구 · 18.5
- 해운대구 · 18.4
- 부천시오정구 · 18.3
- 동래구 · 18.3
- 안산시단원구 · 18.1
- 포천시 · 18.1
- 구리시 · 18.0
- 속초시 · 18.0
- 고양시일산동구 · 17.9
- 연제구 · 17.9
- 은평구 · 17.7
- 서대문구 · 17.6
- 양천구 · 17.5
- 강서구 · 17.5
- 군산시 · 17.4
- 안성시 · 17.4
- 김포시 · 17.4
- 아산시 · 17.3
- 광명시 · 17.3
- 북구 · 17.2
- 김해시 · 17.1
- 동작구 · 17.1
- 서구 · 16.9
- 함안군 · 16.9
- 금정구 · 16.9
- 경산시 · 16.8
- 수원시영통구 · 16.7
- 양산시 · 16.7
- 기장군 · 16.4
- 부산진구 · 16.3
- 서귀포시 · 16.2
- 창원시의창구 · 16.2
- 안양시만안구 · 16.1
- 강북구 · 16.1
- 남구 · 16.0
- 구로구 · 15.9
- 이천시 · 15.8
- 연수구 · 15.7
- 당진시 · 15.6
- 여주시 · 15.5
- 광주시 · 15.4
- 성북구 · 15.4
- 고양시일산서구 · 15.4
- 포항시북구 · 15.2
- 군포시 · 15.2
- 남구 · 15.2
- 칠곡군 · 15.1
- 가평군 · 15.0
- 울주군 · 15.0
- 고양시덕양구 · 14.9
- 중랑구 · 14.9
- 연천군 · 14.8
- 수원시장안구 · 14.8
- 천안시동남구 · 14.8
- 원주시 · 14.8
- 밀양시 · 14.7
- 동구 · 14.7
- 달성군 · 14.7
- 군위군 · 14.6
- 수원시권선구 · 14.6
- 횡성군 · 14.5
- 음성군 · 14.5
- 구미시 · 14.4
- 부평구 · 14.4
- 달서구 · 14.3
- 무안군 · 14.2
- 관악구 · 14.2
- 의왕시 · 14.1
- 남구 · 14.1
- 부천시소사구 · 14.1
- 동구 · 14.1
- 남양주시 · 14.0
- 공주시 · 13.9
- 서산시 · 13.8
- 창원시마산합포구 · 13.8
- 동구 · 13.7
- 충주시 · 13.7
- 파주시 · 13.6
- 목포시 · 13.5
- 중구 · 13.5
- 북구 · 13.4
- 동두천시 · 13.3
- 순천시 · 13.3
- 양주시 · 13.3
- 용인시수지구 · 13.3
- 남동구 · 13.2
- 나주시 · 13.1
- 계양구 · 13.0
- 도봉구 · 12.8
- 용인시기흥구 · 12.8
- 대덕구 · 12.6
- 의정부시 · 12.6
- 사상구 · 12.5
- 춘천시 · 12.5
- 사천시 · 12.4
- 안산시상록구 · 12.4
- 창원시진해구 · 12.4
- 강릉시 · 12.3
- 창원시마산회원구 · 12.2
- 사하구 · 12.2
- 청주시상당구 · 12.1
- 서구 · 12.1
- 영천시 · 12.0
- 태안군 · 11.9
- 완주군 · 11.9
- 노원구 · 11.8
- 광양시 · 11.7
- 홍천군 · 11.7
- 중구 · 11.7
- 창녕군 · 11.6
- 오산시 · 11.4
- 포항시남구 · 11.3
- 평창군 · 11.3
- 김천시 · 11.0
- 진천군 · 11.0
- 익산시 · 10.9
- 담양군 · 10.9
- 문경시 · 10.8
- 북구 · 10.7
- 증평군 · 10.6
- 북구 · 10.6
- 경주시 · 10.5
- 화순군 · 10.5
- 예산군 · 10.5
- 금산군 · 10.4
- 영도구 · 10.4
- 고성군 · 10.3
- 서구 · 10.3
- 양양군 · 10.3
- 부안군 · 10.0
- 거제시 · 10.0
- 계룡시 · 10.0
- 장성군 · 10.0
- 제천시 · 9.9
- 고령군 · 9.5
- 성주군 · 9.4
- 옹진군 · 9.3
- 산청군 · 9.2
- 통영시 · 9.1
- 홍성군 · 8.9
- 영주시 · 8.9
- 단양군 · 8.7
- 괴산군 · 8.6
- 논산시 · 8.5
- 상주시 · 8.4
- 하동군 · 8.3
- 고성군 · 8.3
- 청도군 · 8.3
- 보령시 · 8.1
- 여수시 · 8.1
- 고창군 · 8.0
- 예천군 · 7.7
- 동구 · 7.7
- 청송군 · 7.4
- 철원군 · 7.3
- 보은군 · 7.3
- 안동시 · 7.2
- 김제시 · 6.9
- 남해군 · 6.8
- 거창군 · 6.8
- 영월군 · 6.7
- 청양군 · 6.3
- 함양군 · 6.3
- 인제군 · 6.2
- 화천군 · 6.1
- 함평군 · 6.1
- 정읍시 · 6.1
- 해남군 · 6.0
- 영덕군 · 5.8
- 남원시 · 5.8
- 영동군 · 5.8
- 부여군 · 5.7
- 울릉군 · 5.7
- 삼척시 · 5.7
- 의성군 · 5.6
- 서천군 · 5.6
- 합천군 · 5.4
- 구례군 · 5.3
- 영암군 · 5.2
- 무주군 · 5.1
- 곡성군 · 5.1
- 동해시 · 5.0
- 봉화군 · 5.0
- 장수군 · 4.7
- 영광군 · 4.5
- 장흥군 · 4.4
- 울진군 · 4.3
- 강진군 · 4.1
- 의령군 · 4.1
- 정선군 · 4.0
- 임실군 · 4.0
- 진도군 · 4.0
- 진안군 · 3.6
- 고흥군 · 3.6
- 옥천군 · 3.2
- 양구군 · 2.9
- 보성군 · 2.9
- 태백시 · 2.4
- 신안군 · 2.4
- 완도군 · 2.3
- 영양군 · 1.9
- 순창군 · 1.1
이 지도가 감추지 않는 것
- 국토를 칸으로 나눴다
- 경계 폴리곤(시군구 254개, 외곽선 4,506개, 점 120만 개)을 전부 읽어, 육각 격자에서 중심이 육지에 떨어지는 칸을 골랐습니다 — 229칸. 섬이 육각형 하나보다 작은 시군구 13곳은 제 위치에 칸을 더해 242칸. 그 다음이 중요합니다: 어떤 시군구도 물을 건너지 않습니다. 칸 뭉치를 연결 요소로 먼저 쪼개고(본토·울릉·옹진·거제·제주), 시군구는 중심점에서 가장 가까운 뭉치에 속합니다. 칸이 남는 뭉치는 아무 시군구에서도 먼 칸부터 버리고, 모자라는 뭉치는 들어오려는 시군구 쪽으로 자랍니다 — 제주가 4칸 중 2칸을 내놓고 본토가 5칸 자라 245칸에 245개, 남는 칸 없음. 배치는 뭉치별로 헝가리안 알고리즘이 제곱거리 합을 최소화합니다. 손으로 놓은 자리는 하나도 없고, 다시 돌리면 같은 파일이 나옵니다.
- 자리가 밀렸다
- 평균 1.81칸, 약 43km 밀렸고 가장 심한 곳은 5.01칸, 137km 입니다. 가장 많이 밀린 여덟 곳이 전부 하남·구리·성남 중원·강동·성남 분당·광주·양평·중랑 — 서울 동쪽, 구가 가장 촘촘한 곳입니다. 이건 맞추기에 실패한 게 아니라 카토그램의 정의입니다. 한 칸에 시군구 하나씩 주면 모든 시군구가 같은 면적을 갖게 되므로, 수도권은 국토에서 차지하는 것보다 그림에서 더 넓은 자리를 차지해야 하고 누군가는 비켜야 합니다. 물을 건너지 못하게 막기 전에는 완도와 진도가 제주 옆에 놓였습니다 — 중심점이 틀린 게 아니라, 제주에 시군구보다 칸이 많아 남는 칸을 누군가 채워야 했고 가장 가까운 두 곳이 뽑혀 간 것입니다. 잘못된 후보 집합 위의 최적해는 여전히 틀린 답입니다.
- 11곳이 없다
- 경계 파일은 2023 년판이고 인구·중개 자료는 2026 년판입니다. 그 사이 화성시가 4개 구로, 인천이 5개 구로, 청주시가 2개 구로 나뉘었습니다. 2024 년에 생긴 구의 2023 년 중심점은 존재하지 않습니다 — 화성 동탄·만세·병점·효행, 인천 검단·미추홀·서해·영종·제물포, 청주 서원·청원. 지어내지 않고 이름을 적어 둡니다.
- 이름이 없다
- 245칸에 이름을 쓸 수 없습니다. 이 지도는 "세종의 비율이 얼마인가" 가 아니라 "어디가 높은가" 에 답합니다. 이름과 숫자는 칸 위에 포인터를 올리면 팝업으로 나옵니다. 팝업에는 자바스크립트가 필요하고, 꺼져 있으면 브라우저 기본 툴팁이 같은 이름과 비율을 보여줍니다. 어느 쪽도 못 쓰는 경우를 위해 아래 목록에 순위대로 전부 적어 뒀습니다.