Welcome to Cecil. This step by step guide will help you get started with the Cecil platform.

1. Configure the SDK

Install the Cecil Python SDK.

pip install cecil

Configure the SDK with your Cecil API key.

export CECIL_API_KEY="my-api-key"

Don’t have an API key?

<aside> <img src="/icons/arrow-right-basic_gray.svg" alt="/icons/arrow-right-basic_gray.svg" width="40px" />

Get in touch to join early access.

</aside>

2. Create an AOI

Create your first area of interest (AOI) using the geometry type and coordinates of a GeoJSON. Learn more about the AOI technical specification in the SDK documentation.

import cecil

client = cecil.Client()

aoi = client.create_aoi(
    name="Kakadu National Park",
    geometry={
        "type": "Polygon",
        "coordinates": [
            [
                [132.52934211276073, -12.721072673008706],
                [132.52934211276073, -12.730063400794094],
                [132.54027735328083, -12.730063400794094],
                [132.54027735328083, -12.721072673008706],
                [132.52934211276073, -12.721072673008706]
            ]
        ]
    }
)

print(aoi)

3. Get data for your AOI

Create data requests for your AOI and let Cecil take care of the data integration with all providers for you. Explore datasets currently available and continuously expanding in the Cecil platform.

import cecil

client = cecil.Client()

chloris_data_request = client.create_data_request(
    aoi_id="my-aoi-id",
    dataset_id="e837b8b1-1002-4ff1-a4ca-fb6a7ac928fd",
)

kanop_data_request = client.create_data_request(
    aoi_id="my-aoi-id",
    dataset_id="f79af205-e45d-45b2-99fb-5108d83bd6f5",
)

planet_data_request = client.create_data_request(
    aoi_id="my-aoi-id",
    dataset_id="53738a57-a889-43c9-8f7a-7cb306831700",
)

print(chloris_data_request)
print(kanop_data_request)
print(planet_data_request)

4. Make all datasets joinable

Create reprojections for your datasets and let Cecil take care of all data preparation using your preferred CRS and spatial resolution. In this example, a resolution of 0.00025 degrees represents 27.8 metres at the equator. Learn more about reprojections in the SDK documentation.

import cecil

client = cecil.Client()

chloris_reprojection = client.create_reprojection(
    data_request_id="chloris-data-request-id",
    crs="EPSG:4326",
    resolution=0.00025,
)

kanop_reprojection = client.create_reprojection(
    data_request_id="kanop-data-request-id",
    crs="EPSG:4326",
    resolution=0.00025,
)

planet_reprojection = client.create_reprojection(
    data_request_id="planet-data-request-id",
    crs="EPSG:4326",
    resolution=0.00025,
)

print(chloris_reprojection)
print(kanop_reprojection)
print(planet_reprojection)

5. Leverage SQL in your workflow

Leverage SQL in your workflow to analyse time-series and spatial data at scale. In this example, we divide Planet’s aboveground live carbon density by 0.476 to obtain the aboveground biomass that is compatible with other providers. Then, we analyse the mean average aboveground biomass of all 3 providers in 2023 across the entire AOI. Learn more about how to query your datasets in the SDK documentation.