@@ -137,15 +137,24 @@ In the GIS world, rasters are used for representing continuous phenomena (e.g. e
137137
138138Native 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