Skip to content

Commit 72b580a

Browse files
committed
Update README: unified API with all 5 backends in feature matrix
1 parent 230573c commit 72b580a

File tree

1 file changed

+18
-9
lines changed

1 file changed

+18
-9
lines changed

README.md

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -137,15 +137,24 @@ In the GIS world, rasters are used for representing continuous phenomena (e.g. e
137137

138138
Native GeoTIFF and Cloud Optimized GeoTIFF reader/writer. No GDAL required.
139139

140-
| Name | Description | NumPy | Dask | CuPy GPU | Cloud |
141-
|:-----|:------------|:-----:|:----:|:--------:|:-----:|
142-
| [read_geotiff](xrspatial/geotiff/__init__.py) | Read GeoTIFF / COG / VRT to DataArray | ✅️ | ✅️ | ✅️ | ✅️ |
143-
| [write_geotiff](xrspatial/geotiff/__init__.py) | Write DataArray as GeoTIFF / COG | ✅️ | ✅️ | 🔄 | ✅️ |
144-
| [read_geotiff_gpu](xrspatial/geotiff/__init__.py) | GPU-native read (nvCOMP + GDS) | | ✅️ | ✅️ | |
145-
| [write_geotiff_gpu](xrspatial/geotiff/__init__.py) | GPU-native write (nvCOMP batch compress) | 🔄 | ✅️ | ✅️ | |
146-
| [read_geotiff_dask](xrspatial/geotiff/__init__.py) | Dask lazy read via windowed chunks | | ✅️ | | |
147-
| [read_vrt / write_vrt](xrspatial/geotiff/__init__.py) | Virtual Raster Table mosaic | ✅️ | ✅️ | ✅️ | |
148-
| [open_cog](xrspatial/geotiff/__init__.py) | HTTP range-request COG reader | ✅️ | | | ✅️ |
140+
| Name | Description | NumPy | Dask | CuPy GPU | Dask+CuPy GPU | Cloud |
141+
|:-----|:------------|:-----:|:----:|:--------:|:-------------:|:-----:|
142+
| [read_geotiff](xrspatial/geotiff/__init__.py) | Read GeoTIFF / COG / VRT | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ |
143+
| [write_geotiff](xrspatial/geotiff/__init__.py) | Write DataArray as GeoTIFF / COG | ✅️ | ✅️ | ✅️ | ✅️ | ✅️ |
144+
| [read_vrt / write_vrt](xrspatial/geotiff/__init__.py) | Virtual Raster Table mosaic | ✅️ | ✅️ | ✅️ | ✅️ | |
145+
| [open_cog](xrspatial/geotiff/__init__.py) | HTTP range-request COG reader | ✅️ | | | | ✅️ |
146+
147+
`read_geotiff` and `write_geotiff` auto-dispatch to the correct backend:
148+
149+
```python
150+
read_geotiff('dem.tif') # NumPy
151+
read_geotiff('dem.tif', chunks=512) # Dask
152+
read_geotiff('dem.tif', gpu=True) # CuPy (nvCOMP + GDS)
153+
read_geotiff('dem.tif', gpu=True, chunks=512) # Dask + CuPy
154+
155+
write_geotiff(cupy_array, 'out.tif') # auto-detects GPU
156+
write_geotiff(data, 'out.tif', gpu=True) # force GPU compress
157+
```
149158

150159
**Compression codecs:** Deflate, LZW (Numba JIT), ZSTD, PackBits, JPEG (Pillow), uncompressed
151160

0 commit comments

Comments
 (0)