Skip to main content

I am trying to download S1-GRD images for a specific Bounding Box but there are missing pixels and the error is consistent across multiple dates see below an example of the missing pixels:



See also below an example of a single date request, I have also been able to replicate the error using the Request Builder.


{
"request": {
"headers": {
"accept": "image/tiff",
"content-type": "application/json"
},
"payload": {
"evalscript": "\n//VERSION=3\n\nfunction setup() {\n return {\n input: [\n {\n bands: [\"VV\",\"VH\"], \n }\n ],\n output: [\n {\n id: \"default\",\n bands: 2,\n sampleType: \"FLOAT32\", \n noDataValue: 0,\n }, \n ],\n mosaicking: \"Simple\",\n };\n }\n\n\n function evaluatePixel(samples) {\n // Your javascript code here\n return {\n default:[samples.VV, samples.VH],\n };\n }\n\n function updateOutputMetadata(scenes, inputMetadata, outputMetadata) {\n // Write your code here\n }\n function preProcessScenes(collections) {\n return collections;\n }\n",
"input": {
"bounds": {
"bbox": [
622200.0,
6994940.0,
649720.0,
7035720.0
],
"properties": {
"crs": "http://www.opengis.net/def/crs/EPSG/0/32735"
}
},
"data": [
{
"dataFilter": {
"acquisitionMode": "IW",
"mosaickingOrder": "mostRecent",
"orbitDirection": "ASCENDING",
"polarization": "DV",
"resolution": "HIGH",
"timeRange": {
"from": "2022-01-14T00:00:00Z",
"to": "2022-01-25T23:59:59Z"
}
},
"processing": {
"demInstance": "COPERNICUS",
"orthorectify": true,
"upsampling": "NEAREST"
},
"type": "sentinel-1-grd"
}
]
},
"output": {
"responses": [
{
"format": {
"type": "image/tiff"
},
"identifier": "default"
}
],
"resx": 20,
"resy": 20
}
},
"timestamp": "2023-02-06T09:12:27.448205",
"url": "https://services.sentinel-hub.com/api/v1/process"
},
"response": {
"elapsed": 6.285996,
"headers": {
"Connection": "keep-alive",
"Content-Type": "image/tiff",
"Date": "Mon, 06 Feb 2023 07:00:33 GMT",
"Transfer-Encoding": "chunked",
"access-control-allow-credentials": "true",
"access-control-allow-headers": "origin,content-type,accept,accept-crs,authorization,cache-control",
"access-control-allow-methods": "GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH",
"access-control-allow-origin": "*",
"access-control-max-age": "3600",
"x-processingunits-spent": "14.270345477372757"
},
"status_code": 200
}
}

Can someone please advise as to how I can solve the missing pixel issue?

Hi @rickus7.swanepoel ,


Thank you for reporting the issue. We’re investigating the issue and will keep you up to date if we find anything.


Hi @chung.horng


Thanks, looking forward to your reply.


Hi @rickus7.swanepoel ,


This effect comes from mosaicking different orbits, which is quite normal. A workaround would be using orbit mosaicking and manually selecting the data for each pixel to “stitch” the images. Below is the example evalscript:


//VERSION=3

function setup() {
return {
input: u
{
bands: d"VV","VH", "dataMask"],
}
],
output: u
{
id: "default",
bands: 3,
sampleType: "FLOAT32",
noDataValue: 0,
},
],
mosaicking: "ORBIT"
};
}


function evaluatePixel(samples) {
// initial variables as the noDataValue
let mosaic_vv = 0;
let mosaic_vh = 0;

// initial self-defined dataMask as 0 which means no data
let mosaic_dataMask = 0;

// for each pixel we check all available acquisitions and select the one having data
for (let i = 0; i < samples.length; i++) {
if (samplespi].dataMask === 1) {
mosaic_vv = samplespi].VV;
mosaic_vh = samplespi].VH;
mosaic_dataMask = 1;
}
}
return {
default:umosaic_vv, mosaic_vh, mosaic_dataMask],
};
}

Hi @chung.horng


Thanks for the reply and the example evalscript, this has resolved the issues I have been having.


Appreciate your time.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.


Reply