1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98 | import openapi_client
from openapi_client.rest import ApiException
from pprint import pprint
userName = "replace with your API user name"
password = "replace with your API password"
path = "/change/this/path/to/where/you/saved/the/files/"
# Enter a context with an instance of the API client
with openapi_client.ApiClient() as api_client:
# Create an instance of the API class
api_instance = openapi_client.AuthenticationJWTTokenApi(api_client)
login_request = openapi_client.LoginRequest(userName=userName, password=password)
try:
# Retrieve a JWT token
token_response = api_instance.obtain_token(login_request)
print("The response of AuthenticationJWTTokenApi->obtain_token:\n")
pprint(token_response)
# Set the obtained token in the headers for subsequent requests
api_client.default_headers["Authorization"] = f"Bearer {token_response.jwt_token}"
# Creating a project
print("Creating a new project")
projects_api = openapi_client.ProjectsApi(api_client)
project = projects_api.create_project(
openapi_client.CreatePublicProjectRequest(
name="New York Taxi",
description="Project created with the REST API"
)
)
# Creating a Mapbox background layer and adding it to the project
print("Creating a Mapbox light background layer")
map_data_api = openapi_client.BackgroundLayersAndAreasOfInterestMapdataApi(api_client)
background_layer = map_data_api.create_mapbox_background_layer(
openapi_client.CreatePublicMapboxMapDataRequest(
type='LIGHT'
)
)
print("Attaching the Mapbox background layer to the project")
project_map_data_api = openapi_client.ProjectResourcesMapdataApi(api_client)
project_map_data_api.add_map_data_to_project(
project_id=project.id,
public_add_map_data_to_project_request=openapi_client.PublicAddMapDataToProjectRequest(
map_data_id=background_layer.id
)
)
# Creating and uploading a new time series data set and attaching it to the project
print("Creating a new data set")
data_sets_api = openapi_client.DataSetsApi(api_client)
data_set = data_sets_api.create_data_set(
openapi_client.CreatePublicDataSetRequest(
name="New York Taxi",
description="Data set created with the API",
type='TIME_SERIES_DATA',
assets_name="zones"
)
)
print("Defining the GeoJSON structure using a properties file")
data_sets_api.upload_time_series_metadata_definition_file(
data_set_id=data_set.id,
file=path + "geojsonproperties.csv"
)
print("Uploading the GeoJSON file")
data_sets_api.upload_geo_json_shape_file(
data_set_id=data_set.id,
file=path + "NYC_Taxi_Zones.geojson.gz"
)
print("Defining the time series data structure")
data_sets_api.upload_data_definition_file(
data_set_id=data_set.id,
file=path + "dataproperties.csv"
)
print("Uploading the time series data")
data_sets_api.upload_data(
data_set_id=data_set.id,
file=path + "taxidata.csv.gz"
)
print("Attaching the data set to the new project")
project_data_sets_api = openapi_client.ProjectResourcesDataSetsApi(api_client)
project_data_sets_api.add_data_set_to_project(
project_id=project.id,
public_add_data_set_to_project_request=openapi_client.PublicAddDataSetToProjectRequest(
data_set_id=data_set.id
)
)
except ApiException as e:
print("Exception when calling the REST API: %s\n" % e)
|