Skip to main content

Hi sentinel-hub-team,


I want to download with Python-Api SENTINEL1_IW [‘VV’, ‘VH’] in 8bit resolution like in EO-Browser
grafik


I cannot find the parameters for 8bit


add_data = SentinelHubInputTask(

data_collection = DataCollection.SENTINEL1_IW,

bands= ‘VV’, ‘VH’],

bands_feature = (FeatureType.DATA, ‘GRD_Data’),

resolution = 10,

#resolution= ‘HIGH’,

time_difference = datetime.timedelta(hours=1),
#config = config(),

max_threads = 1,

aux_request_args = {

“backCoeff”:“gamma0_terrain”,

“orthorectify”:True


}
)

thank you in advance


Kevin

Hello Kevin, thanks for the question! You actually have to define the SampleType within the evalscript that you use to request the data. How you do this, and how this effects the output of your request is excellently explained in Maxim Lamare’s Medium post which you can read here.


Below is an example of how you insert the Sample Type into your evalscript. It’s important to note that using Auto means that the data is automatically scaled to the the range of UINT8 values.


//VERSION=3
function setup() {
return {
input: u"VV", "VH"],
output: { bands: 2, sampleType: "AUTO" }
};
}

function evaluatePixel(sample) {
return usample.VV, sample.VH];
}

I hope that this helps you, and if you need some further clarification then we will be happy to help!




kevin.hartung:


SentinelHubInputTask



Thank you for your answer. 🙂

Where can I change/insert my eval-script parameters in my SentinelHubInputTask-Python-Function? Do you have a tutorial or example for me?


Hi Kevin,


Digging deeper for you, it is not possible to output data from the Sentinel-1 collection in any other SampleType other than FLOAT32, as this is the only supported output type of this collection. The input task defined below will work for you to output the data in FLOAT32.


input_task = SentinelHubInputTask(
data_collection = DataCollection.SENTINEL1_IW,
bands= ['VV','VH'],
bands_feature = (FeatureType.DATA, 'GRD_Data'),
bands_dtype = np.float32,
resolution = 10,
#resolution= ‘HIGH’,
time_difference = datetime.timedelta(hours=1),
config = config,
max_threads = 1,
aux_request_args = {
'backCoeff':'gamma0_terrain',
'orthorectify':True})

If you have any further questions please let us know!


Hello William how can export the input_task, I mean where or how can I download the outputs? Thank you


The input_task is for inputting data. If you read the documentation for EO Learn, you will find there is a output_task too.


Thank you very much, I try to follow the given exemple using this code :


import datetime
import numpy as np
from sentinelhub import CRS, BBox, DataCollection, SHConfig
from eolearn.core import EOWorkflow, FeatureType, LoadTask, OutputTask, SaveTask, linearly_connect_tasks
from eolearn.io import SentinelHubDemTask, SentinelHubEvalscriptTask, SentinelHubInputTask

config = SHConfig()
# region of interest
roi_bbox = BBox(bbox=[5.60, 52.68, 5.75, 52.63], crs=CRS.WGS84)

# time interval of downloaded data
time_interval = ("2021-04-01", "2021-05-01")
input_task = SentinelHubInputTask(
data_collection=DataCollection.SENTINEL1_IW,
bands = ['VH'],
bands_feature = (FeatureType.DATA, 'GRD_Data'),
bands_dtype = np.float32,
resolution=10,
time_difference=datetime.timedelta(minutes=120),
config=config,
max_threads=1,
aux_request_args = {
"backCoeff":"SIGMA0_ELLIPSOID",
"orthorectify":True,
"demInstance":"COPERNICUS_30"}
)
save = SaveTask("io_example", overwrite_permission=2, compress_level=1)
output_task = OutputTask("eopatch")
workflow_nodes = linearly_connect_tasks(input_task, save, output_task)
workflow = EOWorkflow(workflow_nodes)

result = workflow.execute(
{
workflow_nodes[0]: {"bbox": roi_bbox, "time_interval": time_interval},
workflow_nodes[-2]: {"eopatch_folder": "eopatch"},

)
eopatch = result.outputs["eopatch"]
```uit
however when I try to open the outputfile, it was like empty and than it has .gz extention with no image in it

however when I try to open the outputfile, it was like empty and than it has .gz extention with no image in it


Hi Safa,


I am unsure what exactly you are trying to achieve here; can you please detail what you want to output?


Hello William as Output, I want folder that containt the time series of Sentinel 1 images with a tiff extention


If you wish to only access the images then using EO-Learn is not required.


I would recommend using Process API to access the Sentinel-1 GRD data collection that way. There are plenty of examples on how to do this here.


You can access time series of data via the evalscript in your request, you can find out more about this functionality here.


You can build your requests in the Request Builder application, and can even export your request as Python code to be used in your application.


Thank you very much for the provided link, Actually I already test some exemples but I was limited with the size image which is 2500*2500 pixels so I thought may be with eo-learn I will not have these restructions


Then have a look at Asynchronous Process API. Using this API you can output images up to 10,000*10,000 pixels.


You will need S3 storage to save the result, however.


cool I will test it, thank you very much


Reply