Skip to main content

Hello everyone!

I have a problem downloading data with eo-learn. I’m using sentinelhub-py version 1.0.2 and version 3.7.0. I need to upload sentinel-2 images of an area in my country. This zone is possibly in the UTM_30N zone.

But when I run the workflow after configuring the zone, I get the error message in the file report.


 Summary of exceptions

VectorImportTask (VectorImportTask-b0667930a63a11ed95ef-84d6ada3e31d):
25 times:

ValueError: CRS.from_epsg(32630) is not a valid CRS


Hello, I also have a problem with CRS, but in jupiter notebook when trying to run a script for LULC (eo-learn collection).


Unfortunately, the question is not resolved


I don’t know where the problem comes from. However, I have to finish my research work for the Master’s this month. Thank you for your reply !


Hi. Do you perhaps use fiona 1.9.0? It was released recently and introduced a custom fiona.crs.CRS class. Things that used to return epsg strings now returned such classes, and it clashed with how sentinelhub.CRS works.

Try updating sentinelhub-py to version 3.8.2 where this was fixed. If the problem persists just ping me, and I’ll investigate further.


OK thanks for your answer. I will try and get back to you.


When I do what you asked using version 3.8.2 of Sentinelhub-py and eo-learn=1.0.2, I get this:


    SentinelHubInputTask (SentinelHubInputTask-624f539da6d411ed8e02-8318bd7d2d6a):
25 times:

ValueError: The parameter `query` has been deprecated and replaced by `filter` in the Catalog 1.0.0 update. The queries/filters are now done in the CQL2 language.

Whereas if I use the recent versions of the two libraries, I get this as an error:


AttributeError: module 'PIL.Image' has no attribute 'Resampling'

Ah yes, in order to use sentinelhub 3.8.2 you should also switch to a more recent version of eo-learn (preferably 1.4.0). The Sentinel Hub service adapted a new catalog API and we had to update both sentinelhub and eo-learn to work with it. Old versions won’t work after the old catalog API is taken down.


The error from pillow (the PIL one) seems odd. What version of pillow are you using? Perhaps that needs to be upgraded as well. eolearn requires at least 9.1.0 (sentinelhub needs 9.2.0). I checked manually and 9.1.0 already has the attribute that your error is talking about.


I have installed Pillow version 9.4.0.

The error is caused by the following two imports:


from eolearn.features import LinearInterpolationTask, SimpleFilterTask, NormalizedDifferenceIndexTask
from eolearn.features import LinearInterpolationTask

I checked the changelog and the resampling enums were added in pillow 9.1.0. Could you please try and recreate this in python:


>>> import PIL
>>> PIL.__version__
'9.4.0'
>>> from PIL import Image
>>> Image.Resampling.BICUBIC
<Resampling.BICUBIC: 3>

I get the same error:


AttributeError: module 'PIL.Image' has no attribute 'Resampling'

I specify that I work on google colab. Maybe this information can help.


But the version that is returned is 9.4.0? If that is the case, I’m afraid there is an issue with your pillow.


I was able to solve this error and others also thanks to your method. I should delete the other instances and restart the runtime environment. But I get this error :


    SentinelHubInputTask (SentinelHubInputTask-04517a79a6ea11edb520-1731df15ff50):
25 times:

TypeError: type str doesn't define __round__ method


The error is raised when round is called on a string, e.g. round("12.2"). Check that you don’t pass strings to a class/function/method that expects integers or floats.


I check but I still get the same error. I will continue and then get back to you


Hi, we recently identified the issue that you had (it had to do with download rate limiting in sentinelhub). A patched version sentinelhub 3.8.4 should be available later today.


The new version 3.8.4 was just released and should no longer have this problem.


Reply