Cesium Ion 파이프라인 개요

Cesium Ion(ion.cesium.com)은 업로드한 3D 데이터를 3D Tiles로 변환해주는 클라우드 SaaS다. 이 문서는 Ion 내부에서 무슨 일이 일어나는지, 어떤 Tiler가 있는지, 실패 시 어디를 봐야 하는지를 정리한다.


핵심 요약

구분내용
📖 정의3D 원시 데이터(메쉬·점군·지형·BIM)를 OGC 3D Tiles로 자동 변환·서빙하는 Cesium의 클라우드 서비스
💡 핵심6종 Tiler가 Asset Type별로 따로 동작. 3D Capture·BIM은 1.1, 3D Model은 1.0/1.1 선택 가능
🎯 대상자체 타일링 인프라 없이 3D Tiles를 만들고 싶은 개발자·팀
⚠️ 주의지오레퍼런싱(CRS·Datum) 누락이 가장 흔한 실패 원인. 업로드 전 좌표계 확인이 필수

문서 탐색


목차

  1. 전체 구조
  2. 6종 Tiler 분류
  3. 처리 워크플로우 7단계
  4. 처리 상태 코드
  5. 일반적인 처리 실패 원인
  6. Self-Hosted vs Cloud
  7. 가격 정책
  8. 3D Tiles 1.1 전환 현황

전체 구조

Cesium Ion Tiling Pipeline
┌───────────────────────────────────────────────────────────────┐
│                       ion.cesium.com SaaS                      │
│                                                                │
│  Upload  ──►  Asset Type 선택  ──►  Tiler 배정  ──►  3D Tiles  │
│                                                                │
│  ┌──────────────────────────────────────────────────────┐    │
│  │              6종 Tiler (2024 기준)                    │    │
│  │  1. 3D Models Tiler        (단일 메쉬/소형 모델)       │    │
│  │  2. Design Tiler (BIM)     (IFC/Revit/glTF AEC)      │    │
│  │  3. Reality Tiler V2       (3D Capture / 현실 메쉬)   │    │
│  │  4. Point Cloud Tiler      (LAS/LAZ 점군)            │    │
│  │  5. 3D Buildings Tiler     (도시 규모 CityGML)        │    │
│  │  6. Terrain Tiler          (GeoTIFF, DEM)            │    │
│  └──────────────────────────────────────────────────────┘    │
│                                                                │
│  출력: 3D Tiles 1.1 (기본) / 1.0 (3D Models만 선택 가능)        │
└───────────────────────────────────────────────────────────────┘
        │
        ▼
  CesiumJS / Cesium for Unreal / 3DTilesRendererJS 에서 스트리밍

6종 Tiler 분류

#Tiler 이름담당 데이터주요 입력출력 표준
13D Models Tiler단일/소형 메쉬glTF, OBJ, FBX, DAE1.0 / 1.1 선택
2Design TilerBIM (AEC)IFC, RVT(Add-In), glTF1.1 전용
3Reality Tiler V23D Capture / 포토그래메트리OBJ, DAE, glTF, 3MX, PLY(Gaussian Splat)1.1 전용
4Point Cloud Tiler라이다 점군LAS, LAZ(별도)
53D Buildings Tiler도시 규모 건물CityGML, CityJSON(별도)
6Terrain Tiler지형GeoTIFF, DEM(Quantized Mesh)

본 가이드는 이 중 1·2·3번에 집중한다. 자세한 비교는 2.2 비교 문서 참고.

Tiler 진화 타임라인

날짜이벤트
2023-11Reality Tiler V1 출시 (기존 photogrammetry 파이프라인 대체)
2024-043D Capture 파이프라인 1.1 전용화 (1.0 b3dm 생성 중단)
2024-12-03Design Tiler 출시 + Revit Add-In 공개
2024-12-11Reality Tiler V2 출시 (메모리 80% 감소, 처리시간 최대 86% 단축)
2025-03-20Design Tiler IFC Property Sets 메타데이터 지원

처리 워크플로우 7단계

사용자 액션                       ion 내부 처리
─────────────────────────────────────────────────────────────
[1] Add Data 클릭
    │  대시보드 또는 REST API
    ▼
[2] Asset Type 선택
    │  3D Model / BIM (AEC) / 3D Capture / Point Cloud / Terrain
    ▼
[3] 파일 업로드
    │  - SaaS: AWS S3 임시 스토리지
    │  - Self-Hosted: HTTP 멀티파트 → 로컬 볼륨
    │  - 제한: 단일 ZIP 4GB, 파일 수 65,535개
    ▼
[4] NOT_STARTED → IN_PROGRESS
    │  타일러 컨테이너 기동
    │  (SaaS: AWS Batch / Self-Hosted: Kubernetes Jobs)
    ▼
[5] 타일링 처리
    │  - 지오레퍼런싱 자동 인식 또는 수동 입력
    │  - LOD 생성, 텍스처 압축, 기하학 압축
    │  - 3D Tiles 패키징 (SQLite 또는 파일)
    ▼
[6] COMPLETE
    │  - 고유 assetId 부여
    │  - CloudFront(SaaS) 또는 Asset Server(Self-Hosted)로 서빙
    │  - Tileset URL: https://assets.ion.cesium.com/{assetId}/tileset.json
    ▼
[7] CesiumJS에서 사용
    const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(assetId);
    viewer.scene.primitives.add(tileset);

