3단계 · GDAL 레시피
웹 형태 변환
브라우저가 바로 읽는 포맷으로 변환. 뷰어별 처리 방식.
방식·도구 고르기
2D 벡터 · 데이터 상태별 (크기 기준은 어림)
| 데이터 상태 | 방식 | 고르는 이유 · 형태 |
|---|---|---|
| 수 MB 이하 · 피처 수만 개 이하 | 파일 | GeoJSON 통째: 한 번 받고 끝. 클릭·필터를 브라우저에서 바로. |
| 수십 MB 이상 · 피처 수십만 개 | 파일 | MVT·PMTiles: 줌·화면 범위 타일만. 통째 GeoJSON은 파싱·메모리로 첫 화면 지연. |
| 서버 없이 큰 데이터 배포 | 파일 | PMTiles 한 파일 + Range 요청. 타일 수만 개 올리기 없음. |
카드 안 도구 선택 → 아래 단계·결과 전환. ?: 고르는 기준·장단점.
파일 방식
맞는 경우
- 갱신 드문 데이터 (연 1회 공개 등)
- 서버 운영 없는 배포: 정적 호스팅·CDN
- 미리 구운 타일 → 요청마다 연산 없음, 동시 접속에 강함
한계
- 원본이 바뀌면 다시 굽기
- 속성 조건 조회 불가 → 받은 범위 안 클라이언트 필터만
- 타일 수만~수백만 개 → 올리기·저장 부담 (PMTiles 한 파일로 완화)
결과를 파일로 구워 정적 호스팅. 브라우저가 파일을 직접 읽음.
도구
GDAL · 장점
- 변환 없음 → 원본 타일 그대로
- GDAL이 줌 폴더를 레이어로 읽어 GeoJSON 추출
단점
- 원본 타일의 줌·레이어 구성에 묶임
- Cesium용 GeoJSON은 타일 경계에서 잘린 도형
GDAL 요약 파일 방식
- 걸린 시간
- -
- 결과 용량
- -
- 파일 수
- -
- 그릴 수 있는 뷰어
- 4 / 4
변환 단계
1타일 그대로 복사셸 명령 (grep, cp) sh, GPL (coreutils, grep), v-파일 복사·글자 세기 기본 명령.자세히 보기
cp -r /raw/tiles /out/tiles원본 그대로 — OpenLayers·MapLibre·Deck.gl이 타일 피라미드 (XYZ) 줌 단계별로 256px 조각으로 미리 잘라 둔 지도. 줌 1단계마다 조각 수 4배. 자세히 타일 직접 읽기. 변환 불필요.
2Cesium용 건물 GeoJSON 추출GDAL/OGR C++, MIT, v3.13.3공간데이터 변환 표준 엔진. 래스터(GDAL)·벡터(OGR) 수백 가지 포맷.자세히 보기
for f in /raw/tiles/14/*/*.pbf; do ogr2ogr -append -f GPKG /work/buildings.gpkg $f buildings -nln buildings -nlt MULTIPOLYGON; done && ogr2ogr -f GeoJSON /out/ogc/collections/buildings/items.json /work/buildings.gpkg -lco RFC7946=YES -lco COORDINATE_PRECISION=7-append: 줌 14 타일 4장의 buildings 레이어 → 한 파일로 병합. -nlt MULTIPOLYGON: 도형 종류 통일. 타일 경계에서 잘린 건물은 분리된 채 유지.
결과물
MVT 타일 (원본 그대로)MVT 벡터타일원본과 같은 형식
원본 그대로 — 변환 불필요. buildings 레이어만 표시. 줌 14 초과 시 줌 14 타일 확대.
GeoJSON (건물)GeoJSON
타일에서 추출한 건물. Cesium용.
뷰어별 처리 · GDAL
OpenLayers 2D미검증
- 결과물
- MVT 타일 (원본 그대로) (tiles/{z}/{x}/{y}.pbf)
- 처리
VectorTileLayer + VectorTileSource(MVT)
MapLibre 2.5D미검증
- 결과물
- MVT 타일 (원본 그대로) (tiles/{z}/{x}/{y}.pbf)
- 처리
vector 소스 + fill·line·circle
MapLibre + Deck.gl 3D미검증
- 결과물
- MVT 타일 (원본 그대로) (tiles/{z}/{x}/{y}.pbf)
- 처리
MVTLayer
CesiumJS 3D미검증
- 결과물
- GeoJSON (건물) (ogc/collections/buildings/items.json)
- 처리
GeoJsonDataSource- 메모
- MVT 미지원 → 타일에서 추출한 GeoJSON 사용.
직접 처리: 원본과 같은 형식을 그대로 읽음. 변환 후 처리: 바꾼 결과물을 읽음. 일부 기능만: 그리지만 빠지는 기능 있음(카드의 주의). 미검증: 성공한 실행 기록 없음.