gbdxtools: Python tools for using GBDX¶
Gbdxtools is a package to simplify interaction with DigitalGlobe’s GBDX platform and integrate GBDX data into Python’s mature analysis ecosystem.
GBDX is DigitalGlobe’s online platform to access imagery, search data, and run analysis. Its functionality can be broken into four areas:
Raster Data Access
Access to 100+ PB of DigitalGlobe satellite imagery plus Landsat, Sentinel, and other sources.
Search and filter image metadata to find imagery.
Search and store vector data. Includes image footprints, OpenStreetMap, NaturalEarth, and other datasets.
Build analysis tools and run them at scale.
Gbdxtools extends the access to these services with additional functionality for analysis and visualization. It can be thought of as having three layers:
- A core API library to abstract GBDX services
- Image classes that wrap all of the API calls, manage the geospatial metadata, and return NumPy arrays. These classes are based on Dask arrays which defer the server calls until the image data is needed.
- Simple visualization and analysis methods such as one-line plotting (using Matplotlib).
Some GBDX functionality is also available through the command line with https://github.com/DigitalGlobe/rdatools. The CLI tool is useful for building simple workflows with other command lines tools like gdal_translate or JQ. RdaTools is a statically linked Go executable and binaries should run on most systems.
To load a subset of an image covering the Denver area using its catalog identifier, and view it in a Jupyter notebook:
from gbdxtools import CatalogImage image = CatalogImage('103001007B9DD400', bbox=[-105.06, 39.67, -105.04, 39.68]) img.plot()
gbdxtools is MIT licenced.
The recommended installation method is with Anaconda:
conda install -c conda-forge -c digitalglobe gbdxtools
Gbdxtools can also be installed with pip:
pip install gbdxtools
- Raster Data Access
- Catalog Service
- Vector Service
- Vector Maps
- Workflow Service
- API Reference