처리 상태 코드

상태의미
NOT_STARTED타일링 대기열 초기화 중
IN_PROGRESS처리 중 (퍼센트 진행률 포함)
COMPLETE완료, 스트리밍 가능
DATA_ERROR업로드된 데이터 자체의 문제 감지
ERROR알 수 없는 타일링 오류

REST API로 폴링:

GET https://api.cesium.com/v1/assets/{assetId}
→ { "status": "IN_PROGRESS", "percentComplete": 47.2, ... }

일반적인 처리 실패 원인

대부분의 실패는 좌표/단위/원점 문제다. 업로드 전에 이 3가지만 확인해도 90%가 해결된다.

순위원인증상해결
1지오레퍼런싱(Geo-referencing) 누락LAS/OBJ가 CRS 없이 업로드 → (0,0) 배치 또는 에러EPSG 코드 수동 입력 또는 prj/wld 동봉
2수직 데이터 불일치(Datum Mismatch)Geoid 기반 높이 vs WGS84 타원체 → 모델이 공중에 뜨거나 지하에 묻힘Geoid 보정값 적용 후 재업로드
3로컬 원점 오류모델 중심이 (0,0,0)이 아닌 극단적 좌표 → 타일링 중 데이터 유실원점을 모델 중심으로 재배치
4OBJ 비지원 태그선(Line) 요소(l 태그) 포함 → 최적화 단계 정지OBJ에서 line 요소 제거
5ZIP 크기 초과단일 ZIP 4GB 또는 65,535개 파일 초과분할 업로드 또는 폴더 재구성
63D_MODEL + position 충돌REST API로 GLB 업로드 시 position 파라미터와 충돌glb 내장 좌표 사용 or 명시적 type 분기

사전 체크리스트

[ ] CRS 정보가 파일 또는 동반 파일(prj, wld, json)에 명시되어 있는가?
[ ] 수직 데이터(Geoid vs Ellipsoid)가 정확한가?
[ ] 모델 원점이 합리적 위치(중심 또는 그 근처)인가?
[ ] OBJ인 경우 line(`l`) 요소가 없는가?
[ ] ZIP 압축 시 단일 파일 4GB / 65,535개 미만인가?
[ ] 단위가 m / cm / mm 중 무엇인지 확인했는가?

Self-Hosted vs Cloud

항목Cesium ion Cloud (SaaS)Cesium ion Self-Hosted
인프라Cesium 관리 (AWS + CloudFront)사용자 Kubernetes 클러스터
타일링 엔진AWS BatchKubernetes Jobs
자산 저장AWS S3SQLite + 로컬 파일시스템
인터넷 연결필수Air-Gapped 지원 가능
데이터 보안AWS 보안 정책내부망 완전 통제
글로벌 기본 데이터Google/Bing 즉시 이용별도 라이선스 + 캐싱 설정
업데이트자동Helm Chart 수동 업데이트
S3 통합기본v1.2 이후 S3 가져오기/내보내기
기능 동등성SaaS와 동등한 기능 제공

Self-Hosted 선택 기준: 데이터를 외부로 내보낼 수 없는 정부·국방·플랜트 / 인터넷이 없는 내부망 / SaaS 트래픽 비용이 과한 초대용량 운영.


가격 정책

출처: Cesium Pricing (확인일: 2026-05-14)

항목Community (무료)CommercialPremium
개인 월 요금$0$149$499
팀 월 요금$524$874
소스 스토리지5 GB50 GB250 GB
월 스트리밍15 GB150 GB500 GB
Reality Modeling20 Gpx/월40 Gpx/월100 Gpx/월
Reality Analysis5시간/월10시간/월25시간/월
Global Imagery 세션1,000/월5,000/월10,000/월
팀 멤버개인 전용최대 5명최대 5명

가격 정책의 중요한 디테일

  • 소스 데이터 용량만 과금. Cesium Ion이 생성한 3D Tiles 결과물 용량은 산정에서 제외된다.
  • 쿼터 초과 시 즉시 차단이 아닌 담당자 연락 후 조정하는 유연한 정책이다.
  • 대규모 기업은 Custom 플랜으로 별도 협의한다.

3D Tiles 1.1 전환 현황

3D Tiles 1.0 (레거시)          3D Tiles 1.1 (현행)
──────────────────────         ────────────────────────────
타일 포맷: .b3dm, .i3dm        타일 포맷: .glb (glTF 2.0 직접)
메타데이터: Batch Table        메타데이터: EXT_structural_metadata
Feature ID: batchId            Feature ID: EXT_mesh_features
공간 분할: 명시적              공간 분할: Implicit Tiling 추가
표준 위치: glTF 외부 헤더      표준 위치: glTF 확장(Extension)

Cesium Ion 마이그레이션 타임라인

날짜변경
2023-11Reality Tiler V1 (구형 대체)
2024-043D Capture 파이프라인 1.1 전용화 (1.0 b3dm 생성 중단)
2024-12Design Tiler 출시 (1.1 기본)
2025-03Design Tiler IFC 메타데이터 완전 지원
현재3D Models Tiler만 1.0/1.1 선택 가능, 3D Capture / BIM은 1.1 전용

1.1로 출력된 타일셋은 렌더러 지원 현황에 정리된 호환성 표를 참고해 클라이언트를 선택한다.


문서 탐색


참고 자료