Skip to content

DM-AirTech/VertiMonitor

Repository files navigation

VertiMonitorGWC

Python Version LinkedIn Website

1. Introduction

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.

image

2. Obtaining API Key

To access the VertiMonitorGWC data through the API, you will need an API key. Please contact our sales team at info@dm-airtech.com to obtain your API key.

3. Usage

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"

Method 1: Command Line Interface (CLI)

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"

Method 2: CLI with CSV file

  1. 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
  1. 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

Method 3: Python integration

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)

Method 4: CURL command

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}]}"

4. Output

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:

image

Support

For any questions, concerns, or technical support, please reach out to our dedicated support team at info@dm-airtech.com.


© 2023 DM-AirTech. All rights reserved.

About

VertiMonitorGWC is a real-time weather clearance tool that assists in the execution and automation of drone and eVTOL operations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages