Skip to main content

logo

rgd_imagery_client - Resonant GeoData imagery client

Installation

To install the imagery client plugin

pip install rgd-imagery-client

Usage

Inspect raster

Preview thumbnails of the raster

import imageio
from io import BytesIO

from rgd_client import create_rgd_client
from rgd_imagery_client import ImageryClient


client: ImageryClient = create_rgd_client(username='username', password='password')

raster = client.imagery.get_raster(q[0])
plot_geojson(bbox, 'k--')
plot_geojson(raster['outline'], 'r')
load_image = lambda imbytes: imageio.imread(BytesIO(imbytes))

count = len(raster['parent_raster']['image_set']['images'])
for i in range(count):
    thumb_bytes = client.imagery.download_raster_thumbnail(q[0], band=i)
    thumb = load_image(thumb_bytes)
    plt.subplot(1, count, i+1)
    plt.imshow(thumb)

plt.tight_layout()
plt.show()

Download Raster

Download the entire image set of the raster

import rasterio
from rasterio.plot import show

paths = client.imagery.download_raster(q[0])
rasters = [rasterio.open(im) for im in paths.images]
for i, src in enumerate(rasters):
    plt.subplot(1, len(rasters), i+1)
    ax = plt.gca()
    show(src, ax=ax)
plt.tight_layout()
plt.show()

STAC Item Support

The Python client has a search endpoint specifically for Raster data that returns each record in the search results as a STAC Item.

q = client.imagery.search_raster_stac(query=json.dumps(bbox), predicate='intersects')

print(q[0])  # view result as STAC Item

# Download using the search result
paths = client.imagery.download_raster(q[0])
print(paths)

We can also upload new data in the STAC Item format. Here we simply pass back the same STAC Item JSON which will not actually do anything because RGD recognizes that these files are already present with a Raster.

client.imagery.create_raster_stac(q[0])

Please note that the assets in the STAC Item must already be uploaded to a cloud storage provider with either s3:// or https:// URLs. Further, the images must have the data tag on each asset. e.g.:

{
    ... # other STAC Item fields
    'assets': {
        'image-15030': {
            'href': 'http://storage.googleapis.com/gcp-public-data-sentinel-2/tiles/17/S/MS/S2A_MSIL1C_20210302T161201_N0209_R140_T17SMS_20210302T200521.SAFE/GRANULE/L1C_T17SMS_A029738_20210302T161751/IMG_DATA/T17SMS_20210302T161201_B01.jp2',
            'title': 'GRANULE/L1C_T17SMS_A029738_20210302T161751/IMG_DATA/T17SMS_20210302T161201_B01.jp2',
            'eo:bands': [{'name': 'B1'}],
            'roles': ['data'],
        },
        'image-15041': {
            'href': 'http://storage.googleapis.com/gcp-public-data-sentinel-2/tiles/17/S/MS/S2A_MSIL1C_20210302T161201_N0209_R140_T17SMS_20210302T200521.SAFE/GRANULE/L1C_T17SMS_A029738_20210302T161751/IMG_DATA/T17SMS_20210302T161201_B02.jp2',
            'title': 'GRANULE/L1C_T17SMS_A029738_20210302T161751/IMG_DATA/T17SMS_20210302T161201_B02.jp2',
            'eo:bands': [{'name': 'B1'}],
            'roles': ['data'],
        },
        ...  # ancillary files can lack a role but we like to see `metadata` used.
        'ancillary-30687': {
            'href': 'http://storage.googleapis.com/gcp-public-data-sentinel-2/tiles/17/S/MS/S2A_MSIL1C_20210302T161201_N0209_R140_T17SMS_20210302T200521.SAFE/GRANULE/L1C_T17SMS_A029738_20210302T161751/QI_DATA/MSK_TECQUA_B03.gml',
            'title': 'GRANULE/L1C_T17SMS_A029738_20210302T161751/QI_DATA/MSK_TECQUA_B03.gml',
            'roles': ['metadata'],
        },
    }
}

Metadata

Release files for rgd-imagery-client 0.3.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rgd-imagery-client 0.3.11
File Size Uploaded Provenance
rgd-imagery-client-0.3.11.tar.gz 9.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for rgd-imagery-client 0.3.11
File Interpreter ABI Platform
rgd_imagery_client-0.3.11-py3-none-any.whl Python 3 none any Details

Total release size: 17.3 kB

Release files / rgd-imagery-client-0.3.11.tar.gz

Download URL rgd-imagery-client-0.3.11.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
63d28bcad9c953f9c1ec0ca835055f456aca44dc49ce09c3fa9800c65c4a7679
BLAKE2b-256 checksum
How to use checksums
e9cbcf00c7e655de600edac1d8792bb9103190027b68e87fe5b22338cbdd321a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.12

Release files / rgd_imagery_client-0.3.11-py3-none-any.whl

Download URL rgd_imagery_client-0.3.11-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bfca5048b738c3e168da11250e0f5aea7dce10c0552a7e85a470c64945cd2ecd
BLAKE2b-256 checksum
How to use checksums
970a7f930c552f66e950f7b3c20963ed82d258428829582da5793c832e1eb7f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.12

Security for rgd-imagery-client 0.3.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.11 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page