GeoEye-1 L1B
GeoEye-1 L1B panchromatic and multispectral EO data products are calibrated using the Optical Products Calibration (OPT-Calib) service. The process applied is the same for PAN and MS acquisitions.
Input
The input is an ingested GeoEye-1 Dataset
, find details here.
DN to Radiance
The GeoEye-1 product handbook1,2 provides the formula below to convert the DN into radiance:
Where:
\(gain_{(b)}\) and \(offset_{(b)}\) are values taken from Table 1:
Band | Gain | Offset |
---|---|---|
pan | 0.970 | -1.926 |
blue | 1.053 | -4.537 |
green | 0.994 | -4.175 |
red | 0.998 | -3.754 |
nir | 0.994 | -3.870 |
Table 1 - Gain and offset for the Geoeye-1 DN to radiance conversion.
And \(abscalfactor\) and \(effectivebandwith\) are extracted from the acquisition metadata.
The conversion from \(DN\) (for Digital Numbers) to spectral radiance (or ‘TOA radiance’) \(L \) is done with the formula below:
As such, the calibration uses:
and
\(L \) in \(W/m^2/steradians/micrometers\) with \(b\) being a band ID.
Radiance to Reflectance
To convert TOA radiance to TOA reflectance, the following formula is used :
where :
-
\(L(b)\) is the spectral radiance for band b
-
\(pi\) is the famous mathematical constant
-
\(d\) is the earth-sun distance (in astronomical units) and depends on the acquisition’s day and month
-
\(ESUN(b)\) is the mean TOA solar irradiance (or solar illumination) in \(W/m^2/micrometers\)
-
\(θ\) is the solar zenith angle in degrees.
The conversion from elevation angle to solar zenith angle \(θ\) (in degrees) is:
The values for the \(ESUN(b)\) are provided in Table 2:
Common band name | Bandwidth | Thuillier 2003 |
---|---|---|
pan | 0.3074 | 1610.73 |
blue | 0.0584 | 1993.18 |
green | 0.0646 | 1828.83 |
red | 0.0316 | 1491.49 |
nir | 0.1012 | 1022.58 |
Table 2 - ESUN values employed in the conversion of radiance to reflectance for GeoEye-1 products.
Output
The output is a STAC item GeoJSON3 including the assets shown below
"assets": {
"green": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../green.tif",
"eo:bands": [
{
"name": "green",
"common_name": "green",
"center_wavelength": 0.545,
"solar_illumination": 1828.83,
"full_width_half_max": 0.03
}
],
"raster:bands": [
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "6489",
"mean": "863.56089417308",
"stddev": "886.24396805544",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -12.723529411764705,
"max": 6501.7235294117645,
}
}
],
"file:size": 21813124
},
"nir08": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../nir08.tif",
"eo:bands": [
{
"name": "nir08",
"common_name": "nir08",
"center_wavelength": 0.85,
"solar_illumination": 1022.58,
"full_width_half_max": 0.03
}
],
"raster:bands": [
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "6427",
"mean": "1886.247575313",
"stddev": "1620.4647902937",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -12.601960784313725,
"max": 6439.601960784314,
}
}
],
"file:size": 27161474
},
"blue": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../blue.tif",
"eo:bands": [
{
"name": "blue",
"common_name": "blue",
"center_wavelength": 0.48,
"solar_illumination": 1993.18,
"full_width_half_max": 0.03
}
],
"raster:bands": [
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "5444",
"mean": "882.13915505924",
"stddev": "878.21414854936",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -10.674509803921568,
"max": 5454.674509803922,
}
}
],
"file:size": 20748394
},
"red": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../red.tif",
"eo:bands": [
{
"name": "red",
"common_name": "red",
"center_wavelength": 0.673,
"solar_illumination": 1491.49,
"full_width_half_max": 0.03
}
],
"raster:bands": [
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "7533",
"mean": "669.12548358611",
"stddev": "833.3870434736",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -14.770588235294118,
"max": 7547.770588235294,
}
}
],
"file:size": 21817073
},
"overview-trc": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../overview-trc.tif",
"raster:bands": [
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "253",
"mean": "44.113735557357",
"stddev": "53.367084044392",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "252",
"mean": "59.218777275141",
"stddev": "58.264231030447",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "248",
"mean": "60.933859268563",
"stddev": "58.460926022744",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0000141800457472,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "156.34194277981",
"stddev": "124.19497709926",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 33974844
},
"overview-trc-low-res": {
"type": "image/tiff; profile=cloud-optimized; application=geotiff",
"roles": [
"composite",
"overview",
"reflectance"
],
"href": "https://.../overview-trc-low-res.tif",
"raster:bands": [
{
"spatial_resolution": 0.0001445976930592,
"statistics": {
"minimum": "0",
"maximum": "253",
"mean": "44.10063457489",
"stddev": "53.378320324808",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0001445976930592,
"statistics": {
"minimum": "0",
"maximum": "252",
"mean": "59.193407058716",
"stddev": "58.26799239793",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0001445976930592,
"statistics": {
"minimum": "0",
"maximum": "248",
"mean": "60.905345916748",
"stddev": "58.462711737198",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 0.0001445976930592,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "156.28141880035",
"stddev": "124.20901711164",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 4197770
}
}
-
Kuester, M. Absolute Radiometric Calibration: 2016v0; updated on 6/6/2017 GE01 and CAVIS, DigitalGlobe: Westminster, CO, USA, 2017; pp. 1–8. ↩
-
Podger, N.E., Colwell, W.B. and Taylor, M.H. (2011) GeoEye-1 Radiance at Aperture and Planetary Reflectance. ↩
-
Radiant Earth Foundation, STAC item specifications, a single spatiotemporal asset as a GeoJSON feature plus datetime and links, available at:https://github.com ↩