Skip to content

feat: add multi-band GRD wrapper and dedicated SLC GCP geolocation notebook#261

Open
Yuvraj198920 wants to merge 8 commits into
mainfrom
feat/229-add-multiband-grd-section
Open

feat: add multi-band GRD wrapper and dedicated SLC GCP geolocation notebook#261
Yuvraj198920 wants to merge 8 commits into
mainfrom
feat/229-add-multiband-grd-section

Conversation

@Yuvraj198920

Copy link
Copy Markdown
Contributor

Summary

This PR adds two enhancements to the Sentinel-1 GCP geolocation notebooks.

Changes

GDAL_Sentinel-1_GCP_Geolocation.ipynb (GRD notebook)

  • Add Multi-Band GRD Wrapper section (section 4): opens GRD in default GRD_MULTIBAND=YES mode, verifies GCPs, warps both VV+VH bands, visualizes backscatter side-by-side
  • Replace inline SLC code section with a cross-reference link to the new dedicated SLC notebook

GDAL_Sentinel-1_SLC_GCP_Geolocation.ipynb (new notebook)
Full GCP geolocation walkthrough for SLC burst subdatasets:

  1. Open a burst with BURST=IW1_VV_001
  2. Inspect GCPs (count, SRS, extent)
  3. Visualize GCP grid (image space + geographic space)
  4. Pixel-to-geographic coordinate transform (corner points via GCP polynomial)
  5. Warp burst amplitude to WGS 84
  6. Compare GCP extents across IW1, IW2, IW3 subswaths (table + footprint map with geopandas basemap)

Related

…229)

Add a new 'Multi-Band GRD Wrapper' section (section 4) that demonstrates
opening a GRD product in the default GRD_MULTIBAND=YES mode, verifying
GCPs are present on the wrapper dataset, warping both VV and VH bands to
WGS 84, and visualising the backscatter in geographic space.

Ported from GDAL-ZARR-EOPF notebook 14 (geolocation verification).
- Add GDAL_Sentinel-1_SLC_GCP_Geolocation.ipynb with full GCP walkthrough
  for SLC burst subdatasets: open burst, inspect GCPs, visualize GCP grid,
  pixel-to-geographic transform, warp to WGS 84, compare across IW1/IW2/IW3
- Replace inline SLC code in GDAL_Sentinel-1_GCP_Geolocation.ipynb with a
  cross-reference section pointing to the new dedicated notebook
@review-notebook-app

Copy link
Copy Markdown

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@Yuvraj198920

Copy link
Copy Markdown
Contributor Author

@clausmichele @konstntokas — updated GDAL_Sentinel-1_GCP_Geolocation.ipynb with a new Multi-Band GRD Wrapper section and added a new dedicated notebook GDAL_Sentinel-1_SLC_GCP_Geolocation.ipynb covering full GCP geolocation for SLC burst subdatasets (inspect, visualize, warp, compare across subswaths). Would appreciate your review!

@konstntokas

Copy link
Copy Markdown
Collaborator

@Yuvraj198920 what is the status here? Can we merge it soon?

@clausmichele

Copy link
Copy Markdown
Member

@konstntokas I missed this PR, I will review it today and merge it

@clausmichele

Copy link
Copy Markdown
Member

@senmao apparently the products @Yuvraj198920 used in the two notebooks here have been removed or are not accessible anymore. This is strange, since they were under the specific notebook-data bucket, which shouldn't be cleared.

The products are:
https://objects.eodc.eu/e05ab01a9d56408d82ac32d69a5aae2a:notebook-data/tutorial_data/cpm_v264/S1C_IW_GRDH_1SDV_20260205T120122_20260205T120158_006220_00C7E4_5D6E.zarr
https://objects.eodc.eu/e05ab01a9d56408d82ac32d69a5aae2a:notebook-data/tutorial_data/cpm_v262/S1C_IW_SLC__1SDV_20251016T165627_20251016T165654_004590_00913B_30C4.zarr

@senmao

senmao commented Jun 29, 2026

Copy link
Copy Markdown

@clausmichele @Yuvraj198920 I just checked it, these two datasets are still existing in the bucket. Below is screenshot of one dataset in S3 browser. could it be the stac item href changed ?

image

@clausmichele

Copy link
Copy Markdown
Member

Thanks for checking @senmao, I will investigate further!

@clausmichele

Copy link
Copy Markdown
Member

Hi @Yuvraj198920, in the cell Multi-Band GRD Wrapper I am getting the following error. The data exists but the code can't find the GCPs. I used your latest image for testing: https://hub.docker.com/r/yuvraj1989/eopf-zarr-driver/tags

Bands:     0  ()
Size:      512 x 512
GCP count: 0
GCP SRS:   NONE

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[15], line 19
     16 lons_mb = [g.GCPX for g in gcps_mb]
     17 lats_mb = [g.GCPY for g in gcps_mb]
     18 print(
---> 19     f"Extent:    lon [{min(lons_mb):.3f}, {max(lons_mb):.3f}]  lat [{min(lats_mb):.3f}, {max(lats_mb):.3f}]"
     20 )
     22 # Warp both bands to WGS 84 using GCPs
     23 warped_mb = gdal.Warp(
     24     "",
     25     ds_mb,
   (...)
     30     resampleAlg="near",
     31 )

ValueError: min() arg is an empty sequence

I also tested with a 2.7.0 product from STAC, but same error.

Could you check please?

@Yuvraj198920

Copy link
Copy Markdown
Contributor Author

@clausmichele Thanks for the new URL, i will update the notebook and check the error.

@konstntokas

Copy link
Copy Markdown
Collaborator

@Yuvraj198920 can we close this before the retrospective meeting on July 21st?

@Yuvraj198920

Copy link
Copy Markdown
Contributor Author

@clausmichele The 5.0 image is fixed and re-published under the same tag.
Thanks.
cc @konstntokas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Sentinel-1 GCP geolocation and SLC burst selection notebooks (from GDAL-ZARR-EOPF)

4 participants