Refactor GF3 L1A to L2 pipeline

This commit is contained in:
2026-05-03 15:41:08 +08:00
commit 46474274c2
26 changed files with 1310 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
<root>
<QualifyValue>
<HH>1.0</HH><HV>2.0</HV><VH>NULL</VH><VV>4.0</VV>
</QualifyValue>
<CalibrationConst>
<HH>10.0</HH><HV>20.0</HV><VH>30.0</VH><VV>40.0</VV>
</CalibrationConst>
</root>
+16
View File
@@ -0,0 +1,16 @@
errBias = -1;
errRand = -1;
lineOffset = 10;
sampOffset = 20;
latOffset = 30;
longOffset = 40;
heightOffset = 50;
lineScale = 60;
sampScale = 70;
latScale = 80;
longScale = 90;
heightScale = 100;
lineNumCoef = (1, 2, 3);
lineDenCoef = (4, 5, 6);
sampNumCoef = (7, 8, 9);
sampDenCoef = (10, 11, 12);
+19
View File
@@ -0,0 +1,19 @@
import math
import unittest
from pathlib import Path
from gf3_l1a2l2.metadata import read_calibration_metadata
class MetadataTests(unittest.TestCase):
def test_reads_named_calibration_values(self):
path = Path(__file__).parent / "fixtures" / "sample.meta.xml"
metadata = read_calibration_metadata(path)
self.assertEqual(metadata.for_polarization("HH").qualify_value, 1.0)
self.assertEqual(metadata.for_polarization("HV").calibration_const, 20.0)
self.assertTrue(math.isnan(metadata.for_polarization("VH").qualify_value))
if __name__ == "__main__":
unittest.main()
+18
View File
@@ -0,0 +1,18 @@
import unittest
from pathlib import Path
from gf3_l1a2l2.rpc import read_rpc_metadata
class RpcTests(unittest.TestCase):
def test_reads_rpc_metadata(self):
path = Path(__file__).parent / "fixtures" / "sample.rpb"
metadata = read_rpc_metadata(path)
self.assertEqual(metadata["ERR_BIAS"], "-1")
self.assertEqual(metadata["LINE_OFF"], "10")
self.assertEqual(metadata["LINE_NUM_COEFF"], "1 2 3")
if __name__ == "__main__":
unittest.main()