Skip to main content

No project description provided

Project description

Why Virtualize GeoTIFFs or COGs?

Status

Experimental, proof-of-concept.

Background

This repository started as a simple set of demonstrations to prompt discussions over whether and how we should approach Virtualizing GeoTIFFs and COGs.

First, some thoughts on why we should virtualize GeoTIFFs and/or COGS:

  1. Provide faster access to non-cloud-optimized GeoTIFFS that contain some form of internal tiling without any data duplication see notebook #1.
  2. Provide fully async I/O for both GeoTIFFs and COGs using Zarr-Python
  3. Allow loading a stack of GeoTIFFS/COGS into a data cube while minimizing the number of GET requests relative to using stackstac/xstac, thereby decreasing cost and increasing performance
  4. Provide users access to a lazily loaded DataTree providing both the data and the overviews, allowing scientists to use the overviews not only for tile-based visualization but also quickly iterating on analytics
  5. Include etags in the virtualized datasets to support reproducibility
  6. A motivation that's less clear to me, but maybe possible, is using the virtualization layer to access COGs with disparate CRSs as a single dataset (https://github.com/zarr-developers/geozarr-spec/issues/53)

Getting started

  1. Clone the repository: git clone https://github.com/maxrjones/virtual-tiff.git
  2. Setup virtual env using uv: uv sync
  3. Start a shell in the virtual environment: uv run --all-groups zsh (all-groups includes all the development dependencies in the virtual environment)

Optionally:

  • Download all test files using uv run --all-groups python tests/conftest.py
  • Run the test suite using uv run --all-groups pytest WARNING: Many will fail due to incomplete status of the implementation

License

virtual-tiff is distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

virtual_tiff-0.1.0b1.tar.gz (152.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

virtual_tiff-0.1.0b1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file virtual_tiff-0.1.0b1.tar.gz.

File metadata

  • Download URL: virtual_tiff-0.1.0b1.tar.gz
  • Upload date:
  • Size: 152.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for virtual_tiff-0.1.0b1.tar.gz
Algorithm Hash digest
SHA256 2a5205796bbfc8cb669bad1703f3a8c6074fdea1f2591d4c2c0389401350a40d
MD5 3c858880cdf39ba3b3c0f40fc9c00316
BLAKE2b-256 1ad09dd9940d6082c4fdfdd8a3beb5af83ff0ff9cea672b61d94609cb9ccc86b

See more details on using hashes here.

File details

Details for the file virtual_tiff-0.1.0b1-py3-none-any.whl.

File metadata

  • Download URL: virtual_tiff-0.1.0b1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for virtual_tiff-0.1.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 1eb5dc85b913882880d149f4778b6dc027b2492f6c431393fca13c87971a9804
MD5 b2c5c51469870f97411dc39066217c92
BLAKE2b-256 f087c4b8587b48229d4acd47b6433e21f41677896190668587638cb842ad37af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page