observation.py 1.5 KB
Newer Older
1
"""
2
    schema: platform-specific decoded status message (DRAFT)
3
"""
4
from . import full_message_schema, api
5 6 7 8 9 10 11
from flask_restx import fields


observation_schema = api.model(
    "Observation",
    {
        "message": fields.Nested(
12
            full_message_schema,
13 14 15
            required=True,
            description="Message header",
        ),
16
        "platform_serial": fields.String(
17
            required=True,
18 19
            description="Serial of platform to sendign observations",
            example="ecosub-3",
20
        ),
21 22 23
        # "observation_type" ==> payloads tied to different types maybe?
        # properties of each observation?
        "points_of_interest": fields.Float(
24
            required=False,
25 26
            description="Points from features of interest identified by"
            + " platform if any found. DEFINE FORMAT.",
27 28
            example="",
        ),
29 30
        "region_surveyed": fields.Float(
            required=False,
31 32
            description="Region surveyed by given platform. DEFINE FORMAT."
            + " GEOJSON?",
33 34 35 36
            example="",
        ),
        "quality_of_points": fields.Float(
            required=False,
37 38
            description="Quality/strength of points from features of interest"
            + " identified by platform. DEFINE FORMAT.",
39 40 41 42 43 44 45
            example=0.98,
        ),
        "additional_data": fields.Raw(
            required=False,
            description="Placeholder field for any additional data",
            example={"sensor_payload": False},
        ),
46 47
    },
)