지도 라벨 배치기

지도 라벨 배치기

지명을 우선순위대로 놓고 글자 상자·금지 구역·지도 경계의 충돌을 확인합니다.

1. 지명과 화면 범위

FeatureCollection의 Point·LineString·Polygon, 2D 경도·위도만 받습니다. 각 라벨에는 name과 0~100 priority가 필요합니다. fontSize 10~28px는 선택입니다.

화면 범위와 글자 크기

우선순위 75 이상은 기본 글자 +2px, 25 이하는 −2px입니다. 개별 fontSize가 우선합니다. 동일한 화면에서 다시 계산하며 외부 지도 타일은 사용하지 않습니다.

댓글과 질문

지도 라벨 배치기

GeoJSON Point, LineString, Polygon에 이름과 중요도를 입력하면 실제 브라우저 글자 폭·높이를 재고 후보 위치를 탐색합니다. 우선순위가 높은 이름부터 놓되 회전된 글자 상자, 지도 경계, 금지 폴리곤과 다른 라벨의 겹침을 검사합니다. 배치하지 못한 이름도 이유와 충돌 상대를 남깁니다. 좌표와 결과는 브라우저 안에 머뭅니다.

주요 기능

  • Canvas TextMetrics로 실측한 Arial 글자 폭·높이와 회전된 상자 충돌 검사
  • 점 8방향·선 방향·폴리곤 내부 후보를 우선순위 순서로 탐색
  • 금지 폴리곤과 내부 홀, 지도 화면 밖 후보를 제외
  • 배치 불가 라벨별 이유와 충돌 상대 ID를 기록
  • SVG 지도·위치 GeoJSON·JSON 충돌 보고서 로컬 저장
  • WGS 84 경위도, 라벨 64개·금지 구역 16개·좌표 1,200개 제한

사용 방법

  1. 지명은 properties.name, 중요도는 0~100의 properties.priority로 입력합니다. 제외 구역은 properties.kind=forbidden인 Polygon입니다.
  2. 예제를 열거나 GeoJSON 파일을 읽고 화면의 서·남·동·북 경계, 크기와 기본 글자 크기를 조절합니다.
  3. 라벨 배치를 실행하고 지도·배치 수·배치 불가 사유·대략적인 축척을 확인합니다.
  4. SVG 지도와 위치 GeoJSON, 충돌 JSON 보고서를 각각 저장합니다.

활용 예시

  • 작은 지도의 도시·역 지명 겹침 줄이기
  • 하천 방향을 따라 읽기 쉬운 라벨 배치
  • 공원 안쪽 지명과 제외 구역 동시 검토
  • 인쇄 전 배치 실패 목록 검토

자주 묻는 질문

지도 라벨이 모두 배치되나요?

아닙니다. 중요도 높은 라벨을 먼저 고정하는 결정론적 탐욕 배치입니다. 후보가 모두 지도 밖·금지 영역·충돌 위치이면 배치하지 않고 이유를 보고합니다. 전체 최적해는 보장하지 않습니다.

선이나 폴리곤 지명은 어떻게 놓나요?

선은 글자 폭보다 긴 구간을 골라 방향에 맞게 회전하며 거꾸로 읽히지 않도록 각도를 제한합니다. 폴리곤은 내부 후보를 탐색하고 글자 상자 전체가 외곽 안과 홀 밖에 있을 때만 놓습니다.

축척과 정확도는 어느 정도인가요?

축척은 화면 중심 위도의 구면 거리, 96dpi를 가정한 근사값입니다. 배치는 경위도를 직사각형 화면에 선형 투영합니다. 날짜변경선 횡단, 극지, 넓은 범위, 측량 용도에는 적합하지 않습니다.

내보낸 SVG에서 글꼴이 달라질 수 있나요?

예. 현재 브라우저의 Arial/sans-serif 실측치로 배치합니다. 다른 SVG 뷰어나 시스템의 대체 글꼴은 모양이 달라져 충돌할 수 있으니 최종 출력 환경에서 다시 확인하세요.

좌표나 파일을 서버에 보내나요?

아닙니다. 편집·글자 측정·지도와 파일 생성이 현재 브라우저 탭에서만 일어납니다. 외부 지도 타일도 불러오지 않습니다.

개인정보 안내

GeoJSON과 좌표는 현재 브라우저 탭에서만 처리합니다. 서버 전송·외부 지도 타일·자동 저장은 없습니다.

참고 자료

관련 도구

