이현준 블로그

  1. KML·GML·TopoJSON — 알아만 둘 포맷 3형제 포스트 대표 이미지

    KML·GML·TopoJSON — 알아만 둘 포맷 3형제

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

    16
    • GIS
  2. STAC — 수천만 장에서 원하는 위성영상 한 장 찾기 포스트 대표 이미지

    STAC — 수천만 장에서 원하는 위성영상 한 장 찾기

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

    9
    • GIS
  3. COG — 100GB 위성영상에서 화면만 뜯어오는 GeoTIFF 포스트 대표 이미지

    COG — 100GB 위성영상에서 화면만 뜯어오는 GeoTIFF

    위성영상은 한 장이 수십 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. GeoPackage — SQLite 한 파일에 담은 지도 컨테이너 포스트 대표 이미지

    GeoPackage — SQLite 한 파일에 담은 지도 컨테이너

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

    10
    • GIS
  8. GeoJSON 구조 완전정리 — 좌표가 [경도, 위도]인 이유 포스트 대표 이미지

    GeoJSON 구조 완전정리 — 좌표가 [경도, 위도]인 이유

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

    12
    • GIS