This schema defines a set of basic primitives and properties.
BoundingBox
The coordinate system used in ADF is normalized image coordinates:
The x-axis pointing to the right and the y-axis pointing down,
with the upper left hand corner as (0,0) and the lower right hand corner as (1,1).
Thus all coordinates have positive values inside the image.
This represents how many digital image libraries handles image coordinates.
| Property | Type | Required |
|---|
| left | Float | Yes |
| top | Float | Yes |
| right | Float | Yes |
| bottom | Float | Yes |
GeographicPosition
A type representing a geographic position (geolocation) on Earth, with an
optional elevation component.
The longitude and latitude are given in degrees as defined by the Global
Position System (GPS) and WGS84. The latitude is 0° at the equator, increasing
northwards. The longitude is defined to be 0° at the IERS prime meridian,
increasing eastwards. The elevation, if present, is specified in meters.
| Property | Type | Required | Note |
|---|
| latitude | Float | Yes | Latitude in WGS84 decimal degrees; valid range -90 to 90 |
| longitude | Float | Yes | Longitude in WGS84 decimal degrees; valid range -180 to 180 |
| elevation | Float | No | Elevation above mean sea level in meters |
GeoDirection
Represents a velocity vector relative to the device, the coordinate system used
is the same as defined in the ONVIF Analytics Service.
Specification:
- The device is placed in origin of a right-handed coordinate system where
the positive X axis is rightwards relative to the device, the positive Y
axis points away from the device, and the positive Z axis points upwards.
- The speed (r) is given in meters per second.
- The pitch (θ) is the vertical angle from the X-Y plane spanning
from -90 to 90 degrees and increasing upwards. The value 0° indicates no
relative elevation difference (level in the X-Y plane).
- The yaw angle (ψ) is the rotation angle around the Z axis, spanning
from -180 to 180 degrees and increasing counterclockwise. The value 0°
indicates straight to the right. Since the value increases counterclockwise
90° is straight ahead.
| Property | Type | Required | Note |
|---|
| speed | Float | Yes | Magnitude, meters/second |
| pitch | Float | Yes | Elevation angle θ in degrees from the X-Y plane; valid range -90 to 90; 0° is level |
| yaw | Float | Yes | Rotation angle ψ in degrees around +Z; valid range -180 to 180; 0° indicates rightwards from the device |
SphericalCoordinate
Represents a vector of spherical coordinates used to describe a position
relative to the device, the coordinate system used is the same as defined in
the ONVIF Analytics Service
Specification:
- The device is placed in origin of a right-handed coordinate system where
the positive X axis is rightwards relative to the device, the positive Y
axis points away from the device, and the positive Z axis points upwards.
- The distance (r) is given in meters.
- The elevation angle (θ) is the vertical angle from the X-Y plane spanning
from -90 to 90 degrees and increasing upwards. The value 0° indicates no
relative elevation difference (level in the X-Y plane).
- The azimuth angle (φ) is the rotation angle around the Z axis, spanning
from -180 to 180 degrees and increasing counterclockwise. The value 0°
indicates straight to the right. Since the value increases counterclockwise
90° is straight ahead.
| Property | Type | Required | Note |
|---|
| distance | Float | Yes | Magnitude in meters |
| azimuth | Float | Yes | Azimuth angle φ in degrees around +Z; valid range -180 to 180; 90° is straight away from the observer |
| elevation | Float | Yes | Elevation angle θ in degrees from the X-Y plane; valid range -90 to 90; 0° is level |

Color
| Property | Type | Required | Note |
|---|
| Name | String | Yes | Defined Values |
| Score | Float | Yes | Confidence score for the classification, normalized to [0,1] where 1 is highest confidence |
Color values
The available color values today:
- Beige
- Black
- Blue
- Gray
- Green
- Red
- White
- Yellow
LicensePlateAttributes
| Property | Type | Required | Note |
|---|
| country_code | String | No | Country/region code for the license plate |
| plate_number | String | No | The alphanumeric string printed on the license plate (as recognized) |
TimeAndPosition
| Property | Type | Required | Note |
|---|
| timestamp | String | No | According to format: YYYY-MM-DDTHH:MM:SS.MMMMMMZ |
| bounding_box | BoundingBox | No | Bounding box describes an object's surrounding rectangle |
| world_position | SphericalCoordinate | No | The position of the object relative to the device channel that made this detection |
| world_velocity | GeoDirection | No | The velocity of the object relative to the device channel that made this detection |
| geoposition | GeographicPosition | No | The geographic position of the object |
ObjectDetection
| Property | Type | Required | Note |
|---|
| bounding_box | BoundingBox | Yes | Bounding box describes an object's surrounding rectangle |
| class | ObjectClassification | No | Classification of the detected object (e.g., person, vehicle) |
| geoposition | GeographicPosition | No | The geographic position of the object |
| image_id | string | No | UUID reference to the id of the object_snapshot message |
| object_track_id | ID | No | Reference to the object track that this detection belongs to |
| world_position | SphericalCoordinate | No | The position of the object relative to the device channel that made this detection |
| world_velocity | GeoDirection | No | The velocity of the object relative to the device channel that made this detection |