Skip to main content

Advisory UAV operations

The SafeSky API provides features to push the publication of active UAV activity areas, when no live telemetry is available.

The SafeSky API utilizes GeoJSON, a widely adopted format for encoding geographic data structures. GeoJSON allows UAV operators to define activity areas using points, lines, polygons, and multi-geometries, making it an ideal standard for representing advisory areas in aviation. To learn more about GeoJSON and its structure, visit the Wikipedia page on GeoJSON.


1. Publish Advisory Information

Endpoint: POST /v1/advisory

Description: Publish one or more UAV active activity areas to the SafeSky platform. When an area is not active any more, simply stop pushing it. The POST frequency for advisory messages should one minute.

Request Headers:
  • Content-Type: application/json
  • x-api-key: <your_api_key>
Request Body:

The request body should be a GeoJSON structure containing one or many advisory areas. The advisory area can be represented using either a polygon or a point with a radius.

Example 1: Publishing a Polygon Advisory

The advisory defines an area of UAV activity using a polygon with specific properties.

GeoJSON Example:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "id": "Advisory123",
        "call_sign": "UAV_Alpha",
        "last_update": 1738142598,
        "max_altitude": 150,
        "remarks": "Surveying area"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [4.39201, 50.69378],
            [4.39300, 50.69400],
            [4.39400, 50.69500],
            [4.39201, 50.69378]
          ]
        ]
      }
    }
  ]
}

Example 2: Publishing a Point Advisory with a Radius

Instead of a polygon, a point can be used to represent a UAV operation with a maximum radius max_distance.

GeoJSON Example:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "id": "my_advisory_id2",
        "max_altitude": 150,
        "max_distance": 500,
        "last_update": 1738142598,
        "call_sign": "Advisory test with a point",
        "remarks": "Inspection rails"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          4.4,
          50.7
        ]
      }
    }
  ]
}

Example 3: Publishing Multiple Advisories Simultaneously

You can submit multiple advisories in a single request by including multiple features within the FeatureCollection. These features can be a mix of points (with a defined radius) and polygons, depending on how the advisory areas are represented. This approach allows efficient submission of multiple UAV advisories in a batch format instead of individual POST.

GeoJSON Example: The following example demonstrates how to publish:

  • A polygon-based advisory representing an inspection area.
  • A point-based advisory with a specified radius.
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "id": "my_advisory_id1",
        "max_altitude": 111,
        "last_update": 1738142590,
        "call_sign": "Advisory test with polygon",
        "remarks": "Inspection powerlines"
      },
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [4.39201, 50.69378],
            [4.39300, 50.69400],
            [4.39400, 50.69500],
            [4.39201, 50.69378]
          ]
        ]
      }
    },
    {
      "type": "Feature",
      "properties": {
        "id": "my_advisory_id2",
        "max_altitude": 150,
        "max_distance": 500,
        "last_update": 1738142598,
        "call_sign": "Advisory test with a point",
        "remarks": "Inspection rails"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          4.4,
          50.7
        ]
      }
    }
  ]
}

Required Properties in GeoJSON

Each advisory must include the following properties:

Parameter Type Required Description
id string Yes A unique identifier for the advisory message. This helps in tracking and managing advisories.
call_sign string No The call sign associated with the UAV operation. It can be used for easy identification.
last_update long Yes The timestamp of the last update in seconds since epoch (UTC-0), ensuring the advisory's relevance.
max_altitude int Yes The maximum altitude (in meters AMSL) at which UAV operations are expected to take place.
remarks string No Free text comments providing additional information about the advisory (e.g., purpose of operation).
max_distance int Yes (for Point) The radius (in meters) defining the UAV operation area when using a point advisory.

Response:

  • 201 Created: Advisory information published successfully.
  • 400 Bad Request: Invalid parameters or failed authentication.

Notes:

  • Ensure that the coordinates for a polygon form a closed loop by repeating the first coordinate at the end of the array.
  • When using a point, the max_distance property is required to define the radius of operation.