Use this guide to get started with the Cecil platform in a few simple steps.

1. Configure the SDK

Install the Cecil SDK in your project virtual environment.

pip install cecil

Configure the SDK with your API key.

export CECIL_API_KEY="my-api-key"
set 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 area of interest (AOI)

Create your first area of interest (AOI) using the geometry type and coordinates of a GeoJSON in EPSG:4326. Learn more about the AOI 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. Acquire datasets for your AOI

Create data requests for your AOI and let Cecil take care of the data integration with all providers for you. You can find the dataset_id for each dataset on the details page of available datasets.

<aside> <img src="/icons/info-alternate_gray.svg" alt="/icons/info-alternate_gray.svg" width="40px" />

This step runs in the background and the processing time varies from a few hours to a few business days depending on the data provider.

</aside>

import cecil

client = cecil.Client()

kanop_data_request = client.create_data_request(
    aoi_id="my-aoi-id",
    dataset_id="kanop-dataset-id",
)

planet_data_request = client.create_data_request(
    aoi_id="my-aoi-id",
    dataset_id="planet-dataset-id",
)

print(kanop_data_request)
print(planet_data_request)

4. Make datasets consistent and joinable

Create reprojections for your datasets and let Cecil prepare all datasets 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.

<aside> <img src="/icons/info-alternate_gray.svg" alt="/icons/info-alternate_gray.svg" width="40px" />

This step runs in the background and the processing time varies from a few minutes to a few hours depending on the size of the dataset being reprojected.

</aside>

import cecil

client = cecil.Client()

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

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

print(kanop_reprojection)
print(planet_reprojection)