#6054 closed enhancement (fixed)

[PATCH] Adding support for ESA SENTINEL-1 SAFE format

Reported by: drego Owned by: warmerdam
Priority: normal Milestone: 2.1.0
Component: default Version: unspecified
Severity: normal Keywords:
Cc: antonio

Description

Hi,

I would like to submit a new driver for Sentinel products.

Currently the new driver supports only Sentinel-1 SAR products, but the idea is to extend it in the future for other Sentinel Satellites.

More info about the format is available at this link:

https://sentinel.esa.int/web/sentinel/user-guides/sentinel-1-sar/data-formats/sar-formats

I've also added test data. Since the products can be quite big, I removed some files ignored by the driver and replaced the real TIFF files by smaller fake ones.

Thanks

Attachments (3)

test_da1.zip (973.2 KB) - added by drego 21 months ago.
test data for the driver (zipsplit part 1/2)
test_da2.zip (599.9 KB) - added by drego 21 months ago.
test data for the driver (zipsplit part 2/2)
gdal_safe_driver.diff (48.4 KB) - added by drego 21 months ago.
Implements a read-only driver for the Sentinel SAFE format

Download all attachments as: .zip

Change History (7)

Changed 21 months ago by drego

Attachment: test_da1.zip added

test data for the driver (zipsplit part 1/2)

Changed 21 months ago by drego

Attachment: test_da2.zip added

test data for the driver (zipsplit part 2/2)

comment:1 Changed 21 months ago by Even Rouault

@drego From a quick review this looks good. A few remarks :

  • Could you explicitly state that you have the rights to do this contribution (see Legal paragraph of https://trac.osgeo.org/gdal/wiki/rfc3_commiters) ?
  • You could probably also advertize poDriver->SetMetadataItem?( GDAL_DCAP_VIRTUALIO, "YES" );
  • A test script in autotest/gdrivers would be needed. For that, it would be great if you could prepare a very small fake test dataset (a few tens of kilobytes maximum) from your above test data, possibly with heavy hand editing/stripping of content not necessary by your driver. GeoTIFF files can possibly be made very small by setting a constant value with GDALFillRaster() and then compressing them to DEFLATE.

comment:2 Changed 21 months ago by antonio

Cc: antonio added

comment:3 Changed 21 months ago by drego

  • Yes, I have the rights to do this contribution.
  • I've added the GDAL_DCAP_VIRTUALIO advertisement.
  • The attachments test_da1.zip test_da2.zip contain a test script and a dummy product. The 2 tif files inside were replaced by a constant value and compression to DEFLATE. This was the smallest test data I could do. I could also strip some elements from the XML files, but some of those elements will be needed in the future.
  • Like the RS2 driver, this driver should allow calibration LUTs by using datasets, but I wanted to keep the first commit as simple as possible.

Changed 21 months ago by drego

Attachment: gdal_safe_driver.diff added

Implements a read-only driver for the Sentinel SAFE format

comment:4 Changed 21 months ago by Even Rouault

Milestone: 2.1.0
Resolution: fixed
Status: newclosed

trunk r29605 "Add SAFE raster driver for ESA SENTINEL-1 SAFE format (patch by Delfim Rego, #6054)"

I've made a few changes in the driver to fix memory leakes found with Valgrind. And I've stripped even more the test dataset: removing calibration files, stripping a lot of things from the annotation XML and reducing the TIFF files to 1% of their original dimensions (beyond size considerations, it is also to make checksum computations to run in a reasonable time, i.e. < 1 second). So the end result fits in ~ 100K uncompressed. If you extend later the driver, you'll possibly have to reintroduce removed content.

Note: See TracTickets for help on using tickets.