offset
This commit is contained in:
parent
c2908724cf
commit
f9da4aef7d
2 changed files with 17 additions and 11 deletions
|
|
@ -100,8 +100,12 @@ def prepare_s2(season, site_position, site_name, cleaning_strategy="aggressive",
|
|||
|
||||
temp_normalized = s2_output_dir / f"temp_{s2_file.name}"
|
||||
with rasterio.open(s2_file) as src:
|
||||
# S2 L2A: use DN/10000 (Earth Search AWS differs from ESA spec; offset caused many transparent pixels)
|
||||
data = src.read().astype("float32") / 10000.0
|
||||
pb = src.tags().get("PROCESSING_BASELINE", "")
|
||||
data = src.read().astype("float32")
|
||||
mask_nodata = data == 0
|
||||
data = (data - 1000) / 10000.0 if pb >= "04.00" else data / 10000.0
|
||||
data = np.maximum(data, 0)
|
||||
data[mask_nodata] = 0
|
||||
profile = src.profile.copy()
|
||||
profile.update({"dtype": "float32", "nodata": 0})
|
||||
with rasterio.open(temp_normalized, "w", **profile) as dst:
|
||||
|
|
|
|||
20
run.py
20
run.py
|
|
@ -16,16 +16,16 @@ from calculate_metrics import calculate_all_metrics
|
|||
|
||||
|
||||
def run_pipeline(season, site_position, site_name):
|
||||
"""Run pipeline from existing raw data (no downloads)."""
|
||||
"""Run pipeline (downloads + EFAST fusion + post-process + metrics)."""
|
||||
try:
|
||||
# Download steps (skipped - use existing data in data/{site_name}/{season}/raw/)
|
||||
#download_s2(season, site_position, site_name)
|
||||
# download_s3(season, site_position, site_name)
|
||||
# download_phenocam(season, site_position, site_name)
|
||||
# download_phenocam_greenness(season, site_position, site_name)
|
||||
# Download steps (needed for new site/season)
|
||||
download_s2(season, site_position, site_name)
|
||||
download_s3(season, site_position, site_name)
|
||||
download_phenocam(season, site_position, site_name)
|
||||
download_phenocam_greenness(season, site_position, site_name)
|
||||
|
||||
#print(f"Generating NDVI for raw data: {site_name}, {season}")
|
||||
#create_ndvi_timeseries_raw(season, site_position, site_name)
|
||||
print(f"Generating NDVI for raw data: {site_name}, {season}")
|
||||
create_ndvi_timeseries_raw(season, site_position, site_name)
|
||||
|
||||
print(f"Running EFAST fusion for all scenarios: {site_name}, {season}")
|
||||
run_all_efast_scenarios(season, site_position, site_name)
|
||||
|
|
@ -48,4 +48,6 @@ def run_pipeline(season, site_position, site_name):
|
|||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_pipeline(2024, (47.116171, 11.320308), "innsbruck")
|
||||
# forthgr - FORTH Heraklion Greece, Agriculture, 2024
|
||||
# sites.geojson: lon=25.0743, lat=35.3045
|
||||
run_pipeline(2024, (35.3045, 25.0743), "forthgr")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue