이현준 블로그

  1. 구글 어스가 준 .kmz, 공공 API가 뱉은 XML 덩어리 — 알아만 둘 포맷 3형제 포스트 대표 이미지

    구글 어스가 준 .kmz, 공공 API가 뱉은 XML 덩어리 — 알아만 둘 포맷 3형제

    직접 골라 쓰진 않는데 자꾸 받게 되는 포맷들이 있다. 구글 어스의 KML, WFS가 돌려주는 GML, D3가 사랑하는 TopoJSON. 셋의 정체와 만났을 때 대응법을 정리한다. 55MB짜리 한국 시군구 GeoJSON을 TopoJSON으로 바꿔 실제로 얼마나 줄어드는지도 재봤다.

    16
    • GIS
  2. 수천만 장에서 원하는 한 장을 찾는다 — 위성 데이터 카탈로그, STAC 포스트 대표 이미지

    수천만 장에서 원하는 한 장을 찾는다 — 위성 데이터 카탈로그, STAC

    위성은 며칠마다 전 지구를 다시 찍어 장면이 수천만 장씩 쌓인다. "서울 위, 지난 7월, 구름 10% 이하 영상"을 그 속에서 어떻게 찾을까? STAC은 위성 데이터를 찾게 해주는 공통 목록 표준이다. Item 하나가 GeoJSON이고 그 안의 링크가 COG를 가리키는, COG의 단짝을 만난다.

    9
    • GIS
  3. 100GB 위성영상에서 화면만 뜯어온다 — 클라우드에 최적화된 GeoTIFF, COG 포스트 대표 이미지

    100GB 위성영상에서 화면만 뜯어온다 — 클라우드에 최적화된 GeoTIFF, COG

    위성영상은 한 장이 수십 GB를 넘긴다. 예전엔 귀퉁이 하나 보려 해도 통째로 받아야 했다. COG는 평범한 GeoTIFF를 내부 타일과 오버뷰로 재배열해, 클라우드에 올려두고 HTTP Range로 화면에 보이는 조각만 뜯어온다. Sentinel-2·Landsat이 모두 채택한 위성영상의 사실상 표준을 만난다.

    10
    • GIS
  4. 수억 행을 훑는다 — 열로 눕힌 공간 데이터, GeoParquet 포스트 대표 이미지

    수억 행을 훑는다 — 열로 눕힌 공간 데이터, GeoParquet

    Shapefile부터 PMTiles까지, 지금까지의 포맷은 모두 "지도로 그리기"가 목적이었다. GeoParquet는 방향을 튼다 — 데이터를 열(column) 단위로 눕혀 저장해, PostGIS 서버 없이 노트북 한 대로 수억 행 공간 데이터를 SQL로 분석한다. Overture가 지구 전체의 장소·건물을 GeoParquet로 뿌리는 "공간 데이터의 빅데이터 시대"를 연다.

    11
    • GIS
  5. 화면에 필요한 타일만, 서버도 없이 — 목차를 품은 단일 파일, PMTiles 포스트 대표 이미지

    화면에 필요한 타일만, 서버도 없이 — 목차를 품은 단일 파일, PMTiles

    타일 서버도 데이터베이스도 없이 전 세계 지도를 그린다. PMTiles는 수억 장의 지도 타일을 목차(인덱스)까지 심은 단일 파일로 묶어, S3에 툭 올려두고 HTTP Range로 화면에 필요한 타일만 뜯어온다. Protomaps가 지구 전체를 120GB 파일 하나로 뿌리는 "서버 없는 지도"의 정체를 파헤친다.

    18
    • GIS
  6. 화면에 보이는 조각만 내려받는다 — 공간 인덱스를 품은 바이너리, FlatGeobuf 포스트 대표 이미지

    화면에 보이는 조각만 내려받는다 — 공간 인덱스를 품은 바이너리, FlatGeobuf

    GeoJSON은 커지면 브라우저 탭을 잡아먹고, GeoPackage는 웹으로 스트리밍이 안 됐다. FlatGeobuf는 바이너리 안에 공간 인덱스를 통째로 심어, 12GB 파일을 정적 저장소에 올려두고도 HTTP Range 요청으로 화면에 보이는 피처만 뜯어온다. GeoJSON의 진짜 후계자를 만난다.

    17
    • GIS
  7. 지도를 통째로 담은 데이터베이스 — SQLite로 만든 GIS 컨테이너, GeoPackage 포스트 대표 이미지

    지도를 통째로 담은 데이터베이스 — SQLite로 만든 GIS 컨테이너, GeoPackage

    확장자만 .gpkg일 뿐, 정체는 SQLite 데이터베이스 파일이다. 새 포맷을 발명하는 대신 세상에서 가장 많이 깔린 DB를 지도 컨테이너로 재활용한 발상의 전환 — 벡터·타일·좌표계·인덱스가 파일 하나에 다 들어가는 Shapefile의 공식 후계자를 만난다.

    10
    • GIS
  8. 메모장으로 여는 지도 — 웹 표준 GeoJSON의 구조와 [경도, 위도]의 비밀 포스트 대표 이미지

    메모장으로 여는 지도 — 웹 표준 GeoJSON의 구조와 [경도, 위도]의 비밀

    Shapefile은 파일 다섯 개가 한 묶음이었다. GeoJSON은 메모장으로 열면 사람이 그냥 읽는다. 웹 표준이 된 이 포맷의 구조(FeatureCollection), 좌표가 왜 하필 [경도, 위도]인지, 그리고 파일이 커지는 순간 무너지는 한계까지.

    12
    • GIS