컨텐츠로 건너뛰기

타일맵 스티칭

내비게이션 에디터 — Tile Map Stitcher 패널이 포함된 전체 화면

타일맵 스티칭은 HD Map Generation Server가 생성한 개별 타일 맵들을 하나의 연속된 래스터 맵으로 합치는 기능입니다.

타일맵 스티칭이란?

HD Map 생성 과정에서 내비게이션 맵은 키프레임 단위로 타일 형태로 생성됩니다. 이 타일들을 정확한 위치에 배치하여 하나의 큰 맵으로 합치는 과정이 타일맵 스티칭입니다.

자동 스티칭 (Auto Stitch by Edge)

DB에 저장된 경로 엣지(route_edge) 또는 **경로 노드(route_node)**를 기준으로, 각 엣지를 커버하는 타일들을 자동으로 매칭하고 스티칭합니다.

사전 준비

자동 스티칭을 실행하기 전에 다음이 필요합니다:

  1. 타일맵 데이터 로드: Open Dataset으로 지오레퍼런싱된 타일 ZIP 파일을 로드
Open Dataset 다이얼로그 — Workstation Storage에서 타일 파일 선택 후 Load Dataset 버튼
  1. DB 레이어 로드: Load DB Layers로 route_node 또는 route_edge 데이터를 로드
  2. 메타데이터 파일: map_meta_data.yaml 또는 지오레퍼런싱 변환 파일

1단계: 타일-엣지 매칭 (Match Tiles to Edges)

1단계 — Match Tiles to Edges 버튼 클릭 후 타일-엣지 매칭 결과

좌측 패널의 Auto Stitch by Edge 섹션을 펼치고 Match Tiles to Edges 버튼을 클릭합니다.

매칭 과정:

  1. 엣지 추출: DB 레이어에서 route_node의 태그 기반 엣지를 우선 탐색하고, 없으면 route_edge를 사용
  2. 타일 범위 계산: 각 타일 ZIP 파일의 지리적 범위(bounds)를 계산
  3. Drive Map 커버리지 확인: map_meta_data.yaml이 있으면 서버 측에서 각 엣지 좌표가 실제 drive map에 포함되는지 검증
  4. 전체 커버리지 매칭: 엣지의 모든 좌표가 타일들의 합집합으로 커버되는 경우에만 매칭 성공

매칭이 완료되면 결과가 표시됩니다:

표시 항목설명
매칭된 엣지 수타일로 완전히 커버된 엣지 수
미매칭 타일 수어떤 엣지에도 할당되지 않은 타일 수
엣지별 타일 목록각 엣지에 매칭된 타일 수와 이름

2단계: 엣지 선택

2단계 — 매칭된 엣지 목록에서 스티칭할 엣지 선택

매칭 결과에서 스티칭할 엣지를 선택합니다:

동작설명
체크박스개별 엣지 선택/해제
All전체 엣지 선택
None전체 선택 해제
▶ 버튼개별 엣지만 단독 스티칭

3단계: 스티칭 실행

3단계 — 스티칭 실행 후 결과 GeoTIFF가 레이어에 추가된 화면

Stitch (N) 버튼을 클릭하면 선택된 N개 엣지에 대해 순차적으로 스티칭이 실행됩니다.

각 엣지 스티칭 과정:

  1. 매칭된 타일들을 하나의 ZIP으로 합침
  2. 서버에 POST /api/tile-stitcher/auto-stitch로 전송
    • 타일 ZIP + 메타데이터(YAML) + 엣지 좌표 + CRS + 버퍼 거리(10m)
  3. 서버에서 엣지 좌표 주변 영역만 잘라서 GeoTIFF 생성
  4. 결과 GeoTIFF를 좌측 패널의 레이어에 추가

진행 상황은 하단 상태바에 Auto-stitching 3/15: "edge_A_B"... 형태로 표시됩니다.

4단계: 결과 확인 및 저장

스티칭이 완료되면:

  1. 좌측 패널의 Tile Map 레이어 목록에 엣지 이름으로 GeoTIFF 레이어가 추가됩니다
  2. 중앙 지도에서 스티칭 결과가 위성 지도 위에 오버레이되어 바로 확인 가능합니다
  3. 각 레이어의 투명도 슬라이더로 배경 지도와 비교하며 품질을 점검합니다
  4. 문제가 있는 영역은 2D 맵 에디터로 래스터를 직접 수정할 수 있습니다
  5. Save 버튼으로 최종 결과를 Firebase Storage에 저장합니다

결과 활용

생성된 GeoTIFF는 내비게이션 에디터의 Map 레이어에 배경으로 표시되어, 위성 지도와 오버레이하여 경로 편집 시 참고할 수 있습니다.

실제 사용 흐름

1. [Open Dataset] → 서버/로컬에서 타일맵 데이터 로드
2. [Load DB Layers] → DB에서 route_node/route_edge 로드
3. Auto Stitch by Edge 섹션 열기
4. [Match Tiles to Edges] → 타일-엣지 자동 매칭
5. 매칭 결과 확인 → 필요한 엣지 체크박스 선택
6. [Stitch (N)] → 선택된 엣지 순차 스티칭
7. 결과 GeoTIFF가 좌측 레이어에 추가됨
8. (선택) 2D 맵 에디터로 래스터 수정
9. [Save] → Firebase Storage에 저장