前言
最近忙里抽闲,把焦糖计划的预更新做了一点进度,主要是把最常用的三颗星的定标系数写入静态JSON文本(文末),便于用户控制参数。
IDL中JSON读取
从JSON_PARSE的源码可以看到,IDL中其实可以创建一个IDLffJSON对象,但是帮助文档只字未提,对象的函数方法都不知道,只能老老实实用现成的JSON_PARSE函数,而且这个函数还很友好,支持直接从文件读取JSON信息,还可以返回多种形式。
一点自己的想法
其实对于高分辨率遥感来说,最主要应用的是精细化监测,而定标更多应用于定量反演,太准确的辐射值标定对很多高分用户来说其实跟大气纠正差不多都是鸡肋的。但是对于MODIS,FY这些宽视域,低分辨率的影像来说,就需要将定标工作做好,才能更好地服务近于定量遥感。
调用函数
;+
; :Examples:
; g = readJSON('snyDov_cal.json', key = ['GF1', 'WFV1', '2013', 'gain'])
; w = readJSON('snyDov_wvl.json', key = ['GF6', 'PMS'])
;-
function readJSON, i_fn, key = key
compile_opt idl2, hidden
fullJSON = JSON_PARSE(i_fn, /TOARRAY)
case N_ELEMENTS(key) of
2: r = (fullJSON[key[0]])[key[1]]
4: r = (((fullJSON[key[0]])[key[1]])[key[2]])[key[3]]
else: RETURN, -1
endcase
RETURN, r
end
高分一号二号六号历年(至2019)定标系数
{
"GF1": {
"WFV1": {
"2013": {"gain": [5.8510, 7.1530, 8.3680, 7.4740], "offset": [0.0039, 0.0047, 0.0047, 0.0274]},
"2014": {"gain": [0.2004, 0.1648, 0.1243, 0.1563], "offset": [0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.1816, 0.1560, 0.1412, 0.1368], "offset": [0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1843, 0.1477, 0.1220, 0.1365], "offset": [0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.2165, 0.1685, 0.1354, 0.1507], "offset": [0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1824, 0.1546, 0.1270, 0.1344], "offset": [0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.2144, 0.1647, 0.1228, 0.1213], "offset": [0.0, 0.0, 0.0, 0.0]}
},
"WFV2": {
"2013": {"gain": [6.0140, 6.8230, 9.4510, 8.9960], "offset": [0.0125, 0.0193, 0.0429, 0.0011]},
"2014": {"gain": [0.1733, 0.1383, 0.1122, 0.1391], "offset": [0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.1684, 0.1527, 0.1373, 0.1263], "offset": [0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1929, 0.1540, 0.1349, 0.1359], "offset": [0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.2097, 0.1630, 0.1339, 0.1521], "offset": [0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1851, 0.1538, 0.1231, 0.1314], "offset": [0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.2368, 0.1745, 0.1254, 0.1163], "offset": [0.0, 0.0, 0.0, 0.0]}
},
"WFV3": {
"2013": {"gain": [5.8200, 6.2390, 7.0100, 7.7110], "offset": [0.0071, 0.0334, 0.0226, 0.0117]},
"2014": {"gain": [0.1391, 0.1514, 0.1257, 0.1462], "offset": [0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.1770, 0.1589, 0.1385, 0.1344], "offset": [0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1753, 0.1565, 0.1480, 0.1322], "offset": [0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1870, 0.1619, 0.1295, 0.1383], "offset": [0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1894, 0.1728, 0.1343, 0.1373], "offset": [0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.2139, 0.1797, 0.1344, 0.1337], "offset": [0.0, 0.0, 0.0, 0.0]}
},
"WFV4": {
"2013": {"gain": [5.3500, 6.2350, 6.9920, 7.4620], "offset": [0.0369, 0.0235, 0.0217, 0.005]},
"2014": {"gain": [0.1713, 0.1600, 0.1497, 0.1435], "offset": [0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.1886, 0.1645, 0.1467, 0.1378], "offset": [0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1973, 0.1714, 0.1500, 0.1572], "offset": [0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1770, 0.1521, 0.1322, 0.1349], "offset": [0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1866, 0.1599, 0.1307, 0.1251], "offset": [0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.2442, 0.1945, 0.1547, 0.1037], "offset": [0.0, 0.0, 0.0, 0.0]}
},
"PMS1": {
"2013": {"gain": [0.1886, 0.2082, 0.1672, 0.1748, 0.1883], "offset": [-13.1270, 4.6186, 4.8768, 4.8924, -9.4771]},
"2014": {"gain": [0.1963, 0.2247, 0.1892, 0.1889, 0.1939], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.1956, 0.2110, 0.1802, 0.1806, 0.1870], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1982, 0.2320, 0.1870, 0.1795, 0.1960], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1228, 0.1424, 0.1177, 0.1194, 0.1135], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1428, 0.1530, 0.1356, 0.1366, 0.1272], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.1381, 0.1490, 0.1328, 0.1311, 0.1217], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
},
"PMS2": {
"2013": {"gain": [0.1878, 0.2072, 0.1776, 0.1770, 0.1909], "offset": [-7.9731, 7.5348, 3.9395, -1.7445, -7.2053]},
"2014": {"gain": [0.2147, 0.2419, 0.2047, 0.2009, 0.2058], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2015": {"gain": [0.2018, 0.2242, 0.1887, 0.1882, 0.1963], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1979, 0.2240, 0.1851, 0.1793, 0.1863], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1365, 0.1460, 0.1248, 0.1274, 0.1255], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1490, 0.1523, 0.1382, 0.1403, 0.1334], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.1381, 0.1490, 0.1328, 0.1311, 0.1217], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
},
"GF1B": {
"PMS": {
"2018": {"gain": [0.0399, 0.0333, 0.0414, 0.0474, 0.0435], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.0399, 0.0292, 0.0362, 0.0400, 0.0354], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
},
"GF1C": {
"PMS": {
"2018": {"gain": [0.0401, 0.0301, 0.0392, 0.0436, 0.0379], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.0417, 0.0290, 0.0382, 0.0421, 0.0364], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
},
"GF1D": {
"PMS": {
"2018": {"gain": [0.0421, 0.0296, 0.0388, 0.0444, 0.0390], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.0431, 0.0284, 0.0373, 0.0435, 0.0371], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
},
"GF2": {
"PMS1": {
"2014": {"gain": [0.1630, 0.1585, 0.1883, 0.1740, 0.1897], "offset": [-0.6077, -0.8765, -0.9742, -0.7652, -0.7233]},
"2015": {"gain": [0.1538, 0.1457, 0.1604, 0.1550, 0.1731], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1501, 0.1322, 0.1550, 0.1477, 0.1613], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1503, 0.1193, 0.1530, 0.1424, 0.1569], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.1725, 0.1356, 0.1736, 0.1644, 0.1788], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.1855, 0.1453, 0.1826, 0.1727, 0.1908], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
},
"PMS2": {
"2014": {"gain": [0.1823, 0.1748, 0.1817, 0.1741, 0.1975], "offset": [0.1654, -0.5930, -0.2717, -0.2879, -0.2773]},
"2015": {"gain": [0.1538, 0.1761, 0.1843, 0.1677, 0.1830], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2016": {"gain": [0.1863, 0.1762, 0.1856, 0.1754, 0.1980], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2017": {"gain": [0.1679, 0.1434, 0.1595, 0.1511, 0.1685], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2018": {"gain": [0.2136, 0.1859, 0.2072, 0.1934, 0.2180], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.1980, 0.1750, 0.1902, 0.1770, 0.1968], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
},
"GF6": {
"WFV": {
"2018": {"gain": [0.0667, 0.0517, 0.0485, 0.0298, 0.0530, 0.0450, 0.0814, 0.0559], "offset": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.0705, 0.0567, 0.0516, 0.0322, 0.0532, 0.0453, 0.0786, 0.0585], "offset": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
},
"PMS": {
"2018": {"gain": [0.0505, 0.0825, 0.0663, 0.0513, 0.0298], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]},
"2019": {"gain": [0.0534, 0.0847, 0.0653, 0.0491, 0.0289], "offset": [0.0, 0.0, 0.0, 0.0, 0.0]}
}
}
}