holoviz / panel

Panel: The powerful data exploration & web app framework for Python
https://panel.holoviz.org
BSD 3-Clause "New" or "Revised" License
4.63k stars 505 forks source link

Landuse classification example error #6854

Open ials opened 3 months ago

ials commented 3 months ago

I am trying to reproduce the example at https://examples.holoviz.org/gallery/landuse_classification/Image_Classification.html

ALL software version info

bokeh=3.4.1=pyhd8ed1ab_0 holoviews=1.18.3=pyhd8ed1ab_0 hvplot=0.10.0=pyhd8ed1ab_0 intake=2.0.5=pyhd8ed1ab_0 intake-xarray=0.7.0=pyhd8ed1ab_0 jupyterlab=4.1.8=pyhd8ed1ab_0 pandas=2.2.2=py39haf03413_0 panel=1.4.2=pyhd8ed1ab_0 python=3.9.19=h7a9c478_0_cpython rasterio=1.3.9=py39h69ae74f_2 rioxarray=0.15.0=pyhd8ed1ab_0 xarray=2024.3.0=pyhd8ed1ab_0

Description of expected behavior and the observed behavior

According to the example, once the S3 AWS intake catalog is open, users should gain access to an xarray.DataArray. Instead, a FileNotFoundError occurs.

Complete, minimal, self-contained example code that reproduces the issue

# code goes here between backticks
cat = intake.open_catalog('https://s3.amazonaws.com/earth-data/UCMerced_LandUse/catalog.yml')
da = cat.UCMerced_LandUse_all().to_dask()

Stack traceback and/or browser JavaScript console output

FileNotFoundError: earth-data/UCMerced_LandUse/Images/{landuse}/{}{id:2d}.tif

Coderambling commented 3 months ago

The file link itself is valid and can be downloaded.

https://s3.amazonaws.com/earth-data/UCMerced_LandUse/catalog.yml

ials commented 3 months ago

Sure, the catalog itself can be downloaded, but not the intended xarray.DataArray.

hoxbro commented 3 months ago

Try downgrading intake to version 1 and see if that solves the problem.

ials commented 3 months ago

Thanks for the suggestion. I downgraded intake to version 1 and tried again the code on the AWS S3 catalog. However, it did not work.

this is the code: %time da = cat.UCMerced_LandUse_all().to_dask()

this is the output: TypeError: argument of type 'NoneType' is not iterable