Vehicle Management
In order to add vehicles to environment meshes, they will first need to be created in the database.
For details on the API, see the API reference page.
Creating vehicles
To request a vehicle to be added to the database, make a POST request to the /api/vehicle
endpoint,
for example with the following CURL:
curl --header "Content-Type: application/json" \
--request POST \
--data '{
"vessel_type": "SDA",
"max_speed": 26.5,
"unit": "km/hr",
"beam": 24.0,
"hull_type": "slender",
"force_limit": 96634.5,
"max_ice_conc": 80,
"min_depth": 10
}' \
http://localhost:8000/api/vehicle
This will create a vehicle of vessel_type
"SDA" in the database. Note that vessel_type
is unique,
and any subsequent request to create the same vessel type will result in an error.
Updating vehicle properties
Should you wish to update a vessel_type
's properties after creation, you can do so using the
force_properties
argument in your request.
Let's say we actually wanted to display the speed in knots:
curl --header "Content-Type: application/json" \
--request POST \
--data '{
"vessel_type": "SDA",
"max_speed": 14.3,
"unit": "knots",
"beam": 24.0,
"hull_type": "slender",
"force_limit": 96634.5,
"max_ice_conc": 80,
"min_depth": 10,
"force_properties":"true"
}' \
http://localhost:8000/api/vehicle
With "force_properties"
set to "true"
, the request will be accepted and the properties for "SDA"
will be updated.
Requesting a list of all available vehicles
To request a list of all available vehicles in the database, you can make a GET request to the
api/vehicle/available
endpoint:
curl --header "Content-Type: application/json" \
--request GET \
http://localhost:8000/api/vehicle/available
Requesting vehicles
Requesting a specific vehicle
To request a specific vehicle to be returned, you can make a GET request to the api/vehicle
endpoint, adding the vessel_type
to the end of the endpoint, for example api/vehicle/SDA
:
curl --header "Content-Type: application/json" \
--request GET \
http://localhost:8000/api/vehicle/SDA/
Requesting all vehicles
If you make a GET request to api/vehicle
without specifying the vessel_type
, all vehicles will
be returned.
curl --header "Content-Type: application/json" \
--request GET \
http://localhost:8000/api/vehicle
Deleting a vehicle
To request a vehicle to be removed from the database, you can make a DELETE request to api/vehicle
,
specifying the vessel_type
in the URL, just as with specific vehicle GET requests, api/vehicle/SDA
:
curl --header "Content-Type: application/json" \
--request DELETE \
http://localhost:8000/api/vehicle/SDA/
Removing all vehicles in one go is not currently supported.
Adding a vehicle to an environment mesh
Coming soon.