at.adsb.flight.defs
Schema Diff
+29 -11
Compatibility Analysis
Breaking Changes Detected
5 breaking changes, 6 non-breaking changes.
Breaking Changes (5)
- RemovedVertex RemovedVertex { vertex_id: "at.adsb.flight.defs#contributor.sightingUri" }
- RemovedVertex RemovedVertex { vertex_id: "at.adsb.flight.defs#contributor.stationUri" }
- RemovedEdge RemovedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.sightingUri", kind: "prop", name: Some("sightingUri") }
- RemovedEdge RemovedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.stationUri", kind: "prop", name: Some("stationUri") }
- ConstraintAdded ConstraintAdded { vertex_id: "at.adsb.flight.defs#position.source", sort: "maxLength", value: "32" }
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "at.adsb.flight.defs#contributor.sighting" }
- AddedVertex AddedVertex { vertex_id: "at.adsb.flight.defs#contributor.station" }
- AddedVertex AddedVertex { vertex_id: "at.adsb.flight.defs#position.source" }
- AddedEdge AddedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.sighting", kind: "prop", name: Some("sighting") }
- AddedEdge AddedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.station", kind: "prop", name: Some("station") }
- AddedEdge AddedEdge { src: "at.adsb.flight.defs#position", tgt: "at.adsb.flight.defs#position.source", kind: "prop", name: Some("source") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "at.adsb.flight.defs#contributor.sightingUri" }RemovedVertex { vertex_id: "at.adsb.flight.defs#contributor.stationUri" }
Added Elements
AddedVertex { vertex_id: "at.adsb.flight.defs#contributor.sighting" }AddedVertex { vertex_id: "at.adsb.flight.defs#contributor.station" }AddedVertex { vertex_id: "at.adsb.flight.defs#position.source" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "at.adsb.flight.defs#position.source", sort: "maxLength", value: "32" }
Additional Notes
- Breaking: RemovedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.sightingUri", kind: "prop", name: Some("sightingUri") }
- Breaking: RemovedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.stationUri", kind: "prop", name: Some("stationUri") }
- Non-breaking: AddedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.sighting", kind: "prop", name: Some("sighting") }
- Non-breaking: AddedEdge { src: "at.adsb.flight.defs#contributor", tgt: "at.adsb.flight.defs#contributor.station", kind: "prop", name: Some("station") }
- Non-breaking: AddedEdge { src: "at.adsb.flight.defs#position", tgt: "at.adsb.flight.defs#position.source", kind: "prop", name: Some("source") }
1
1
{
2
2
"id": "at.adsb.flight.defs",
3
3
"defs": {
4
4
"position": {
5
5
"type": "object",
6
6
"required": [
7
7
"latitude",
8
8
"longitude",
9
-
"timestamp"
9
+
"timestamp",
10
+
"source"
10
11
],
11
12
"properties": {
13
+
"source": {
14
+
"type": "string",
15
+
"maxLength": 32,
16
+
"description": "Decoder-level source type that produced this position fix.",
17
+
"knownValues": [
18
+
"adsb_icao",
19
+
"adsb_icao_nt",
20
+
"adsr_icao",
21
+
"tisb_icao",
22
+
"adsc",
23
+
"mlat",
24
+
"uat",
25
+
"mode_s",
26
+
"adsb_other",
27
+
"tisb_other"
28
+
]
29
+
},
12
30
"latitude": {
13
31
"type": "string",
14
32
"maxLength": 20,
15
33
"description": "Decimal degrees north, WGS84. Negative for south."
16
34
},
17
35
"trackDeg": {
18
36
"type": "string",
19
37
"maxLength": 20,
20
38
"description": "Track angle in degrees true north."
21
39
},
22
40
"longitude": {
23
41
"type": "string",
24
42
"maxLength": 20,
25
43
"description": "Decimal degrees east, WGS84. Negative for west."
26
44
},
27
45
"timestamp": {
28
46
"type": "string",
29
47
"format": "datetime"
30
48
},
31
49
"altitudeFt": {
32
50
"type": "integer",
33
51
"description": "Barometric altitude in feet."
34
52
},
35
53
"groundSpeedKts": {
36
54
"type": "string",
37
55
"maxLength": 20,
38
56
"description": "Ground speed in knots."
39
57
},
40
58
"verticalRateFpm": {
41
59
"type": "integer",
42
60
"description": "Vertical rate in feet per minute. Negative is descending."
43
61
}
44
62
},
45
63
"description": "A single aircraft position report. Coordinates follow community.lexicon.location conventions: decimal degree strings, WGS84."
46
64
},
47
65
"contributor": {
48
66
"type": "object",
49
67
"required": [
50
68
"did"
51
69
],
52
70
"properties": {
53
71
"did": {
54
72
"type": "string",
55
73
"format": "did",
56
74
"description": "DID of the contributing receiver account."
57
75
},
76
+
"station": {
77
+
"ref": "com.atproto.repo.strongRef",
78
+
"type": "ref",
79
+
"description": "Strong reference to the contributor's at.adsb.receiver.station record."
80
+
},
58
81
"lastSeen": {
59
82
"type": "string",
60
83
"format": "datetime",
61
84
"description": "When this receiver last observed the aircraft."
62
85
},
86
+
"sighting": {
87
+
"ref": "com.atproto.repo.strongRef",
88
+
"type": "ref",
89
+
"description": "Strong reference to the contributor's at.adsb.receiver.sighting record for this aircraft."
90
+
},
63
91
"firstSeen": {
64
92
"type": "string",
65
93
"format": "datetime",
66
94
"description": "When this receiver first observed the aircraft."
67
-
},
68
-
"stationUri": {
69
-
"type": "string",
70
-
"format": "at-uri",
71
-
"description": "AT-URI of the contributor's at.adsb.receiver.station record."
72
-
},
73
-
"sightingUri": {
74
-
"type": "string",
75
-
"format": "at-uri",
76
-
"description": "AT-URI of the contributor's at.adsb.receiver.sighting record for this aircraft."
77
95
},
78
96
"positionCount": {
79
97
"type": "integer",
80
98
"minimum": 0,
81
99
"description": "Number of position reports this receiver contributed."
82
100
}
83
101
},
84
102
"description": "A receiver that contributed data to a flight sighting."
85
103
},
86
104
"trackSummary": {
87
105
"type": "object",
88
106
"properties": {
89
107
"origin": {
90
108
"ref": "community.lexicon.location.geo",
91
109
"type": "ref",
92
110
"description": "First observed position."
93
111
},
94
112
"distanceNm": {
95
113
"type": "string",
96
114
"maxLength": 20,
97
115
"description": "Great-circle distance between first and last observed positions, in nautical miles."
98
116
},
99
117
"destination": {
100
118
"ref": "community.lexicon.location.geo",
101
119
"type": "ref",
102
120
"description": "Last observed position."
103
121
},
104
122
"maxAltitudeFt": {
105
123
"type": "integer"
106
124
},
107
125
"minAltitudeFt": {
108
126
"type": "integer"
109
127
}
110
128
},
111
129
"description": "Summary of a flight's path without the full position history. Coordinates follow community.lexicon.location conventions."
112
130
}
113
131
},
114
132
"$type": "com.atproto.lexicon.schema",
115
133
"lexicon": 1,
116
134
"description": "Shared type definitions for flight-related records in the at.adsb namespace."
117
135
}