ImageNode Implementation
This drb-driver-image module implements images data formats to be accessed with DRB data model. It is able to navigates among the images contents and accessing the image data.
Supported images formats
The current implementation is based on RasterIO module. It has been tested with Tiff/GeoTIFF, Jp2k and png formats.
There are no limitations to use other formats supported by rasterio, see https://gdal.org/drivers/raster/index.html for details.
Image Factory and Image Node
The module implements the basic factory model defined in DRB in its node resolver. Based on the python entry point mechanism, this module can be dynamically imported into applications.
The entry point group reference is drb.drivers.
The implementation name is image.
The factory class is encoded into drb-drivers-image.base_node.
The image factory creates an ImageNode from an existing image data. It uses a base node to access the content data with the streamed base node implementation.
The base node can be a FileNode (See drb-driver-file), HttpNode, ZipNode or any other node able to provide streamed (BufferedIOBase, RawIOBase, IO) image content.
Native (partial) reads
When the source can be located on GDAL's virtual filesystem, the image is
opened natively instead of being copied into an in-memory MemoryFile, so
GDAL reads only the headers and tiles a request needs (windowed and overview
reads no longer download the whole image). This happens when:
- the base node is a local file (opened by its path), or
- the base node exposes a
gdal-vsilocator implementation (get_impl(str, 'gdal-vsi')) — e.g. a zip member as/vsizip{<archive>}/inner(drb-driver-zip) or an S3 object as/vsis3/bucket/key(drb-driver-s3), which compose as/vsizip{/vsis3/bucket/key.zip}/inner.jp2.
Any other source falls back to the in-memory path. For a tiled JP2 in a zip on S3, a 512×512 window reads in ~1–2 s instead of downloading the full ~50–100 MB member.
limitations
The current version does not manage child modification and insertion. ImageNode is currently read only.
Using this module
To include this module into your project, the drb-driver-image module shall be referenced into requirement.txt file, or the following pip line can be run:
pip install drb-driver-image
Metadata
Release files for drb-driver-image 1.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| drb_driver_image-1.5.0.tar.gz | 35.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| drb_driver_image-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.1 kB
Release files / drb_driver_image-1.5.0.tar.gz
| Download URL | drb_driver_image-1.5.0.tar.gz |
|---|---|
| Size | 35.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b1e9417c93eccc9924fc7f57fadf4243209731ef81bfa5fc97667645461f716c
|
|
BLAKE2b-256 checksum How to use checksums |
9c886ba29097edb23ca2908530735dce47279bef0efc38d739995316045f3a7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/9.0.0 pkginfo/1.12.1.2 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.68.4 CPython/3.11.15
|
Release files / drb_driver_image-1.5.0-py3-none-any.whl
| Download URL | drb_driver_image-1.5.0-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b01683c90d4719f7606c3a83bbcf7de0d7d2f380d5456e6b35e4213c6afb01b5
|
|
BLAKE2b-256 checksum How to use checksums |
f971a75970b6db60e96f3940390f472923e708e7d046cee796b31ccf705549e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/9.0.0 pkginfo/1.12.1.2 requests/2.34.2 requests-toolbelt/1.0.0 tqdm/4.68.4 CPython/3.11.15
|