GF3 L1A to L2 Pipeline

This repository contains two GF-3 L1A to L2 processing paths:

  • SARscape Go wrapper: Windows-oriented production wrapper around ENVI/IDL Runtime and SARscape. This is the recommended path when SARscape is available.
  • Python pipeline: GDAL/Rasterio/NumPy implementation kept as a pure Python package and CLI.

The SARscape wrapper currently has the more complete operational workflow for GF-3 scene import, multilook/filter/geocode processing, batch directory discovery, saved defaults, and progress reporting.

Repository Layout

dist/windows/                         Prebuilt Windows executable
docs/                                 Operational documentation
src/gf3_l1a2l2/                       Python package
tests/                                Python unit tests and small fixtures
tools/gf3_sarscape_wrapper/           Go wrapper source and embedded SAV asset
tools/gf3_sarscape_wrapper/idl/       IDL/SARscape source scripts

Large GF-3 archives, extracted scenes, SARscape outputs, and local runtime files are intentionally not tracked in Git.

Use the prebuilt executable:

.\dist\windows\gf3wrapper.exe `
  -input "D:\GF3\L1A_BATCH" `
  -output "E:\GF3\L2_SARscape" `
  -dem "D:\DEM\COPDEM_GLO30_China_4326_DEM" `
  -pol "HH,HV"

Supported input forms:

  • A single *.tar.gz GF-3 L1A package.
  • A single *.meta.xml scene metadata file.
  • A directory containing multiple *.tar.gz or *.meta.xml scenes.

The wrapper writes one output subdirectory per scene. On successful runs it saves defaults next to the executable in gf3wrapper.json, so double-click interactive mode can reuse the previous input/output/DEM/polarization settings.

More details: docs/sarscape_go_wrapper.md

Python Pipeline

Use an environment that already has working GDAL/OSGeo Python bindings. On Windows, Conda/Miniforge is usually the least fragile route.

conda env create -f environment.yml
conda activate gf3-l1a2l2
pip install -e . --no-deps

Run:

gf3-l1a2l2 run --input D:\GF3\L1A_BATCH --output E:\GF3\L2_Image --dem .\GMTED2010.jp2

Common options:

gf3-l1a2l2 run `
  --input D:\GF3\L1A_BATCH `
  --output E:\GF3\L2_Image `
  --dem .\GMTED2010.jp2 `
  --workers 1 `
  --x-res 0.0002 `
  --y-res 0.0002 `
  --dst-srs EPSG:4326

Legacy wrappers remain available:

python gf3_L1A_To_L2.py run --input D:\GF3\L1A_BATCH --output E:\GF3\L2_Image --dem .\GMTED2010.jp2
python Decompression.py D:\GF3\L1A_BATCH

Development Checks

Python:

python -m pytest

Go wrapper:

cd .\tools\gf3_sarscape_wrapper
$env:GOTELEMETRY = "off"
go build -o ..\..\dist\windows\gf3wrapper.exe .

Data Policy

Do not commit production GF-3 archives or generated products. Keep large data on NAS/storage and document the path in run notes. Only small sanitized fixtures should be added under tests/fixtures.

S
Description
高分3号L1A级别数据处理成L2级别
Readme
7.4 MiB
Languages
Python 47.7%
Go 26.9%
IDL 24.8%
Batchfile 0.6%