2

I'm trying to obtain Sentinel-1 images in Google eart hengine and to have 3 different imagecollections: 1. HV 2.HH 3.VV I have written the following code but whenever I check my image collection it has 0 elemnts. I know that there are images on the chosed period. what can be the reason? where is my mistake? I'ts important to mention that in the following code, everytime I used "print" in order to check my image collectio, I have gotten 0.



// Load the Sentinel-1 ImageCollection.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD');

// Filter by metadata properties.
var dataset = sentinel1
  // Filter to get images with VV and VH dual polarization.
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'HH'))
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'HV'))
  // Filter to get images collected in interferometric wide swath mode.
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  .filterBounds(geometry);

// Filter to get images from different look angles.
var descending = dataset.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));

print(descending);
//Filter dates
var dateDesc = descending.filterDate(ee.Date('2018-10-01'),ee.Date('2019-10-08'));

print(dateDesc);

//clip the dataset according to the geometry
var clippedCol=dateDesc.map(function(im){ 
  return im.clip(geometry);
});

var HV=clippedCol.select('HV');
var HH=clippedCol.select('HH');
var VV=clippedCol.select('VV');
print(HV);



I have also tried this code but again , got 0 elements:


// Load the Sentinel-1 ImageCollection.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD');

// Filter VH, IW
var HV = sentinel1
  // Filter to get images with VV and VH dual polarization.
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'HV'))
  // Filter to get images collected in interferometric wide swath mode.
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  // reduce to VH polarization
  .select('HV')
  // filter 10m resolution
  .filter(ee.Filter.eq('resolution_meters', 10))
  .filterBounds(geometry);
// Filter to orbitdirection Descending
var HVdescending = HV.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
// Filter time 
var HVdate = HVdescending.filterDate(ee.Date('2015-08-01'), ee.Date('2019-10-08'));


// Load the Sentinel-1 ImageCollection.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD');

// Filter HH, IW
var HH = sentinel1
  // Filter to get images with VV and VH dual polarization.
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'HH'))
  // Filter to get images collected in interferometric wide swath mode.
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  // reduce to VH polarization
  .select('HH')
  // filter 10m resolution
  .filter(ee.Filter.eq('resolution_meters', 10))
  .filterBounds(geometry);
// Filter to orbitdirection Descending
var HHdescending = HH.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
// Filter time 
var HHdate = HHdescending.filterDate(ee.Date('2015-08-01'), ee.Date('2019-10-08'))


// Load the Sentinel-1 ImageCollection.
var sentinel1 = ee.ImageCollection('COPERNICUS/S1_GRD');

// Filter VH, IW
var VV = sentinel1
  // Filter to get images with VV and VH dual polarization.
  .filter(ee.Filter.listContains('transmitterReceiverPolarisation', 'VV'))
  // Filter to get images collected in interferometric wide swath mode.
  .filter(ee.Filter.eq('instrumentMode', 'IW'))
  // reduce to VH polarization
  .select('VV')
  // filter 10m resolution
  .filter(ee.Filter.eq('resolution_meters', 10))
  .filterBounds(geometry);
// Filter to orbitdirection Descending
var VVdescending = HV.filter(ee.Filter.eq('orbitProperties_pass', 'DESCENDING'));
// Filter time 
var VVdate = VVdescending.filterDate(ee.Date('2015-08-01'), ee.Date('2019-10-08'))


print(VVdate);
print(HVdate);
print(HHdate);
8
  • We need access to the geometry variable.
    – Jon
    Oct 10, 2019 at 14:26
  • If you turn off the .filterBounds(geometry), the ImageCollection is no longer empty. Probably your geometry is wrong, somehow.
    – Jon
    Oct 10, 2019 at 14:30
  • seems like I can't upload the shapefile here, but it is a polygon in North Thailand. When I try to drae new one it also empty. And without filterBounds it's very heavy to caulculate.
    – ReutKeller
    Oct 11, 2019 at 13:58
  • it seemslike if I use the code to retrieve images that are VV and VH it works, but for HV and HH it doesnt.
    – ReutKeller
    Oct 11, 2019 at 14:23
  • So perhaps there are no images for HV and HH? You can also upload shapefiles to GEE as assets and make them public (anyone can access them).
    – Jon
    Oct 11, 2019 at 14:46

1 Answer 1

2

The instrumentMode for HH-HV or HV is EW and not IW. Also, there is no 10m resolution available for these polarizations.

To make sure you pick your geometry right:

  • HH-HV or HH polarization for the monitoring of polar environments, sea-ice zones
  • VV-VH or VV polarization for all other observation zones (with an exception for the Baltic Sea observed partially in HH-HV with Sentinel-1B during northern winter) (source)

enter image description here

Apart from that, you were filtering for Descending pass on the wrong collection for VV.

Here is the full code for all the three collections (making sure you pick the right geometry for the respective polarization):

https://code.earthengine.google.com/ad5ff7642908d3fb99446cc04b96a528

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.