GeoJSON 지도 편집기GeoJSON 공간 위상 검사기이미지 워터마크WebAssembly 모듈 검사기다국어 연결 행렬 검사기구문 트리 질의 실험실컨테이너 빌드 단계 분석기의존성 그래프 탐색기버전 제약 충돌 분석기작업 스케줄 충돌 검사기패치 검토 작업대소스맵 탐색기다국어 카탈로그 검사기구조화 데이터 대조기HTTP 아카이브 분석기웹훅 서명 실험실Protobuf 스키마 작업대GraphQL 스키마 실험실Avro 스키마 호환성 검사기로컬 SQL 데이터 작업대스키마 기반 입력 폼 생성기3D 메쉬 검사·복구기관망 유량·압력 실험실로봇팔 운동학 실험열저항 회로 실험실보 휨 실험실기어열 배치 실험공차 누적 실험실센서 교정 곡선 맞추기PCB 적층 비교 설계기디지털 필터 설계기도로망 도달 범위 지도태양 그림자 배치 실험GPS 오차 시뮬레이터디지털 논리 회로 실험아날로그 회로 실험실링크 기구 운동 실험해석용 메쉬 생성기OpenAPI 계약 검사기DB 스키마 변경 계획기수식 차원 검사기트러스 힘 실험실논리식 최소화 실험실제어계 응답 실험실대기행렬 시뮬레이터위치 구역 출입 이벤트 실험실좌표계 변환 실험실측량 폐합 검산 실험실위성·래스터 구간 분류단계구분도 설계기지도 인쇄 편집기GeoTIFF 래스터 재투영고도 등고선 생성기지형 가시영역 실험실지형 유역 탐색기오프라인 지도 타일 패키저텍스트 파일 인코딩 작업대파일 경로 호환성 검사기SBOM 라이선스 탐색기파일 형식 위장 검사기npm 잠금 파일 충돌 해결기소스 비밀값 점검기오프라인 웹 자료 패키저인증서 체인 검사기토렌트 메타정보 검사기파일 분할 전송 패키저로컬 파일 암호 금고동일 파일 찾기압축 파일 작업대디자인 토큰 관리기반응형 간격 체계 설계기반응형 타이포 시스템 설계기포장 전개도 설계기SVG 아이콘 스프라이트 묶기Flexbox 배치 설계기CSS Grid 배치 설계기정규 언어 동치 검사기Markdown 문서 묶음 검사기로그 패턴 추출기반응형 HTML 레이아웃 검사기메일 HTML 렌더 검토기내부 링크 구조 분석기상태 전이 모델 테스트 생성기페트리넷 흐름 실험Git 이력 그래프 탐색기HTTP 요청 명령 설계기바이너리 프로토콜 설계기바이너리 Hex 편집기바이너리 차이 패치 만들기파일 전자서명 작업대API 모의 응답 실험실데이터 열 매핑 설계기이벤트 로그 세션 분석기데이터베이스 관계도 설계기시계열 누락 검사기학습 데이터 분할기데이터 흐름 계보 작성기결정트리 학습 실험실데이터 비식별 처리기데이터 계약 규칙 검사기JSON Schema 검증기항목 동시출현 분석기robots 규칙 시뮬레이터HTML 검색 기본 검사기접근성 구조 검사기RSS·Atom 피드 작성기IndexNow 배포 알림 준비기검색 로봇 로그 분석기CSP 정책 검토기검색 실적 CSV 분석기CSV 수식 위험 검사기CORS 응답 시뮬레이터HTTP 캐시 동작 실험실쿠키 속성 검사기성능 추적 파일 분석기사이트맵 구조 검사기파일 일괄 이름 바꾸기파일 묶음 무결성 검증기폴더 용량 지도폴더 차이 검토기방문 순서 최적화지도 영역 중첩 분석기공간 속성 결합기GPS 이동 기록 분석기이동 기록 위치 가림표 관계 결합기피벗 테이블 작업대데이터 품질 프로파일러표 데이터 정제 작업대기록 대사 도구데이터 사전 작성기canonical 관계 검사기리다이렉트 계획 검증기HTTP 응답 속도·핑 참고 테스트내 브라우저·시스템 정보JSON ↔ YAML 변환기XML ↔ JSON 변환기HTML 포맷터JavaScript 압축기목 데이터 생성기.gitignore 생성기라이선스 생성기User-Agent 분석기비밀번호 강도 검사코드 이미지 만들기XML 포맷터HTTP 상태 코드 찾기MIME 타입 찾기JS·SQL 문자열 이스케이프CSS 박스 그림자 생성기CSS 그라데이션 생성기들여쓰기 변환기진법 변환기유니코드 이스케이프 변환기유니코드 문자 분석기JSON 구조 비교기Markdown 표 생성기Base64 인코더JSON 포맷터URL 인코더SQL 포맷터Cron 표현식 생성기정규식 테스터UUID 생성기해시 생성기타임스탬프 변환기JWT 디코더HTML 엔티티 변환기Markdown 미리보기CSS Minifier메타태그·OG 생성기JSON CSV 변환대소문자·케이스 변환이미지 Base64 변환
개발 도구 도구 전체 보기 →이미지/미디어 →텍스트/변환 →생활/재미 →