Skip to content

CPLE_OpenFailedError  #235

@hafez-ahmad

Description

@hafez-ahmad
import pystac_client
import planetary_computer
import odc.stac
from pystac.extensions.eo import EOExtension as eo
atalog = pystac_client.Client.open(
    "https://planetarycomputer.microsoft.com/api/stac/v1",
    modifier=planetary_computer.sign_inplace,
)
bbox_of_interest = [91.77, 22.33, 92.78, 25.349] # lon lat
time_of_interest = "2022-05-01/2022-6-31"
search = catalog.search(
    collections=["landsat-c2-l2"],
    bbox=bbox_of_interest,
    datetime=time_of_interest,
    query={"eo:cloud_cover": {"lt": 1}},
)

items = search.item_collection()
print(f"Returned {len(items)} Items")
selected_item = min(items, key=lambda item: eo.ext(item).cloud_cover)

print(
    f"Choosing {selected_item.id} from {selected_item.datetime.date()}"
    + f" with {selected_item.properties['eo:cloud_cover']}% cloud cover"
)
bands_of_interest = ["nir08", "red", "green", "blue", "qa_pixel", "lwir11"]
data = odc.stac.stac_load(
    [selected_item], bands=bands_of_interest, bbox=bbox_of_interest
).isel(time=0)
data

CPLE_OpenFailedError Traceback (most recent call last)
File rasterio/_base.pyx:302, in rasterio._base.DatasetBase.init()

File rasterio/_base.pyx:213, in rasterio._base.open_dataset()

File rasterio/_err.pyx:217, in rasterio._err.exc_wrap_pointer()

CPLE_OpenFailedError: '/vsicurl/https://landsateuwest.blob.core.windows.net/landsat-c2/level-2/standard/oli-tirs/2022/137/043/LC09_L2SP_137043_20221022_20221025_02_T1/LC09_L2SP_137043_20221022_20221025_02_T1_SR_B3.TIF?st=2022-11-15T04%3A35%3A21Z&se=2022-11-23T04%3A35%3A21Z&sp=rl&sv=2021-06-08&sr=c&skoid=c85c15d6-d1ae-42d4-af60-e2ca0f81359b&sktid=72f988bf-86f1-41af-91ab-2d7cd011db47&skt=2022-11-16T04%3A35%3A20Z&ske=2022-11-23T04%3A35%3A20Z&sks=b&skv=2021-06-08&sig=fNaHgF31zqZk2j8ygij66ABhGFKwqYfvsnsaypqdCso%3D' not recognized as a supported file format.

During handling of the above exception, another exception occurred:

RasterioIOError Traceback (most recent call last)
Cell In [94], line 2
1 bands_of_interest = ["nir08", "red", "green", "blue", "qa_pixel", "lwir11"]
----> 2 data = odc.stac.stac_load(
3 [selected_item], bands=bands_of_interest, bbox=bbox_of_interest
4 ).isel(time=0)
5 data

File /srv/conda/envs/notebook/lib/python3.10/site-packages/odc/stac/_load.py:595, in load(items, bands, groupby, resampling, dtype, chunks, pool, crs, resolution, anchor, geobox, bbox, lon, lat, x, y, like, geopolygon, progress, stac_cfg, patch_url, preserve_original_order, **kw)
592 if progress is not None:
593 _work = progress(SizedIterable(_work, total_tasks))
--> 595 for _ in _work:
596 pass
598 return _with_debug_info(ds, tasks=_tasks)

File /srv/conda/envs/notebook/lib/python3.10/site-packages/odc/stac/_utils.py:38, in pmap(func, inputs, pool)
34 """
35 Wrapper for ThreadPoolExecutor.map
36 """
37 if pool is None:
---> 38 yield from map(func, inputs)
39 return
41 if isinstance(pool, int):

File /srv/conda/envs/notebook/lib/python3.10/site-packages/odc/stac/_load.py:586, in load.._do_one(task)
580 srcs = [
581 src
582 for src in (_parsed[idx].get(band, None) for idx, band in task.srcs)
583 if src is not None
584 ]
585 with rio_env(**_rio_env):
--> 586 _ = _fill_2d_slice(srcs, task.dst_gbox, task.cfg, dst_slice)
587 t, y, x = task.idx_tyx
588 return (task.band, t, y, x)

File /srv/conda/envs/notebook/lib/python3.10/site-packages/odc/stac/_load.py:681, in _fill_2d_slice(srcs, dst_gbox, cfg, dst)
678 return dst
680 src, *rest = srcs
--> 681 _roi, pix = rio_read(src, cfg, dst_gbox, dst=dst)
683 for src in rest:
684 # first valid pixel takes precedence over others
685 _roi, pix = rio_read(src, cfg, dst_gbox)

File /srv/conda/envs/notebook/lib/python3.10/site-packages/odc/stac/_reader.py:185, in rio_read(src, cfg, dst_geobox, dst)
181 # if resampling is nearest then ignore sub-pixel translation when deciding
182 # whether we can just paste source into destination
183 ttol = 0.9 if cfg.nearest else 0.05
--> 185 with rasterio.open(src.uri, "r", sharing=False) as rdr:
186 assert isinstance(rdr, rasterio.DatasetReader)
187 ovr_idx: Optional[int] = None

File /srv/conda/envs/notebook/lib/python3.10/site-packages/rasterio/env.py:442, in ensure_env_with_credentials..wrapper(*args, **kwds)
439 session = DummySession()
441 with env_ctor(session=session):
--> 442 return f(*args, **kwds)

File /srv/conda/envs/notebook/lib/python3.10/site-packages/rasterio/init.py:277, in open(fp, mode, driver, width, height, count, crs, transform, dtype, nodata, sharing, **kwargs)
274 path = _parse_path(raw_dataset_path)
276 if mode == "r":
--> 277 dataset = DatasetReader(path, driver=driver, sharing=sharing, **kwargs)
278 elif mode == "r+":
279 dataset = get_writer_for_path(path, driver=driver)(
280 path, mode, driver=driver, sharing=sharing, **kwargs
281 )

File rasterio/_base.pyx:304, in rasterio._base.DatasetBase.init()

RasterioIOError: '/vsicurl/https://landsateuwest.blob.core.windows.net/landsat-c2/level-2/standard/oli-tirs/2022/137/043/LC09_L2SP_137043_20221022_20221025_02_T1/LC09_L2SP_137043_20221022_20221025_02_T1_SR_B3.TIF?st=2022-11-15T04%3A35%3A21Z&se=2022-11-23T04%3A35%3A21Z&sp=rl&sv=2021-06-08&sr=c&skoid=c85c15d6-d1ae-42d4-af60-e2ca0f81359b&sktid=72f988bf-86f1-41af-91ab-2d7cd011db47&skt=2022-11-16T04%3A35%3A20Z&ske=2022-11-23T04%3A35%3A20Z&sks=b&skv=2021-06-08&sig=fNaHgF31zqZk2j8ygij66ABhGFKwqYfvsnsaypqdCso%3D' not recognized as a supported file format.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions