at.adsb.receiver.sighting

adsb.at

Schema Diff

+48 -87

From

CID
bafyreiduopaxvmp...
Indexed At
2026-05-24 13:06 UTC
View this version

To

CID
bafyreigfusjjsxx...
Indexed At
2026-05-25 20:10 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

43 breaking changes, 11 non-breaking changes.

Breaking Changes (43)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting#manifestEntry", src: "at.adsb.receiver.sighting#manifestEntry", tgt: "at.adsb.receiver.sighting#manifestEntry.icaoHex", kind: "prop", name: Some("icaoHex") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.windowStart", kind: "prop", name: Some("windowStart") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.manifest", kind: "prop", name: Some("manifest") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.telemetry", kind: "prop", name: Some("telemetry") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.windowEnd", kind: "prop", name: Some("windowEnd") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.aircraft", kind: "prop", name: Some("aircraft") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.lastSeen", kind: "prop", name: Some("lastSeen") }
  • RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.firstSeen", kind: "prop", name: Some("firstSeen") }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.aircraft" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.callsign" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalAltitudeFt" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalGroundSpeedKts" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalHeadingDeg" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalVerticalRateFpm" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.firstSeen" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialAltitudeFt" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialGroundSpeedKts" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialHeadingDeg" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialVerticalRateFpm" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.lastSeen" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.maxRangeNm" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.messageCount" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.positionCount" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.qnhHpa" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.squawk" }
  • RemovedVertex RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.track" }
  • RemovedVertex RemovedVertex { vertex_id: "com.atproto.repo.strongRef" }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.callsign", kind: "prop", name: Some("callsign") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalAltitudeFt", kind: "prop", name: Some("finalAltitudeFt") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalGroundSpeedKts", kind: "prop", name: Some("finalGroundSpeedKts") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalHeadingDeg", kind: "prop", name: Some("finalHeadingDeg") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalVerticalRateFpm", kind: "prop", name: Some("finalVerticalRateFpm") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialAltitudeFt", kind: "prop", name: Some("initialAltitudeFt") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialGroundSpeedKts", kind: "prop", name: Some("initialGroundSpeedKts") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialHeadingDeg", kind: "prop", name: Some("initialHeadingDeg") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialVerticalRateFpm", kind: "prop", name: Some("initialVerticalRateFpm") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.maxRangeNm", kind: "prop", name: Some("maxRangeNm") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.messageCount", kind: "prop", name: Some("messageCount") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.positionCount", kind: "prop", name: Some("positionCount") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.qnhHpa", kind: "prop", name: Some("qnhHpa") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.squawk", kind: "prop", name: Some("squawk") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.track", kind: "prop", name: Some("track") }
  • RemovedEdge RemovedEdge { src: "at.adsb.receiver.sighting:body.aircraft", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Non-Breaking Changes (11)
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting#manifestEntry" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting#manifestEntry.icaoHex" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.manifest" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.manifest:items" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.rawCapture" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.telemetry" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.windowEnd" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.windowStart" }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.rawCapture", kind: "prop", name: Some("rawCapture") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body.manifest", tgt: "at.adsb.receiver.sighting:body.manifest:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body.manifest:items", tgt: "at.adsb.receiver.sighting#manifestEntry", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.aircraft" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.callsign" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalAltitudeFt" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalGroundSpeedKts" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalHeadingDeg" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalVerticalRateFpm" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.firstSeen" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialAltitudeFt" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialGroundSpeedKts" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialHeadingDeg" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialVerticalRateFpm" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.lastSeen" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.maxRangeNm" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.messageCount" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.positionCount" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.qnhHpa" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.squawk" }
  • RemovedVertex { vertex_id: "at.adsb.receiver.sighting:body.track" }
  • RemovedVertex { vertex_id: "com.atproto.repo.strongRef" }

Added Elements

  • AddedVertex { vertex_id: "at.adsb.receiver.sighting#manifestEntry" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting#manifestEntry.icaoHex" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.manifest" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.manifest:items" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.rawCapture" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.telemetry" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.windowEnd" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.windowStart" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting#manifestEntry", src: "at.adsb.receiver.sighting#manifestEntry", tgt: "at.adsb.receiver.sighting#manifestEntry.icaoHex", kind: "prop", name: Some("icaoHex") }
  • Breaking: RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.windowStart", kind: "prop", name: Some("windowStart") }
  • Breaking: RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.manifest", kind: "prop", name: Some("manifest") }
  • Breaking: RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.telemetry", kind: "prop", name: Some("telemetry") }
  • Breaking: RequiredEdgeAdded { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.windowEnd", kind: "prop", name: Some("windowEnd") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.aircraft", kind: "prop", name: Some("aircraft") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.lastSeen", kind: "prop", name: Some("lastSeen") }
  • Breaking: RequiredEdgeRemoved { vertex_id: "at.adsb.receiver.sighting:body", src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.firstSeen", kind: "prop", name: Some("firstSeen") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.callsign", kind: "prop", name: Some("callsign") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalAltitudeFt", kind: "prop", name: Some("finalAltitudeFt") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalGroundSpeedKts", kind: "prop", name: Some("finalGroundSpeedKts") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalHeadingDeg", kind: "prop", name: Some("finalHeadingDeg") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalVerticalRateFpm", kind: "prop", name: Some("finalVerticalRateFpm") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialAltitudeFt", kind: "prop", name: Some("initialAltitudeFt") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialGroundSpeedKts", kind: "prop", name: Some("initialGroundSpeedKts") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialHeadingDeg", kind: "prop", name: Some("initialHeadingDeg") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialVerticalRateFpm", kind: "prop", name: Some("initialVerticalRateFpm") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.maxRangeNm", kind: "prop", name: Some("maxRangeNm") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.messageCount", kind: "prop", name: Some("messageCount") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.positionCount", kind: "prop", name: Some("positionCount") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.qnhHpa", kind: "prop", name: Some("qnhHpa") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.squawk", kind: "prop", name: Some("squawk") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.track", kind: "prop", name: Some("track") }
  • Breaking: RemovedEdge { src: "at.adsb.receiver.sighting:body.aircraft", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.rawCapture", kind: "prop", name: Some("rawCapture") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body.manifest", tgt: "at.adsb.receiver.sighting:body.manifest:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body.manifest:items", tgt: "at.adsb.receiver.sighting#manifestEntry", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 -
      "description": "A receiver's sighting of an aircraft transit through its coverage area.",
5 +
      "description": "A receiver's batch sighting covering a configurable observation window.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 -
          "aircraft": {
10 -
            "description": "Strong reference to the at.adsb.aircraft.identity record for this aircraft.",
11 -
            "ref": "com.atproto.repo.strongRef",
12 -
            "type": "ref"
13 -
          },
14 -
          "callsign": {
15 -
            "description": "Flight callsign as broadcast (e.g. 'UAL123').",
16 -
            "maxLength": 8,
17 -
            "type": "string"
18 -
          },
19 9
          "createdAt": {
20 10
            "format": "datetime",
21 11
            "type": "string"
22 12
          },
23 -
          "finalAltitudeFt": {
24 -
            "description": "Barometric altitude in feet at last detection.",
25 -
            "type": "integer"
13 +
          "manifest": {
14 +
            "description": "Lightweight list of all aircraft observed in this window.",
15 +
            "items": {
16 +
              "ref": "#manifestEntry",
17 +
              "type": "ref"
18 +
            },
19 +
            "maxLength": 1000,
20 +
            "minLength": 1,
21 +
            "type": "array"
26 22
          },
27 -
          "finalGroundSpeedKts": {
28 -
            "description": "Ground speed in knots at last detection.",
29 -
            "maxLength": 10,
30 -
            "type": "string"
23 +
          "rawCapture": {
24 +
            "accept": [
25 +
              "application/vnd.at-adsb.raw-capture+zstd"
26 +
            ],
27 +
            "description": "Raw demodulated SDR frames captured during this window, in ATRX envelope format. Optional — strengthens provenance but not required.",
28 +
            "maxSize": 2000000,
29 +
            "type": "blob"
31 30
          },
32 -
          "finalHeadingDeg": {
33 -
            "description": "Ground track in degrees at last detection.",
34 -
            "maxLength": 10,
35 -
            "type": "string"
31 +
          "telemetry": {
32 +
            "accept": [
33 +
              "application/zstd"
34 +
            ],
35 +
            "description": "Zstd-compressed JSON object keyed by ICAO hex, values are arrays of at.adsb.flight.defs#position objects.",
36 +
            "maxSize": 2000000,
37 +
            "type": "blob"
36 38
          },
37 -
          "finalVerticalRateFpm": {
38 -
            "description": "Vertical rate in feet per minute at last detection. Negative is descending.",
39 -
            "type": "integer"
40 -
          },
41 -
          "firstSeen": {
42 -
            "description": "When this receiver first detected the aircraft.",
39 +
          "windowEnd": {
40 +
            "description": "End of the observation window (exclusive).",
43 41
            "format": "datetime",
44 42
            "type": "string"
45 43
          },
46 -
          "initialAltitudeFt": {
47 -
            "description": "Barometric altitude in feet at first detection.",
48 -
            "type": "integer"
49 -
          },
50 -
          "initialGroundSpeedKts": {
51 -
            "description": "Ground speed in knots at first detection.",
52 -
            "maxLength": 10,
53 -
            "type": "string"
54 -
          },
55 -
          "initialHeadingDeg": {
56 -
            "description": "Ground track in degrees at first detection.",
57 -
            "maxLength": 10,
58 -
            "type": "string"
59 -
          },
60 -
          "initialVerticalRateFpm": {
61 -
            "description": "Vertical rate in feet per minute at first detection. Negative is descending.",
62 -
            "type": "integer"
63 -
          },
64 -
          "lastSeen": {
65 -
            "description": "When this receiver last detected the aircraft.",
44 +
          "windowStart": {
45 +
            "description": "Start of the observation window (inclusive).",
66 46
            "format": "datetime",
67 47
            "type": "string"
68 -
          },
69 -
          "maxRangeNm": {
70 -
            "description": "Furthest distance to this aircraft during the sighting, in nautical miles.",
71 -
            "maxLength": 20,
72 -
            "type": "string"
73 -
          },
74 -
          "messageCount": {
75 -
            "description": "Total messages received from this aircraft.",
76 -
            "minimum": 0,
77 -
            "type": "integer"
78 -
          },
79 -
          "positionCount": {
80 -
            "description": "Number of position reports received.",
81 -
            "minimum": 0,
82 -
            "type": "integer"
83 -
          },
84 -
          "qnhHpa": {
85 -
            "description": "Altimeter setting (QNH) in hectopascals.",
86 -
            "maxLength": 10,
87 -
            "type": "string"
88 -
          },
89 -
          "squawk": {
90 -
            "description": "Transponder squawk code (e.g. '2636').",
91 -
            "maxLength": 4,
92 -
            "minLength": 4,
93 -
            "type": "string"
94 -
          },
95 -
          "track": {
96 -
            "accept": [
97 -
              "application/json",
98 -
              "application/zstd"
99 -
            ],
100 -
            "description": "Position track as a JSON array of at.adsb.flight.defs#position objects, optionally compressed. This is the receiver's partial view of the flight.",
101 -
            "maxSize": 2000000,
102 -
            "type": "blob"
103 48
          }
104 49
        },
105 50
        "required": [
106 -
          "aircraft",
107 -
          "firstSeen",
108 -
          "lastSeen",
51 +
          "windowStart",
52 +
          "windowEnd",
53 +
          "manifest",
54 +
          "telemetry",
109 55
          "createdAt"
110 56
        ],
111 57
        "type": "object"
112 58
      },
113 59
      "type": "record"
60 +
    },
61 +
    "manifestEntry": {
62 +
      "description": "An aircraft observed in this batch window.",
63 +
      "properties": {
64 +
        "icaoHex": {
65 +
          "description": "ICAO 24-bit hex address (uppercased).",
66 +
          "maxLength": 6,
67 +
          "minLength": 6,
68 +
          "type": "string"
69 +
        }
70 +
      },
71 +
      "required": [
72 +
        "icaoHex"
73 +
      ],
74 +
      "type": "object"
114 75
    }
115 76
  },
116 -
  "description": "A single receiver's sighting of an aircraft. Created when the aircraft leaves the receiver's coverage area. Feeder-authoritative — published immediately without waiting for the full flight to complete.",
77 +
  "description": "A batch of aircraft observations from a single receiver covering a configurable time window (default 60 seconds). Contains a manifest of observed aircraft and blobbed telemetry data.",
117 78
  "id": "at.adsb.receiver.sighting",
118 79
  "lexicon": 1
119 80
}

Compare Other Versions

Lexicon Garden

@