at.adsb.receiver.sighting

adsb.at

Schema Diff

+52 -0

From

CID
bafyreihgoc5ebgc...
Indexed At
2026-05-23 21:30 UTC
View this version

To

CID
bafyreih3il7ayuj...
Indexed At
2026-05-24 01:57 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 22 non-breaking changes.

Non-Breaking Changes (22)
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.category" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalAltitudeFt" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalGroundSpeedKts" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalHeadingDeg" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalVerticalRateFpm" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialAltitudeFt" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialGroundSpeedKts" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialHeadingDeg" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialVerticalRateFpm" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.qnhHpa" }
  • AddedVertex AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.squawk" }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.category", kind: "prop", name: Some("category") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalAltitudeFt", kind: "prop", name: Some("finalAltitudeFt") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalGroundSpeedKts", kind: "prop", name: Some("finalGroundSpeedKts") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalHeadingDeg", kind: "prop", name: Some("finalHeadingDeg") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalVerticalRateFpm", kind: "prop", name: Some("finalVerticalRateFpm") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialAltitudeFt", kind: "prop", name: Some("initialAltitudeFt") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialGroundSpeedKts", kind: "prop", name: Some("initialGroundSpeedKts") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialHeadingDeg", kind: "prop", name: Some("initialHeadingDeg") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialVerticalRateFpm", kind: "prop", name: Some("initialVerticalRateFpm") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.qnhHpa", kind: "prop", name: Some("qnhHpa") }
  • AddedEdge AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.squawk", kind: "prop", name: Some("squawk") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.category" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalAltitudeFt" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalGroundSpeedKts" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalHeadingDeg" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.finalVerticalRateFpm" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialAltitudeFt" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialGroundSpeedKts" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialHeadingDeg" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.initialVerticalRateFpm" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.qnhHpa" }
  • AddedVertex { vertex_id: "at.adsb.receiver.sighting:body.squawk" }

Additional Notes

  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.category", kind: "prop", name: Some("category") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalAltitudeFt", kind: "prop", name: Some("finalAltitudeFt") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalGroundSpeedKts", kind: "prop", name: Some("finalGroundSpeedKts") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalHeadingDeg", kind: "prop", name: Some("finalHeadingDeg") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.finalVerticalRateFpm", kind: "prop", name: Some("finalVerticalRateFpm") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialAltitudeFt", kind: "prop", name: Some("initialAltitudeFt") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialGroundSpeedKts", kind: "prop", name: Some("initialGroundSpeedKts") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialHeadingDeg", kind: "prop", name: Some("initialHeadingDeg") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.initialVerticalRateFpm", kind: "prop", name: Some("initialVerticalRateFpm") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.qnhHpa", kind: "prop", name: Some("qnhHpa") }
  • Non-breaking: AddedEdge { src: "at.adsb.receiver.sighting:body", tgt: "at.adsb.receiver.sighting:body.squawk", kind: "prop", name: Some("squawk") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A receiver's sighting of an aircraft transit through its coverage area.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "callsign": {
10 10
            "description": "Flight callsign as broadcast (e.g. 'UAL123').",
11 11
            "maxLength": 8,
12 12
            "type": "string"
13 13
          },
14 +
          "category": {
15 +
            "description": "ADS-B emitter category (e.g. 'A3' for large aircraft).",
16 +
            "maxLength": 4,
17 +
            "type": "string"
18 +
          },
14 19
          "createdAt": {
15 20
            "format": "datetime",
16 21
            "type": "string"
17 22
          },
23 +
          "finalAltitudeFt": {
24 +
            "description": "Barometric altitude in feet at last detection.",
25 +
            "type": "integer"
26 +
          },
27 +
          "finalGroundSpeedKts": {
28 +
            "description": "Ground speed in knots at last detection.",
29 +
            "maxLength": 10,
30 +
            "type": "string"
31 +
          },
32 +
          "finalHeadingDeg": {
33 +
            "description": "Ground track in degrees at last detection.",
34 +
            "maxLength": 10,
35 +
            "type": "string"
36 +
          },
37 +
          "finalVerticalRateFpm": {
38 +
            "description": "Vertical rate in feet per minute at last detection. Negative is descending.",
39 +
            "type": "integer"
40 +
          },
18 41
          "firstSeen": {
19 42
            "description": "When this receiver first detected the aircraft.",
20 43
            "format": "datetime",
21 44
            "type": "string"
22 45
          },
23 46
          "icaoHex": {
24 47
            "description": "ICAO 24-bit aircraft address in hexadecimal (e.g. 'A1B2C3').",
25 48
            "maxLength": 6,
26 49
            "minLength": 6,
27 50
            "type": "string"
28 51
          },
52 +
          "initialAltitudeFt": {
53 +
            "description": "Barometric altitude in feet at first detection.",
54 +
            "type": "integer"
55 +
          },
56 +
          "initialGroundSpeedKts": {
57 +
            "description": "Ground speed in knots at first detection.",
58 +
            "maxLength": 10,
59 +
            "type": "string"
60 +
          },
61 +
          "initialHeadingDeg": {
62 +
            "description": "Ground track in degrees at first detection.",
63 +
            "maxLength": 10,
64 +
            "type": "string"
65 +
          },
66 +
          "initialVerticalRateFpm": {
67 +
            "description": "Vertical rate in feet per minute at first detection. Negative is descending.",
68 +
            "type": "integer"
69 +
          },
29 70
          "lastSeen": {
30 71
            "description": "When this receiver last detected the aircraft.",
31 72
            "format": "datetime",
32 73
            "type": "string"
33 74
          },
34 75
          "maxRangeNm": {
35 76
            "description": "Furthest distance to this aircraft during the sighting, in nautical miles.",
36 77
            "maxLength": 20,
37 78
            "type": "string"
38 79
          },
39 80
          "messageCount": {
40 81
            "description": "Total messages received from this aircraft.",
41 82
            "minimum": 0,
42 83
            "type": "integer"
43 84
          },
44 85
          "positionCount": {
45 86
            "description": "Number of position reports received.",
46 87
            "minimum": 0,
47 88
            "type": "integer"
48 89
          },
90 +
          "qnhHpa": {
91 +
            "description": "Altimeter setting (QNH) in hectopascals.",
92 +
            "maxLength": 10,
93 +
            "type": "string"
94 +
          },
95 +
          "squawk": {
96 +
            "description": "Transponder squawk code (e.g. '2636').",
97 +
            "maxLength": 4,
98 +
            "minLength": 4,
99 +
            "type": "string"
100 +
          },
49 101
          "track": {
50 102
            "accept": [
51 103
              "application/json",
52 104
              "application/zstd"
53 105
            ],
54 106
            "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.",
55 107
            "maxSize": 2000000,
56 108
            "type": "blob"
57 109
          }
58 110
        },
59 111
        "required": [
60 112
          "icaoHex",
61 113
          "firstSeen",
62 114
          "lastSeen",
63 115
          "createdAt"
64 116
        ],
65 117
        "type": "object"
66 118
      },
67 119
      "type": "record"
68 120
    }
69 121
  },
70 122
  "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.",
71 123
  "id": "at.adsb.receiver.sighting",
72 124
  "lexicon": 1
73 125
}

Compare Other Versions

Lexicon Garden

@