Cannot access downloaded images from Pleiades

Hello,

I have downloaded in the past 2 days images from Pleiades.
I have accessed and created geodataframe from the available tiles, but I have realized that some tiles are missing, even though they appeared like they are already downloaded.

This is how I have accessed the tiles geodataframe, based on sentinel-hub toturial:


byoc = SentinelHubBYOC(config=config)  
my_collection = byoc.get_collection(instance_id)

#collection name
col_name=my_collection['name']

print(f' creating geoDataframe from : {col_name} collection')

tiles = list(byoc.iter_tiles(my_collection))

tile_iterator = byoc.iter_tiles(my_collection)

collect_tiles=[]

for tile in tile_iterator:
    collect_tiles.append(ByocTile.from_dict(tile))
        
    
 tiles_gdf = gpd.GeoDataFrame(collect_tiles,
 geometry=[t.cover_geometry.transform(CRS.WGS84).geometry for t in collect_tiles],
  crs="epsg:4326")

I get from this geodataframe, but then when I search for images that appear as completed download, I can’t access them.

Example of image that was completed (I removed the ID, I can provide it in person):
image

the same image on the sentinel-hub platform :

when I try to access the tile in the dataframe:

tiles_gdf[tiles_gdf['tile_id']==IMAGE_ID]

this returns empty dataframe.

I have downloaded many images and some of them can be found, but some, like this one, are missing.

How can I get the missing images? what do I do wrong?

Thanks in advance :slight_smile:

Hi Reut,

You need to use the correct tile_id to find the respective tile in the geodataframe. The IMAGE_ID used here corresponds to the order id, thats why you get no match.

You can find the tile_id of a successfuly ordered image through:

  • The Sentinel Hub dashboard by going to the respective order, under Deliveries you will see a delivery id, if you click on it, it opens a window where you see both Tile ID and Delivery ID. Then please copy and use the Tile ID to search the geodataframe.

  • Alternatively you can create a request to fetch the tile id as in the example code below, insert your actual order and delivery ids in the base_url.

from oauthlib.oauth2 import BackendApplicationClient
from requests_oauthlib import OAuth2Session

# Your client credentials
client_id = '<client_id>'
client_secret = '<secret>'

# Create a session
client = BackendApplicationClient(client_id=client_id)
oauth = OAuth2Session(client=client)

# Get token for the session
token = oauth.fetch_token(token_url='https://services.sentinel-hub.com/oauth/token',
                          client_secret=client_secret)

# All requests using this session will have an access token automatically added
resp = oauth.get("https://services.sentinel-hub.com/oauth/tokeninfo")

## Get the tiles of an order delivery
base_url = "https://services.sentinel-hub.com/api/v1/dataimport/orders/{orderId}/deliveries/{deliveryId}/tiles"
response = oauth.get(base_url)
response.json()

All the best

Thank you for your answer,

I was trying your script and seems like I can run it but only if I already have the orderID and deliveryID.
In my case, I have hundreds of images and I would like to avoid add them one by one.

Is there other way to get the list of tile_id instead of the order_id?
btw, the geodataframe I get with my script has different columns but I’m now a bit confused if there is any field there that can help me get the images back:
cols: path.status,tile_id,tile_geometry,cover_geometry,created,sensing_time,ingestion_Start,additional_data, other_data, geometry

Hi,

Please note that you can access and download your Pleaides collection through Sentinel Hub APIs directly from EO browser or using process API in which case you dont need to provide the tile ids. See documentation

That said, to help give you a more specific answer: Perhaps it helps if you can explain abit, what you would like to achieve using the tile ids ? do you want to download the original data files in its original form as delivered by the data provider ?

Best regards

updating here regard the missing images :
I manage to find the missing images by trying to access each time 100 images and not all the 300 images I had , seems like there is some limitation with how many requests can be sent in a time

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