Create a project with images

Let’s create a project on Alteia, and upload images on it:

import logging
import alteia

logging.basicConfig(level=logging.DEBUG)

sdk = alteia.SDK()

# === Create the project ===

company = sdk.companies.search()[0]
my_project = sdk.projects.create(name='My project', company=company.id)

# === Create the survey (mission + flight) with 2 images ===

my_flight, my_mission = sdk.missions.create(
    name='My survey',
    coordinates=[[LONGITUDE1, LATITUDE1],[LONGITUDE2,LATITUDE2], ...],
    project=my_project.id,
    survey_date='2019-01-01T00:00:00.000Z',
    number_of_images=2,
)

# === Create the dataset for the image 1 and upload it ===

image1_dataset = sdk.datasets.create_image_dataset(
    name='Image 1',
    project=my_project.id,
    mission=my_mission.id,
    flight=my_flight.id,
    geometry={'type': 'Point', 'coordinates': [IMG1_LONGITUDE, IMG1_LATITUDE]},
    width=IMAGE_WIDTH_IN_PIXELS,
    height=IMAGE_HEIGHT_IN_PIXELS,
)

image1_path = '/path/to/image1.jpg'
sdk.datasets.upload_file(
    dataset=image1_dataset.id,
    component='image',
    file_path=image1_path
)

# === Create the dataset for the image 2 and upload it ===

image2_dataset = sdk.datasets.create_image_dataset(
    name='Image 2',
    project=my_project.id,
    mission=my_mission.id,
    flight=my_flight.id,
    geometry={'type': 'Point', 'coordinates': [IMG2_LONGITUDE, IMG2_LATITUDE]},
    width=IMAGE_WIDTH_IN_PIXELS,
    height=IMAGE_HEIGHT_IN_PIXELS,
)

image2_path = '/path/to/image2.jpg'
sdk.datasets.upload_file(
    dataset=image2_dataset.id,
    component='image',
    file_path=image2_path
)

# === Complete the survey upload ===

sdk.flights.update_status(my_flight.id, status='completed')

The project, along with the mission and its images are now available on Alteia 👍