RDA (DigitalGlobe Raster Data Access)

(GDAL/OGR >= 2.3)

This driver can connect to DigitalGlobe RDA REST API. GDAL/OGR must be built with Curl support in order for the RDA driver to be compiled.

The driver retrieves metadata on graphs and fetches the raster by tiles. Data types byte, uint16, int16, uint32, int32, float32 and float64 are supported.

Orthorectified (with geotransform) and raw (Level-1B with RPCs) datasets are supported.

There is no support for overviews.

Dataset name syntax

The minimal syntax to open a datasource is :
{"graph-id":"some_value", "node-id": "another_value"}

So a JSon serialized document with 2 attributes graph-id and node-id.

Those values can for example be retrieved from graphs built by GraphStudio.

An optional
"options": {"delete-on-close": false}
can be added to the JSon document to request that cached tiles and metadata are not destroyed at dataset closing.

Authentication

Access to the API require an authentication token. For that, 4 parameters (client_id, client_secret, username, password) must be provided to the driver. They can be retrieved from the below configuration options, or from the ~/.gbdx-config file.

The access token will be cached in ~/.gdal/rda_cache/authentication.json and reused from there until its expiration period is reached.

Configuration options

The following configuration options are available :

~/.gbdx-config file

This file may be created in the home directory of the user (value of the $HOME environment variable on Unix, $USERPROFILE on Windows). It can contain values from the above configuration options.

[gbdx]
auth_url = https://geobigdata.io/auth/v1/oauth/token/ (optional)
rda_api_url = https://idahoapi.geobigdata.io/v1 (optional)
client_id = value (required)
client_secret = value (required)
user_name = value (required)
user_password = value (required)

Caching

By default, the authentication token is cached in the ~/.gdal/rda_cache directory. This directory may be changed with the RDA_CACHE_DIR configuration option. By default, dataset metadata and tiles are temporarily cached in ~/.gdal/rda_cache/{graph-id}/{node-id}, and deleted on dataset closing, unless

"options": {"delete-on-close": false}
is found in the dataset name.

Examples

  • Display metadata, and keep it cached:
    gdalinfo '{"graph-id":"006c45299483320d4f227ddb6eeb17aff0411f03e301add6500b9c68904980fa", "node-id":"Threshold_to0l28", "options": {"delete-on-close": false}}'
    Driver: RDA/DigitalGlobe Raster Data Access driver
    Files: none associated
    Size is 8691, 6050
    Coordinate System is:
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]]
    Origin = (-105.065847344240026,39.702734639151991)
    Pixel Size = (0.000024838303989,-0.000024838303989)
    Metadata:
      ACQUISITION_DATE=2011-06-07T17:23:33.127Z
      CLOUD_COVER=0.0
      GSD=2.765 m
      SAT_AZIMUTH=179.2
      SAT_ELEVATION=72.6
      SENSOR_NAME=4-band (Blue, Green, Red, NIR) Multispectral
      SENSOR_PLATFORM_NAME=QB02
      SUN_AZIMUTH=122.5
      SUN_ELEVATION=63.8
    Image Structure Metadata:
      INTERLEAVE=PIXEL
    Corner Coordinates:
    Upper Left  (-105.0658473,  39.7027346) (105d 3'57.05"W, 39d42' 9.84"N)
    Lower Left  (-105.0658473,  39.5524629) (105d 3'57.05"W, 39d33' 8.87"N)
    Upper Right (-104.8499776,  39.7027346) (104d50'59.92"W, 39d42' 9.84"N)
    Lower Right (-104.8499776,  39.5524629) (104d50'59.92"W, 39d33' 8.87"N)
    Center      (-104.9579125,  39.6275988) (104d57'28.48"W, 39d37'39.36"N)
    Band 1 Block=256x256 Type=Byte, ColorInterp=Blue
    
  • Extract a subwindow from a dataset:
    gdal_translate -srcwin 1000 2000 500 500 '{"graph-id":"006c45299483320d4f227ddb6eeb17aff0411f03e301add6500b9c68904980fa", "node-id":"Threshold_to0l28", "options": {"delete-on-close": false}}' out.tif