Searching and Retrieving Data over an AOI

How can I tell which products have coverage over my AOI?

The Catalog Python client allows users to gather a summary of imagery over a region without downloading all image metadata in the region. To start, import the Search, Product, and properties classes from the descarteslabs.catalog submodule. We'll also use the Places API to find an AOI geometry and pandas to display our results.

from descarteslabs.catalog import Search, properties as p
from descarteslabs import places
import pandas as pd

Next generate a list of core Descartes Labs products via the Catalog Search interface. Any product level property searches could be added here, such as filtering to imagery with certain resolutions or temporal coverage. For this example, we'll search across all products maintained by Descartes Labs, indicated by the is_core product attribute.

products = Search(Product).filter(p.is_core == True)

Generate an AOI via the Places API

aoi = places.shape('new-mexico_taos')

Finally, filter all products by the AOI geometry and generate summaries of the intersecting image footprints. 

results = []
for product in search:
# for each product get a summary of images that intersect with the AOI
result = product.images().intersects(aoi.geometry).summary()
if result.count > 0:
results.append(result.__dict__)

Load the results array to inspect all products that intersect.

df = pd.DataFrame.from_dict(results)
df[['products','count', 'bytes']].sort_values(by='bytes', ascending=False) 

Screen Shot 2020-06-30 at 4.10.47 PM