VertiMonitorGWC is a real-time weather clearance tool developed by DM-AirTech (DMAT) that assists in the execution and automation of drone and eVTOL operations. It bases go/no-go decisions on hyperlocal weather conditions, supporting you in your flight operations. VertiMonitorGWC comes with a user-friendly Graphical User Interface (GUI) and can be easily integrated into your system through our seamless API.
Note: This GitHub repository focuses on the API of VertiMonitorGWC. For access to the GUI, please visit our website directly.
To access the VertiMonitorGWC data through the API, you will need an API key. Please contact our sales team at [email protected] to obtain your API key.
There are four different ways to access VertiMonitorGWC using our API based on your preference. Common parameters used are:
MODE: There are three modes supported by VertiMonitor<sup>GWC</sup>. (Trajectory, Volume (coming soon), Sensor (coming soon))
START_TIME: Start time for the time window in the format YYYY-MM-DDTHH:mm.
END_TIME: End time for the time window in the format YYYY-MM-DDTHH:mm.
AIRCRAFT_ID: Your aircraft ID. (Refer to aircraft_ids.csv)
Parameters (optional): WIND, RAIN, TEMPERATURE_RANGE
You can choose to provide both the Aircraft ID and the Parameters, or only the Aircraft ID (user-defined). If you choose to provide only the Aircraft ID, the Parameters will be autofilled from our database.
For detailed usage instructions, refer to the different methods listed below:
Note: -p is required iff -i is "user-defined"
python verti_monitor_CLI.py -k "API_KEY" -m "MODE" -d "START_TIME" -a "END_TIME" -i "AIRCRAFT_ID" -p WIND RAIN TEMP_MIN TEMP_MAX --points "POINT1" "POINT2" "POINT3"
Example:
python verti_monitor_CLI.py -k "123abc" -m "trajectory" -d "2023-07-19T00:00" -a "2023-07-19T03:00" -i "user-defined" -p 8 0 -5 50 --points "1,51,1,100" "2,52,1,100"
- Create a CSV file (e.g., points.csv) with the following format:
point,latitude,longitude,altitude
1,51.505711,-0.195364,100
2,51.5067445,-0.185987,200
3,51.5170358,-0.0921961,100
- Just like method 1 use the following terminal command with the exception of adding the csv file path.
python verti_monitor_CLI.py -k "API_KEY" -m "MODE" -d "START_TIME" -a "END_TIME" -i "AIRCRAFT_ID" -p WIND RAIN TEMP_MIN TEMP_MAX --csv /path/to/points.csv
In your Python script, import verti_monitor_integrate and use the send_request function as shown in below:
import verti_monitor_integrate
api_key = "YOUR_API_KEY"
mode = MODE
start_time = "START_TIME"
end_time = "END_TIME"
aircraft_id = "AIRCRAFT_ID"
parameters = (WIND, RAIN, TEMP_MIN, TEMP_MAX) #optional
points = [
{"point": "1", "Latitude": LATITUDE_1, "Longitude": LONGITUDE_1, "altitude": ALTITUDE_1},
{"point": "2", "Latitude": LATITUDE_2, "Longitude": LONGITUDE_2, "altitude": ALTITUDE_2},
{"point": "3", "Latitude": LATITUDE_3, "Longitude": LONGITUDE_3, "altitude": ALTITUDE_3}
]
verti_monitor_integrate.send_request(api_key, mode, start_time, end_time, aircraft_id, points, parameters)
curl --location "https://www.dm-airtech.eu/api/VertiMonitorAPI" --header "Content-Type: application/json" --data "{\"ApiKey\": \"YOUR_API_KEY\",\"uuid\": \"UUID\" ,\"mode\": \"MODE\" \"startTime\": \"START_TIME\", \"endTime\": \"END_TIME\", \"aircraftId\": \"AIRCRAFT_ID\", \"parameters\": {\"wind\": \WIND\, \"rain\": \RAIN\, \"temp_min\": \TEMP_MIN\, \"temp_max\": \TEMP_MAX\}, \"points\": [{\"point\": \1\, \"Latitude\": LATITUDE_1, \"Longitude\": LONGITUDE_1, \"altitude\": ALTITUDE_1}, {\"point\": \2\, \"Latitude\": LATITUDE_2, \"Longitude\": LONGITUDE_2, \"altitude\": ALTITUDE_2}, {\"point\": \3\, \"Latitude\": LATITUDE_3, \"Longitude\": LONGITUDE_3, \"altitude\": ALTITUDE_3}]}"
Example:
curl --location "https://www.dm-airtech.eu/api/VertiMonitorAPI" --header "Content-Type: application/json" --data "{\"ApiKey\": \"API_KEY\",\"uuid\": \"b4a2ea11-8ad7-42ac-83d3-8c19b0bd4607\", \"mode\": \"trajectory\", \"startTime\": \"2023-07-19T00:00\", \"endTime\": \"2023-07-19T03:00\", \"aircraftId\": \"user-defined\", \"parameters\": {\"wind\": 10, \"rain\": 0, \"temp_min\": -5, \"temp_max\": 40}, \"points\": [{\"point\": \"1\", \"Latitude\": 52, \"Longitude\": 2, \"altitude\": 100}, {\"point\": \"2\", \"Latitude\": 53, \"Longitude\": 1, \"altitude\": 100}, {\"point\": \"3\", \"Latitude\": 54, \"Longitude\": 3, \"altitude\": 100}]}"
The output format is the same for all the methods listed above. Here is an example for the output of the API:
{
"results": [
{
"status": {
"confidence": "88.28%",
"rationale": "Wind speed exceeds limit at 1 location.",
"result": "0"
},
"timestamp": "2023-07-19T00:00"
},
{
"status": {
"confidence": "88.36%",
"rationale": "All conditions are within the allowable limits.",
"result": "1"
},
"timestamp": "2023-07-19T01:00"
}
],
"uuid": "98377bc3-376e-488c-9459-6abff714b74e"
}
Here is an example of output in GUI:
For any questions, concerns, or technical support, please reach out to our dedicated support team at [email protected].
© 2023 DM-AirTech. All rights reserved.