Landsat-8
Landsat-8 L1TP 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 Landsat-8, find details here.
DN to Reflectance
Reflective band DN’s are converted to TOA reflectance using the rescaling coefficients in the MTL file1:
where:
\(R(b)'\) is the Top of Atmosphere planetary reflectance, without correction for solar angle.
Note that \(R(b)'\) does not contain a correction for the sun angle.
-
\(M_b\) is the band-specific multiplicative rescaling factor from the metadata (REFLECTANCE_MULT_BAND_x, where x is the band number)
-
\(A_b\) is the band-specific additive rescaling factor from the metadata (REFLECTANCE_ADD_BAND_x, where x is the band number)
Top of Atmosphere reflectance with a correction for the sun angle is then:
where:
-
\(R(b)\) is the TOA planetary reflectance
-
\(θ_{SE}\) is the local sun elevation angle. The scene center sun elevation angle in degrees is provided in the metadata (SUN_ELEVATION).
-
\(θ_{SZ}\) is the local solar zenith angle; \(θ_{SZ} = 90° - θ_{SE}\)
Output
The output is a STAC item GeoJSON2 including the assets shown below
"assets": {
"coastal": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/coastal.tif",
"eo:bands": [
{
"name": "coastal",
"common_name": "coastal",
"center_wavelength": 0.44,
"full_width_half_max": 0.02
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "12875",
"mean": "1377.7385718365",
"stddev": "1113.1136069519",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -25.245098039215687,
"max": 12900.245098039215,
}
}
],
"file:size": 79819050
},
"swir16": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/swir16.tif",
"eo:bands": [
{
"name": "swir16",
"common_name": "swir16",
"center_wavelength": 1.6,
"full_width_half_max": 0.08
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "9617",
"mean": "1706.4284159658",
"stddev": "1493.1111513652",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -18.856862745098038,
"max": 9635.856862745099,
}
}
],
"file:size": 89443820
},
"pan": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/pan.tif",
"eo:bands": [
{
"name": "pan",
"common_name": "pan",
"center_wavelength": 0.59,
"full_width_half_max": 0.18
}
],
"raster:bands": [
{
"spatial_resolution": 15,
"statistics": {
"minimum": "0",
"maximum": "13809",
"mean": "1281.1037347165",
"stddev": "1138.9614587829",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -27.076470588235296,
"max": 13836.076470588236,
}
}
],
"file:size": 334510591
},
"cirrus": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/cirrus.tif",
"eo:bands": [
{
"name": "cirrus",
"common_name": "cirrus",
"center_wavelength": 1.37,
"full_width_half_max": 0.02
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "-7",
"maximum": "2435",
"mean": "17.69152253714",
"stddev": "67.125218149846",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -11.788235294117648,
"max": 2439.788235294118,
}
}
],
"file:size": 33487765
},
"nir": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/nir.tif",
"eo:bands": [
{
"name": "nir",
"common_name": "nir",
"center_wavelength": 0.86,
"full_width_half_max": 0.03
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "13809",
"mean": "2226.6358674499",
"stddev": "1722.4087815368",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -27.076470588235296,
"max": 13836.076470588236,
}
}
],
"file:size": 90302218
},
"red": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/red.tif",
"eo:bands": [
{
"name": "red",
"common_name": "red",
"center_wavelength": 0.65,
"full_width_half_max": 0.04
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "13809",
"mean": "1287.3335716868",
"stddev": "1188.5749744631",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -27.076470588235296,
"max": 13836.076470588236,
}
}
],
"file:size": 86542918
},
"blue": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/blue.tif",
"eo:bands": [
{
"name": "blue",
"common_name": "blue",
"center_wavelength": 0.48,
"full_width_half_max": 0.06
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "13392",
"mean": "1289.548799514",
"stddev": "1100.0780390421",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -26.258823529411764,
"max": 13418.258823529412,
}
}
],
"file:size": 81737556
},
"swir22": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/swir22.tif",
"eo:bands": [
{
"name": "swir22",
"common_name": "swir22",
"center_wavelength": 2.2,
"full_width_half_max": 0.2
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "10335",
"mean": "1112.8459264212",
"stddev": "1088.9125502025",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -20.264705882352942,
"max": 10355.264705882353,
}
}
],
"file:size": 87252361
},
"green": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/green.tif",
"eo:bands": [
{
"name": "green",
"common_name": "green",
"center_wavelength": 0.56,
"full_width_half_max": 0.06
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "13495",
"mean": "1298.1569357367",
"stddev": "1119.3060565885",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -26.46078431372549,
"max": 13521.460784313726,
}
}
],
"file:size": 84312698
},
"lwir12": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/lwir12.tif",
"eo:bands": [
{
"name": "lwir12",
"common_name": "lwir12",
"center_wavelength": 12,
"full_width_half_max": 1
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "12156",
"mean": "8124.0720276967",
"stddev": "5472.2301137303",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -23.83529411764706,
"max": 12179.835294117647,
}
}
],
"file:size": 47716463
},
"lwir11": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"data",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/lwir11.tif",
"eo:bands": [
{
"name": "lwir11",
"common_name": "lwir11",
"center_wavelength": 10.9,
"full_width_half_max": 0.8
}
],
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "18018",
"mean": "12021.977810737",
"stddev": "8090.846851463",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -35.32941176470588,
"max": 18053.329411764706,
}
}
],
"file:size": 58560758
},
"overview-trc": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-trc.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "87.863780545074",
"stddev": "72.707186337033",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "89.972034385402",
"stddev": "69.005515461523",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "89.538866126759",
"stddev": "66.773437416697",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39197442785",
"stddev": "116.46232433701",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 129264348
},
"overview-civ": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-civ.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "139.19757180094",
"stddev": "97.177644784173",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "87.863976572082",
"stddev": "72.707635605958",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "89.971920951468",
"stddev": "69.005245003471",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39699951885",
"stddev": "116.46008518347",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 131867447
},
"overview-sir": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-sir.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "77.048136096142",
"stddev": "74.788454312956",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5, }
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "139.19800727318",
"stddev": "97.178161474805",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "87.863780545074",
"stddev": "72.707186337033",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39582223655",
"stddev": "116.46060979744",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 135087904
},
"overview-atp": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-atp.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "77.048136096142",
"stddev": "74.788454312956",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "111.95621779458",
"stddev": "90.385510992982",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "139.19797047462",
"stddev": "97.178117813259",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.3966186334",
"stddev": "116.46025491308",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 135268353
},
"overview-fcu": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-fcu.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "77.048136096142",
"stddev": "74.788454312956",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "111.95621779458",
"stddev": "90.385510992982",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "87.863966421926",
"stddev": "72.707612343175",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39582223655",
"stddev": "116.46060979744",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 137996463
},
"overview-vea": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-vea.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "111.95621779458",
"stddev": "90.385510992982",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "139.19800727318",
"stddev": "97.178161474805",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "87.863780545074",
"stddev": "72.707186337033",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39582223655",
"stddev": "116.46060979744",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 134275652
},
"overview-pan": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-pan.tif",
"raster:bands": [
{
"spatial_resolution": 15,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "88.180576562474",
"stddev": "69.865299777665",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 15,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "88.180720393477",
"stddev": "69.865642176833",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 15,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "88.180576562474",
"stddev": "69.865299777665",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 15,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.61330474079",
"stddev": "116.36345418126",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 507214428
},
"overview-law": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-law.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "139.19757180094",
"stddev": "97.177644784173",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "111.95621779458",
"stddev": "90.385510992982",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "87.863795244129",
"stddev": "72.707220025509",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39582223655",
"stddev": "116.46060979744",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 134262231
},
"overview-wad": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"reflectance",
"visual"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-wad.tif",
"raster:bands": [
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "89.971920951468",
"stddev": "69.005245003471",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "89.538993394099",
"stddev": "66.773751824761",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "96.764824977449",
"stddev": "69.033522849766",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 30,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.39147667982",
"stddev": "116.46254611671",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 121454532
},
"overview-trc-low-res": {
"type": "image/tiff; application=geotiff; profile=cloud-optimized",
"roles": [
"composite",
"overview",
"reflectance"
],
"href": "https://.../LC08_L1TP_151040_20220829_20220829_02_RT-calibrated/overview-trc-low-res.tif",
"raster:bands": [
{
"spatial_resolution": 222.685546875,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "87.859018325806",
"stddev": "72.691167256278",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 222.685546875,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "89.968678474426",
"stddev": "68.99177929591",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 222.685546875,
"statistics": {
"minimum": "0",
"maximum": "254",
"mean": "89.540860176086",
"stddev": "66.760468975327",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
},
{
"spatial_resolution": 222.685546875,
"statistics": {
"minimum": "0",
"maximum": "255",
"mean": "179.40995693207",
"stddev": "116.45431023071",
"valid_percent": "100"
},
"histogram": {
"count": 256,
"min": -0.5,
"max": 255.5,
}
}
],
"file:size": 2077527
}
}
-
USGS, Using the USGS Landsat Level-1 Data Product, available at: https://www.usgs.gov. ↩
-
Radiant Earth Foundation, STAC item specifications, a single spatiotemporal asset as a GeoJSON feature plus datetime and links, available at:https://github.com. ↩