Datasets¶
Create an image dataset¶
To create an image
dataset:
>>> my_dataset = sdk.datasets.create_image_dataset(
... name='My Image',
... project=PROJECT_ID,
... mission=MISSION_ID,
... geometry={'type': 'Point', 'coordinates': [LONGITUDE, LATITUDE]},
... width=IMAGE_WIDTH_IN_PIXELS,
... height=IMAGE_HEIGHT_IN_PIXELS
... )
See the datasets.create_image_dataset()
documentation.
And upload the image file:
>>> file_to_upload = '/path/to/image/file.jpg'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='image',
... file_path=file_to_upload)
See the datasets.upload_file()
documentation.documentation.
Options¶
parse_metadata: Boolean that automatically parses the Exif & XMP data from the image and updates the corresponding dataset attributes. In case of None or True the platform will automatically parse the ingested dataset.
Create a point cloud dataset¶
To create a point cloud (pcl
) dataset:
>>> my_dataset = sdk.datasets.create_pcl_dataset(name='My PCL',
... project=PROJECT_ID,
... mission=MISSION_ID)
See the datasets.create_pcl_dataset()
documentation.
And upload the pcl file:
>>> file_to_upload = '/path/to/pcl/file.las'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='pcl',
... file_path=file_to_upload)
See the datasets.upload_file()
documentation.
Create a vector dataset¶
To create a vector
dataset with a specific CRS (here UTM 32631
):
>>> my_dataset = sdk.datasets.create_vector_dataset(
... name='My Vector',
... project=PROJECT_ID,
... mission=MISSION_ID,
... dataset_format='shapefile',
... is_archive=True,
... horizontal_srs_wkt='PROJCS["WGS 84 / UTM zone 31N",GEOGCS["WGS 84",[...]',
... # Full WKT available on http://epsg.io/32631.wkt
... )
See the datasets.create_vector_dataset()
documentation.
And upload the vector file (here a shapefile):
>>> file_to_upload = '/path/to/vector/shapefile.zip'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='archive',
... file_path=file_to_upload)
See the datasets.upload_file()
documentation.documentation.
Create a mesh dataset¶
To create a mesh
dataset with two texture files (and one material file, which is the default value):
>>> my_dataset = sdk.datasets.create_mesh_dataset(name='My Mesh',
... project=PROJECT_ID,
... mission=MISSION_ID,
... texture_count=2)
See the datasets.create_mesh_dataset()
documentation.
And upload the mesh files:
>>> mesh_file = '/path/to/mesh/file.obj'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='mesh',
... file_path=mesh_file)
>>> first_texture = '/path/to/mesh/texture_a.jpg'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='texture_0',
... file_path=first_texture)
>>> second_texture = '/path/to/mesh/texture_b.jpg'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='texture_1',
... file_path=second_texture)
>>> material_file = '/path/to/mesh/material.mtl'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='material',
... file_path=material_file)
See the datasets.upload_file()
documentation.documentation.
Create a raster dataset¶
To create a raster
dataset with a world file and a projection file:
>>> my_dataset = sdk.datasets.create_raster_dataset(name='My Raster',
... project=PROJECT_ID,
... mission=MISSION_ID,
... has_projection_file=True,
... has_worldfile=True)
See the datasets.create_raster_dataset()
documentation.
And upload the raster files:
>>> raster_file = '/path/to/raster/file.tif'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='raster',
... file_path=raster_file)
>>> world_file = '/path/to/raster/worldfile.tfw'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='worldfile',
... file_path=world_file)
>>> projection_file = '/path/to/raster/projection.prj'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='projection',
... file_path=projection_file)
See the datasets.upload_file()
documentation.documentation.
Create a file dataset¶
To create a file
dataset with several files:
>>> my_dataset = sdk.datasets.create_file_dataset(name='My File',
... project=PROJECT_ID,
... mission=MISSION_ID,
... file_count=2)
See the datasets.create_file_dataset()
documentation.
And upload the dataset files:
>>> first_file = '/path/to/pcl/file.csv'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='file_0',
... file_path=first_file)
>>> second_file = '/path/to/pcl/file.pdf'
>>> sdk.datasets.upload_file(dataset=my_dataset.id,
... component='file_1',
... file_path=second_file)
See the datasets.upload_file()
documentation.
Describe a dataset¶
>>> my_dataset = sdk.datasets.describe(DATASET_ID)
See the datasets.describe()
documentation.
Describe a list of datasets¶
>>> my_dataset_list = sdk.datasets.describe([DATASET_ID, ANOTHER_DATASET_ID])
See the datasets.describe()
documentation.
Download a preview¶
To download a preview of for a raster
or image
dataset:
>>> sdk.datasets.download_preview(dataset=DATASET_ID)
To download a small preview (instead of the default tiny one) of an image
dataset:
>>> sdk.datasets.download_preview(dataset=DATASET_ID, kind='small')
See the datasets.download_preview()
documentation.
Delete a dataset¶
>>> sdk.datasets.delete(DATASET_ID)
>>> sdk.datasets.delete([DATASET_ID1, DATASET_ID2])
See the datasets.delete()
documentation.
With a list of datasets, all given IDs must be accessible to you to be able to perform the deletion. If only one is not available to you, all the list will not be deleted. Warning with big list of datasets: the deletion will perform multiple smaller requests, if a dataset is not accessible to you and is placed at the end of the list, then all the first delete requests will be done, but not the last one.