realmap-collection
v2.1.0
Published
리얼맵 개발에 필요한 지도 파일을 모아놓은 모듈입니다.
Downloads
382
Readme
RealMap Collection
- 리얼맵을 사용하기 위해 필요한 지도 데이터를 모아놓은 컬렉션입니다.
Release Note
v2.1.0
시도 지도에 콜아웃 좌표 추가
kr-sido(무버전·2026-07) 지도에 콜아웃 배치용 좌표 속성을 넣었습니다. 겹치기 쉬운 시도 지도에서 값 도형을 지도 밖으로 빼고 리더선으로 잇는 콜아웃 차트에 씁니다.
rm-callout-offset— 도형을 밀어낼 누적 변위(offset 배열).rm-callout-ctr-lon/rm-callout-ctr-lat— 리더선이 붙는 앵커. 중앙좌표와 다를 때만 들어 있습니다.- 최상위
meta.callout—radius등 그리기 힌트.
기존 속성은 그대로라 지금 쓰던 코드에는 영향이 없습니다(속성만 추가).
generateDummyData 확장
callout: true— 위 좌표를 각 데이터포인트에 함께 넣어 돌려줍니다(콜아웃 지원 지도에서).name— 각 행에 지역명을 포함합니다(pointLabel등에 사용).gauge·clock시리즈를 추가로 지원합니다.
import { generateDummyData } from 'realmap-collection';
import krSido from 'realmap-collection/2026-07/kr-sido-low.geo.json';
// 콜아웃 좌표까지 함께 (시도 파이 차트)
const data = await generateDummyData({
map: krSido, series: 'pie', categories: ['남', '여'], callout: true,
});v2.0.0
loadMap 제거 (BREAKING)
v1.1.1 에서 예고한 대로 loadMap 을 제거했습니다. 지도 파일을 직접 import 하거나 URL 로 참조해 주세요. 동작은 같습니다.
// 필요한 시점에 불러오기 (loadMap 대체)
const krSido = await import('realmap-collection/2026-07/kr-sido-low.geo.json')
.then((m) => m.default);
// 앱이 시작할 때 함께 불러오기
import krSido from 'realmap-collection/kr-sido-low.geo.json';loadMap과, 그 전용 포맷이던 js/topojs(ES Module) 지도 제공을 함께 종료했습니다. geojson/topojson 만 제공합니다.- 지도 이름 목록
MapNamesEnum·listMaps와 부분 지도createSubMap은 그대로 유지됩니다.
더미 데이터 생성 generateDummyData 추가
실제 데이터가 없어도 지도를 채워 먼저 그려볼 수 있는 유틸입니다. 값은 임시(placeholder)이며, 나중에 실제 데이터로 교체하는 흐름을 돕습니다.
import { generateDummyData } from 'realmap-collection';
import krSido from 'realmap-collection/kr-sido-low.geo.json';
// 지역-값 (컬러스케일)
const data = await generateDummyData({ map: krSido, min: 0, max: 100 });
// 경로: 서울 → 부산·제주 (지도 중앙좌표로 연결)
const routes = await generateDummyData({
map: krSido,
series: 'route',
from: '서울',
to: ['부산', '제주'],
});- 입력은 GeoJSON 객체 또는 지도 URL. 반환 배열을 그대로
series[].data에 넣습니다. series로 데이터 모양이 정해집니다 — map/bar/line/bubble(지역별 값) · pie(값 배열) · route(경로).- 좌표가 필요한 경우(route 등) 지도 area 의 중앙좌표만 사용합니다. 임의 경위도는 만들지 않습니다.
v1.1.1
loadMap API 지원 중단 (deprecated)
loadMap 은 번들 크기 문제로 지원이 중단되었습니다. 다음 major 버전에서 제거됩니다.
이 함수는 내부에 모든 지도의 동적 import 를 담고 있어서, 번들러가 실제로 사용하는 지도를 가려낼 수 없습니다. 지도를 하나만 사용해도 전체 지도가 청크로 생성됩니다. (지도 1개만 쓰는 Vite 앱 기준 산출물 35MB, 빌드 중 메모리 부족으로 실패하는 경우도 있습니다)
지도 파일을 직접 import 하는 방식으로 바꿔 주세요. 동작은 같습니다.
// 지금까지 (deprecated)
import { loadMap, MapNamesEnum } from 'realmap-collection';
const krSido = await loadMap(MapNamesEnum['2026-07/kr-sido-low']);
// 필요한 시점에 불러오기 — loadMap 과 동일하게 동작합니다
const krSido = await import('realmap-collection/2026-07/kr-sido-low.geo.json')
.then((m) => m.default);
// 앱이 시작할 때 함께 불러오기
import krSido from 'realmap-collection/2026-07/kr-sido-low.geo.json';TopoJSON 은 확장자를 .topo.json 으로 바꾸면 됩니다.
const krSido = await import('realmap-collection/2026-07/kr-sido-low.topo.json')
.then((m) => m.default);기존 코드는 계속 동작하며, 이번 버전에서 바뀐 동작은 없습니다. 편집기에서 loadMap 에 지원 중단 표시가 나타납니다.
v1.1.0
전남광주통합특별시 반영 (2026-07 지도 추가)
2026년 7월 광주광역시와 전라남도가 전남광주통합특별시로 통합되어, 이를 반영한 시도·시군구 지도를 개편 시점 경로 2026-07/ 로 추가했습니다.
- 기존 지도 는 통합 전(광주·전남 분리) 상태로 변경 없이 유지됩니다. 지금까지 쓰던 경로를 그대로 사용하면 됩니다.
- 통합이 반영된 지도 는 경로에 개편 시점
2026-07/을 붙여 사용합니다. (앞으로의 행정구역 개편도 해당 시점YYYY-MM/경로로 제공됩니다)
// 기존 지도 (광주·전남 분리)
https://unpkg.com/realmap-collection/kr-sido-low.geo.json
// 통합 반영 지도
https://unpkg.com/realmap-collection/2026-07/kr-sido-low.geo.jsonnpm 모듈로 불러올 때도 동일하게 경로에 2026-07/ 을 붙입니다.
import krSido from 'realmap-collection/2026-07/kr-sido-low.geo.json';loadMap API로도 불러올 수 있습니다. 개편 시점 지도는 URL·import 경로와 동일한 형태의 이름을 사용합니다.
import { loadMap, MapNamesEnum } from 'realmap-collection';
// 기존 지도 (광주·전남 분리)
const krSido = await loadMap(MapNamesEnum.krSidoLow);
// 통합 반영 지도
const krSido202607 = await loadMap(MapNamesEnum['2026-07/kr-sido-low']);⚠️ 통합 지도는 행정구역 코드(id)가 변경되었습니다. 지역을 id로 연동하는 경우, 기존 지도와 매핑이 다르므로 주의하세요.
시도: 광주(
24) · 전남(36) → 전남광주통합특별시(12)시군구: 소속 27개 시군구 코드가
12xxx로 재부여 (예: 목포시36010→12010)인천광역시의 변경된 행정구역은 추후 반영 예정입니다.
API 추가
listMaps()— 사용 가능한 모든 지도 이름을 배열로 반환합니다.createSubMap()— 지도에서 일부 지역만 골라 부분 지도를 만듭니다.rm-id또는 지역 이름으로 지정합니다.
import { loadMap, MapNamesEnum, createSubMap } from 'realmap-collection';
const map = await loadMap(MapNamesEnum.krSigunLow);
const areas = createSubMap({ map, targets: ['강릉시', '목포시'], mode: 'include' });v1.0.16
지도 추가
- 러시아, 우크라이나의 최상위 행정구역 지도가 추가되었습니다.
v1.0.15
한반도 지도
- mapBorders, excludeInternal등의 경계 관련 옵션이 해당 지도에서 적용되지 않던 문제 수정
v1.0.14
시군구 지도
- 더미지역이 나오지 않는 문제 수정
v1.0.13
한반도 지도
- 더미 지역으로 러시아 지역 추가
- 기존 더미 지역 크기 축소
v1.0.12
한반도 지도
- 더미 지역으로 중국, 일본 지역 추가.
v1.0.11
오류 수정
- 새만금 방조제가 특정 지도에서 정상적으로 그려지지 않는 문제 수정
v1.0.10
오류 수정
- 시도, 시군구 북한 접경선에 있던 빈틈(Sliver) 제거.
v1.0.9
오류 수정
- loadMap 관련 타입 오류 수정
v1.0.8
오류 수정
- cdn으로 지도데이터를 가져올 수 없는 문제 수정
v1.0.7
지도 데이터를 가져오는 API가 추가되었습니다.
import { loadMap, MapNamesEnum } from 'realmap-collection';
const map = await loadMap(MapNamesEnum.krDongLow, 'geojson');- 위와 같이 loadMap을 통해 필요한 지도데이터를 ES 모듈로 로드할 수 있습니다.
v1.0.6
세계지도
- 지역 중앙 좌표 및 줌인 관련 속성이 추가되었습니다.
v1.0.5
일본 지도
- 지도 파일의 용량을 최적화했습니다.
v1.0.4
대륙별 지도
- 지도 파일의 용량을 최적화했습니다.
- 2.41MB -> 245KB
v1.0.3
대륙별 지도
- 남아메리카 대륙 경계의 오류가 수정되었습니다.
v1.0.2
새로운 지도가 추가되었습니다.
- 미국, 일본, 중국 ADM1 지도
- 한반도 지도
- 시도, 시군구, 읍면동 지도
- 대륙별, 국가별 세계지도
