Skip to main content

EOlearn LULC batch notebook errors

  • April 17, 2024
  • 5 replies
  • 0 views

Hi

I’m getting some errors which I would like to understand and resolve, in the LULC batch notebook from EOlearn examples.

The cell with:

Check if batch is working: should print OK

health_check = requests.get(f’{url_base}/status’, headers=headers)
print(health_check.reason)

prints “Not found”`


later in the notebook the function

get_tiles(batch_id)

The line:

response_count = len(response[‘member’])

produces the error

KeyError: ‘member’

response only has the keys ‘data’ and ‘links’

Thanks

5 replies

Thank you for replying and informing me.

You referenced the second notebook in the field delineation notebooks.
However, the first notebook produces an error when executing the cell:

batch_data = create_batch_request(config=download_config,
                                  output_responses=output_responses,
                                  description='CyL batch request - April 2020')

create() missing 1 required positional argument: ‘sentinelhub_request’

could you assist with this error?


  • Known Participant
  • April 17, 2024

Hi,

the notebook you linked needs to be updated. Since then we added many new tools to make batch processing easier, shown and explained in this sentinelhub-py batch notebook.

The results still need to be processed into eopatches, which is done in the notebook you linked. Another, more recent, example can be found here


  • Known Participant
  • April 17, 2024

Hi @sentinelhubrs,

These parameters are described in Batch API documentation. In the payload schema you can find them in output section. I recommend setting them according to instructions of the error message.

With SentinelHubBatch interface you can set them in the method:

SentinelHubBatch.output(..., overwrite=True, skip_existing=False)

I modified the create_batch_request function in download.py to first create the class SentinelHubBatch and then call create, like so:

batch_request = SentinelHubBatch()
batch_request = batch_request.create(

But now there is a new error:

DownloadFailedException: Failed to download from:
https://services.sentinel-hub.com/api/v1/batch/process
with HTTPError:
400 Client Error: Bad Request for url: https://services.sentinel-hub.com/api/v1/batch/process
Server response: "{"error":{"status":400,"reason":"Bad Request","message":"Request is estimated to create 7233.102112 output files. Requests over 5000 files must use 'overwrite = true' and 'skipExisting = false'","code":"COMMON_BAD_PAYLOAD"}}"

What is the meaning of overwriting existing outputs in this context?


hi, i am getting the same error. did u manage to solve this error by any means then please let me know. i am kinda stuck 🙂