ucam-eo/geotessera

Python library for the Tessera embeddings

GeoTessera – 지구 위성 임베딩을 위한 Python 라이브러리

기능

  • Tessera 임베딩에 대한 프로그래밍 방식의 액세스를 제공합니다. 이는 1년 치 Sentinel-1/2 이미지를 10 m 픽셀마다 128채널 벡터로 변환하는 픽셀 단위 지구 기초 모델입니다.
  • 이 라이브러리는 클라우드 호스팅 Zarr 저장소에서 직접 임베딩을 스트리밍하거나 오프라인 작업을 위해 GeoTIFF/NumPy 타일로 다운로드할 수 있습니다.
  • 일반적인 작업을 위한 CLI (geotessera)가 포함되어 있습니다: 영역 다운로드, PCA를 이용한 시각화, 웹 지도 타일 생성, 데이터 범위 확인.

사용 방법

  1. pip install geotessera로 설치 (Python 3.12+).
  2. 클라이언트 생성 (예: gt = GeoTesseraZarr()).
  3. 포인트 (gt.probe(lon, lat, year)) 또는 전체 영역 (gt.read_region(bbox, year)) 쿼리.
  4. 결과를 GeoTIFFs (gt.export_geotiffs(...)) 또는 NumPy 배열로 내보내기.
  5. 선택적으로 CLI 실행:
    geotessera download --bbox '-3,53.4,-2.9,53.5' --year 2024 --output region/
    geotessera webmap --bbox '-3,53.4,-2.9,53.5' --year 2024 --output map/ --serve
    

기술적 세부 사항

  • Zarr 백엔드: 필요한 바이트 범위만 읽고, 픽셀별 스케일 계수로 int8 값을 역양자화하며, 네이티브 UTM 그리드에서 float-32 벡터를 반환합니다.
  • 타일 시스템: 0.1° × 0.1° 타일(~11 km)이 양자화된 .npy 및 스케일 파일로 저장됩니다. 육지 마스크 타일이 올바른 지리 참조를 제공합니다.
  • 레지스트리: 데이터셋 버전(v1.1, v2)별 Parquet 매니페스트가 사용 가능한 타일을 나열하여 빠른 공간/시간 검색을 가능하게 합니다.
  • 메타데이터 안전성: 내보낼 때마다 tessera_metadata.json이 기록되고 GeoTIFF에 데이터셋 버전이 태그됩니다. 버전 혼합을 방지합니다.
  • 에이전트 스킬: Claude-Code 에이전트가 Zarr API를 학습하기 위한 선택적 스킬.

GeoTessera를 선택해야 하는 이유

  • 대규모 지구 관측 분석(토지 피복 변화, 기후 모델링, 농업 모니터링 등)을 위해 고밀도 다중 스펙트럼 임베딩이 필요한 경우.
  • 전체 데이터셋을 다운로드하고 싶지 않은 경우. 스트리밍 Zarr API는 필요한 영역만 가져옵니다.
  • Python/GIS 환경에서 작업하며 즉시 사용 가능한 GeoTIFF 또는 웹 지도 타일을 원하는 경우.

제한 사항 / 현재 상태

  • v2 임베딩은 현재 주문형으로 생성 중이므로 처리 시간이 느릴 수 있습니다.
  • 타일 기반 다운로드(--source tiles)는 더 이상 사용되지 않으며 제거될 예정입니다.
  • Sentinel 획득 기하학으로 인한 일부 아티팩트가 남아 있습니다. 이는 문서화되어 있으나 완전히 제거할 수는 없습니다.

추가 정보


위의 모든 정보는 저장소의 README에서 직접 가져온 것입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트