after https://forum.step.esa.int/t/c2rcc-problem-for-s2-msi/8279/10?u=harmel
a small piece of code for generating S2’msi angles with snappy:
def s2_resampler(product, resolution=20, upmethod=‘Bilinear’, downmethod=‘Mean’,
flag=‘FlagMedianAnd’, opt=False):
'''Resampling operator dedicated to Sentinel2-msi characteristics (e.g., viewing angles)
:param product: S2-msi product as provided by esasnappy ProductIO.readProduct()
:param resolution: target resolution in meters (10, 20, 60)
:param upmethod: interpolation method ('Nearest', 'Bilinear', 'Bicubic')
:param downmethod: aggregation method ('First', 'Min', 'Max', 'Mean', 'Median')
:param flag: method for flags aggregation ('First', 'FlagAnd', 'FlagOr', 'FlagMedianAnd', 'FlagMedianOr')
:param opt: resample on pyramid levels (True/False)
:return: interpolated target product'''
res=str(resolution)
resampler = jpy.get_type('org.esa.s2tbx.s2msi.resampler.S2ResamplingOp')
op = resampler()
op.setParameter('targetResolution', res)
op.setParameter('upsampling', upmethod)
op.setParameter('downsampling', downmethod)
op.setParameter('flagDownsampling', flag)
op.setParameter('resampleOnPyramidLevels', opt)
op.setSourceProduct(product)
return op.getTargetProduct()