@disclosureos/schema 2.0.0-beta.3 → 2.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/README.md +78 -7
  3. package/dist/experimental/v2/index.d.ts +4425 -81
  4. package/dist/experimental/v2/index.js +7952 -334
  5. package/dist/experimental/v2/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/package.json +34 -6
  10. package/schema/enriched-observation.schema.json +16 -16
  11. package/schema/experimental/archival-case-presentation-0.1.0.schema.json +742 -0
  12. package/schema/experimental/case-presentation-0.1.0.schema.json +431 -0
  13. package/schema/experimental/context-case-presentation-0.1.0.schema.json +697 -0
  14. package/schema/experimental/lidar-point-cloud-profile-0.1.0.schema.json +416 -0
  15. package/schema/experimental/material-case-presentation-0.1.0.schema.json +802 -0
  16. package/schema/experimental/passive-sonar-profile-0.1.0.schema.json +238 -0
  17. package/schema/experimental/product-source-selection-0.1.0.schema.json +673 -0
  18. package/schema/experimental/radar-profile-0.1.0.schema.json +1232 -0
  19. package/schema/experimental/satellite-raster-profile-0.1.0.schema.json +406 -0
  20. package/schema/experimental/secondary-radar-profile-0.1.0.schema.json +154 -0
  21. package/schema/experimental/sonar-profile-0.1.0.schema.json +197 -0
  22. package/schema/experimental/steered-radar-profile-0.1.0.schema.json +214 -0
  23. package/schema/experimental/testimony-case-presentation-0.1.0.schema.json +682 -0
  24. package/schema/experimental/vocabulary-bindings-0.1.0.schema.json +167 -0
  25. package/schema/experimental/vocabulary-catalog-0.1.0.schema.json +155 -0
  26. package/schema/experimental/vocabulary-term-reference-0.1.0.schema.json +61 -0
@@ -0,0 +1,1232 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "anyOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "kind": {
8
+ "type": "string",
9
+ "const": "radar_profile"
10
+ },
11
+ "schemaVersion": {
12
+ "type": "string",
13
+ "const": "0.1.0"
14
+ },
15
+ "id": {
16
+ "type": "string",
17
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
18
+ },
19
+ "observationId": {
20
+ "type": "string",
21
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
22
+ },
23
+ "contextId": {
24
+ "type": "string",
25
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
26
+ },
27
+ "sourceSelectionId": {
28
+ "type": "string",
29
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
30
+ },
31
+ "acquisitionRef": {
32
+ "type": "string",
33
+ "pattern": "^acquisition:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
34
+ },
35
+ "acquisitionProductRef": {
36
+ "type": "string",
37
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
38
+ },
39
+ "channelId": {
40
+ "type": "string",
41
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
42
+ },
43
+ "frameRef": {
44
+ "type": "string",
45
+ "pattern": "^frame:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
46
+ },
47
+ "origin": {
48
+ "type": "object",
49
+ "properties": {
50
+ "eastM": {
51
+ "type": "number"
52
+ },
53
+ "northM": {
54
+ "type": "number"
55
+ }
56
+ },
57
+ "required": [
58
+ "eastM",
59
+ "northM"
60
+ ],
61
+ "additionalProperties": false
62
+ },
63
+ "timeOrigin": {
64
+ "type": "string",
65
+ "format": "date-time",
66
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
67
+ },
68
+ "mode": {
69
+ "type": "string",
70
+ "const": "rotating_scan"
71
+ },
72
+ "dataOrigin": {
73
+ "type": "string",
74
+ "enum": [
75
+ "synthetic",
76
+ "instrument"
77
+ ]
78
+ },
79
+ "bearingConvention": {
80
+ "type": "string",
81
+ "const": "clockwise_from_north"
82
+ },
83
+ "rangeConvention": {
84
+ "type": "string",
85
+ "const": "horizontal_range"
86
+ },
87
+ "beamReference": {
88
+ "type": "string",
89
+ "const": "north"
90
+ },
91
+ "platform": {
92
+ "not": {}
93
+ },
94
+ "preprocessing": {
95
+ "not": {}
96
+ },
97
+ "projection": {
98
+ "not": {}
99
+ },
100
+ "beamWidthConvention": {
101
+ "type": "string",
102
+ "const": "full_width_half_maximum_power"
103
+ },
104
+ "processingAvailability": {
105
+ "type": "string",
106
+ "const": "scan_end"
107
+ },
108
+ "detectionPosition": {
109
+ "oneOf": [
110
+ {
111
+ "type": "object",
112
+ "properties": {
113
+ "kind": {
114
+ "type": "string",
115
+ "const": "cell_center"
116
+ }
117
+ },
118
+ "required": [
119
+ "kind"
120
+ ],
121
+ "additionalProperties": false
122
+ },
123
+ {
124
+ "type": "object",
125
+ "properties": {
126
+ "kind": {
127
+ "type": "string",
128
+ "const": "power_weighted_neighborhood"
129
+ },
130
+ "azimuthRadius": {
131
+ "type": "integer",
132
+ "minimum": 1,
133
+ "maximum": 32
134
+ },
135
+ "rangeRadius": {
136
+ "type": "integer",
137
+ "minimum": 1,
138
+ "maximum": 32
139
+ },
140
+ "backgroundPower": {
141
+ "type": "number",
142
+ "minimum": 0
143
+ }
144
+ },
145
+ "required": [
146
+ "kind",
147
+ "azimuthRadius",
148
+ "rangeRadius",
149
+ "backgroundPower"
150
+ ],
151
+ "additionalProperties": false
152
+ }
153
+ ]
154
+ },
155
+ "products": {
156
+ "type": "object",
157
+ "properties": {
158
+ "scanSchedule": {
159
+ "type": "string",
160
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
161
+ },
162
+ "returns": {
163
+ "type": "string",
164
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
165
+ },
166
+ "thresholds": {
167
+ "type": "string",
168
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
169
+ },
170
+ "detections": {
171
+ "type": "string",
172
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
173
+ },
174
+ "tracks": {
175
+ "type": "string",
176
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
177
+ },
178
+ "associations": {
179
+ "type": "string",
180
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
181
+ },
182
+ "truth": {
183
+ "type": "string",
184
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
185
+ },
186
+ "platformPose": {
187
+ "not": {}
188
+ },
189
+ "siteFeatures": {
190
+ "type": "string",
191
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
192
+ }
193
+ },
194
+ "required": [
195
+ "scanSchedule",
196
+ "returns",
197
+ "thresholds",
198
+ "detections",
199
+ "tracks",
200
+ "associations"
201
+ ],
202
+ "additionalProperties": false
203
+ },
204
+ "uncertainty": {
205
+ "type": "object",
206
+ "properties": {
207
+ "kind": {
208
+ "type": "string",
209
+ "const": "gaussian_position_covariance"
210
+ },
211
+ "axes": {
212
+ "type": "array",
213
+ "prefixItems": [
214
+ {
215
+ "type": "string",
216
+ "const": "east"
217
+ },
218
+ {
219
+ "type": "string",
220
+ "const": "north"
221
+ }
222
+ ],
223
+ "minItems": 2,
224
+ "maxItems": 2
225
+ },
226
+ "unit": {
227
+ "type": "string",
228
+ "const": "m2"
229
+ },
230
+ "confidenceProbability": {
231
+ "type": "number",
232
+ "exclusiveMinimum": 0,
233
+ "exclusiveMaximum": 1
234
+ },
235
+ "conditioning": {
236
+ "not": {}
237
+ }
238
+ },
239
+ "required": [
240
+ "kind",
241
+ "axes",
242
+ "unit",
243
+ "confidenceProbability"
244
+ ],
245
+ "additionalProperties": false
246
+ }
247
+ },
248
+ "required": [
249
+ "kind",
250
+ "schemaVersion",
251
+ "id",
252
+ "observationId",
253
+ "contextId",
254
+ "sourceSelectionId",
255
+ "acquisitionRef",
256
+ "acquisitionProductRef",
257
+ "channelId",
258
+ "frameRef",
259
+ "origin",
260
+ "timeOrigin",
261
+ "mode",
262
+ "dataOrigin",
263
+ "bearingConvention",
264
+ "rangeConvention",
265
+ "beamWidthConvention",
266
+ "processingAvailability",
267
+ "detectionPosition",
268
+ "products",
269
+ "uncertainty"
270
+ ],
271
+ "additionalProperties": false
272
+ },
273
+ {
274
+ "type": "object",
275
+ "properties": {
276
+ "kind": {
277
+ "type": "string",
278
+ "const": "radar_profile"
279
+ },
280
+ "schemaVersion": {
281
+ "type": "string",
282
+ "const": "0.1.0"
283
+ },
284
+ "id": {
285
+ "type": "string",
286
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
287
+ },
288
+ "observationId": {
289
+ "type": "string",
290
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
291
+ },
292
+ "contextId": {
293
+ "type": "string",
294
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
295
+ },
296
+ "sourceSelectionId": {
297
+ "type": "string",
298
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
299
+ },
300
+ "acquisitionRef": {
301
+ "type": "string",
302
+ "pattern": "^acquisition:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
303
+ },
304
+ "acquisitionProductRef": {
305
+ "type": "string",
306
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
307
+ },
308
+ "channelId": {
309
+ "type": "string",
310
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
311
+ },
312
+ "frameRef": {
313
+ "type": "string",
314
+ "pattern": "^frame:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
315
+ },
316
+ "origin": {
317
+ "type": "object",
318
+ "properties": {
319
+ "eastM": {
320
+ "type": "number"
321
+ },
322
+ "northM": {
323
+ "type": "number"
324
+ }
325
+ },
326
+ "required": [
327
+ "eastM",
328
+ "northM"
329
+ ],
330
+ "additionalProperties": false
331
+ },
332
+ "timeOrigin": {
333
+ "type": "string",
334
+ "format": "date-time",
335
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
336
+ },
337
+ "mode": {
338
+ "type": "string",
339
+ "const": "rotating_scan"
340
+ },
341
+ "dataOrigin": {
342
+ "type": "string",
343
+ "enum": [
344
+ "synthetic",
345
+ "instrument"
346
+ ]
347
+ },
348
+ "bearingConvention": {
349
+ "type": "string",
350
+ "const": "clockwise_from_north"
351
+ },
352
+ "rangeConvention": {
353
+ "type": "string",
354
+ "const": "horizontal_range"
355
+ },
356
+ "beamReference": {
357
+ "type": "string",
358
+ "const": "north"
359
+ },
360
+ "platform": {
361
+ "not": {}
362
+ },
363
+ "preprocessing": {
364
+ "type": "object",
365
+ "properties": {
366
+ "kind": {
367
+ "type": "string",
368
+ "const": "reference_mean_subtraction"
369
+ },
370
+ "referenceAcquisitionRef": {
371
+ "type": "string",
372
+ "pattern": "^acquisition:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
373
+ },
374
+ "referenceAcquisitionProductRef": {
375
+ "type": "string",
376
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
377
+ },
378
+ "referenceChannelId": {
379
+ "type": "string",
380
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
381
+ },
382
+ "arithmetic": {
383
+ "type": "string",
384
+ "const": "float32_outputs"
385
+ },
386
+ "exclusionMeaning": {
387
+ "type": "string",
388
+ "const": "detector_policy"
389
+ }
390
+ },
391
+ "required": [
392
+ "kind",
393
+ "referenceAcquisitionRef",
394
+ "referenceAcquisitionProductRef",
395
+ "referenceChannelId",
396
+ "arithmetic",
397
+ "exclusionMeaning"
398
+ ],
399
+ "additionalProperties": false
400
+ },
401
+ "projection": {
402
+ "not": {}
403
+ },
404
+ "beamWidthConvention": {
405
+ "type": "string",
406
+ "const": "full_width_half_maximum_power"
407
+ },
408
+ "processingAvailability": {
409
+ "type": "string",
410
+ "const": "scan_end"
411
+ },
412
+ "detectionPosition": {
413
+ "oneOf": [
414
+ {
415
+ "type": "object",
416
+ "properties": {
417
+ "kind": {
418
+ "type": "string",
419
+ "const": "cell_center"
420
+ }
421
+ },
422
+ "required": [
423
+ "kind"
424
+ ],
425
+ "additionalProperties": false
426
+ },
427
+ {
428
+ "type": "object",
429
+ "properties": {
430
+ "kind": {
431
+ "type": "string",
432
+ "const": "power_weighted_neighborhood"
433
+ },
434
+ "azimuthRadius": {
435
+ "type": "integer",
436
+ "minimum": 1,
437
+ "maximum": 32
438
+ },
439
+ "rangeRadius": {
440
+ "type": "integer",
441
+ "minimum": 1,
442
+ "maximum": 32
443
+ },
444
+ "backgroundPower": {
445
+ "type": "number",
446
+ "minimum": 0
447
+ }
448
+ },
449
+ "required": [
450
+ "kind",
451
+ "azimuthRadius",
452
+ "rangeRadius",
453
+ "backgroundPower"
454
+ ],
455
+ "additionalProperties": false
456
+ }
457
+ ]
458
+ },
459
+ "products": {
460
+ "type": "object",
461
+ "properties": {
462
+ "scanSchedule": {
463
+ "type": "string",
464
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
465
+ },
466
+ "returns": {
467
+ "type": "string",
468
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
469
+ },
470
+ "thresholds": {
471
+ "type": "string",
472
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
473
+ },
474
+ "detections": {
475
+ "type": "string",
476
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
477
+ },
478
+ "tracks": {
479
+ "type": "string",
480
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
481
+ },
482
+ "associations": {
483
+ "type": "string",
484
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
485
+ },
486
+ "truth": {
487
+ "type": "string",
488
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
489
+ },
490
+ "platformPose": {
491
+ "not": {}
492
+ },
493
+ "siteFeatures": {
494
+ "type": "string",
495
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
496
+ },
497
+ "referenceCapture": {
498
+ "type": "string",
499
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
500
+ },
501
+ "backgroundPower": {
502
+ "type": "string",
503
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
504
+ },
505
+ "eligibility": {
506
+ "type": "string",
507
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
508
+ },
509
+ "processedReturns": {
510
+ "type": "string",
511
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
512
+ }
513
+ },
514
+ "required": [
515
+ "scanSchedule",
516
+ "returns",
517
+ "thresholds",
518
+ "detections",
519
+ "tracks",
520
+ "associations",
521
+ "referenceCapture",
522
+ "backgroundPower",
523
+ "eligibility",
524
+ "processedReturns"
525
+ ],
526
+ "additionalProperties": false
527
+ },
528
+ "uncertainty": {
529
+ "type": "object",
530
+ "properties": {
531
+ "kind": {
532
+ "type": "string",
533
+ "const": "gaussian_position_covariance"
534
+ },
535
+ "axes": {
536
+ "type": "array",
537
+ "prefixItems": [
538
+ {
539
+ "type": "string",
540
+ "const": "east"
541
+ },
542
+ {
543
+ "type": "string",
544
+ "const": "north"
545
+ }
546
+ ],
547
+ "minItems": 2,
548
+ "maxItems": 2
549
+ },
550
+ "unit": {
551
+ "type": "string",
552
+ "const": "m2"
553
+ },
554
+ "confidenceProbability": {
555
+ "type": "number",
556
+ "exclusiveMinimum": 0,
557
+ "exclusiveMaximum": 1
558
+ },
559
+ "conditioning": {
560
+ "not": {}
561
+ }
562
+ },
563
+ "required": [
564
+ "kind",
565
+ "axes",
566
+ "unit",
567
+ "confidenceProbability"
568
+ ],
569
+ "additionalProperties": false
570
+ }
571
+ },
572
+ "required": [
573
+ "kind",
574
+ "schemaVersion",
575
+ "id",
576
+ "observationId",
577
+ "contextId",
578
+ "sourceSelectionId",
579
+ "acquisitionRef",
580
+ "acquisitionProductRef",
581
+ "channelId",
582
+ "frameRef",
583
+ "origin",
584
+ "timeOrigin",
585
+ "mode",
586
+ "dataOrigin",
587
+ "bearingConvention",
588
+ "rangeConvention",
589
+ "preprocessing",
590
+ "beamWidthConvention",
591
+ "processingAvailability",
592
+ "detectionPosition",
593
+ "products",
594
+ "uncertainty"
595
+ ],
596
+ "additionalProperties": false
597
+ },
598
+ {
599
+ "type": "object",
600
+ "properties": {
601
+ "kind": {
602
+ "type": "string",
603
+ "const": "radar_profile"
604
+ },
605
+ "schemaVersion": {
606
+ "type": "string",
607
+ "const": "0.1.0"
608
+ },
609
+ "id": {
610
+ "type": "string",
611
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
612
+ },
613
+ "observationId": {
614
+ "type": "string",
615
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
616
+ },
617
+ "contextId": {
618
+ "type": "string",
619
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
620
+ },
621
+ "sourceSelectionId": {
622
+ "type": "string",
623
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
624
+ },
625
+ "acquisitionRef": {
626
+ "type": "string",
627
+ "pattern": "^acquisition:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
628
+ },
629
+ "acquisitionProductRef": {
630
+ "type": "string",
631
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
632
+ },
633
+ "channelId": {
634
+ "type": "string",
635
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
636
+ },
637
+ "frameRef": {
638
+ "type": "string",
639
+ "pattern": "^frame:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
640
+ },
641
+ "origin": {
642
+ "type": "object",
643
+ "properties": {
644
+ "eastM": {
645
+ "type": "number"
646
+ },
647
+ "northM": {
648
+ "type": "number"
649
+ }
650
+ },
651
+ "required": [
652
+ "eastM",
653
+ "northM"
654
+ ],
655
+ "additionalProperties": false
656
+ },
657
+ "timeOrigin": {
658
+ "type": "string",
659
+ "format": "date-time",
660
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
661
+ },
662
+ "mode": {
663
+ "type": "string",
664
+ "const": "rotating_scan"
665
+ },
666
+ "dataOrigin": {
667
+ "type": "string",
668
+ "enum": [
669
+ "synthetic",
670
+ "instrument"
671
+ ]
672
+ },
673
+ "bearingConvention": {
674
+ "type": "string",
675
+ "const": "clockwise_from_north"
676
+ },
677
+ "rangeConvention": {
678
+ "type": "string",
679
+ "const": "horizontal_range"
680
+ },
681
+ "beamReference": {
682
+ "type": "string",
683
+ "enum": [
684
+ "north",
685
+ "platform_heading"
686
+ ]
687
+ },
688
+ "platform": {
689
+ "type": "object",
690
+ "properties": {
691
+ "kind": {
692
+ "type": "string",
693
+ "const": "moving"
694
+ },
695
+ "environment": {
696
+ "type": "string",
697
+ "enum": [
698
+ "airborne",
699
+ "shipborne"
700
+ ]
701
+ },
702
+ "poseSampling": {
703
+ "type": "string",
704
+ "const": "dwell_midpoint"
705
+ },
706
+ "attitudeModel": {
707
+ "type": "string",
708
+ "const": "level_yaw_only"
709
+ }
710
+ },
711
+ "required": [
712
+ "kind",
713
+ "environment",
714
+ "poseSampling",
715
+ "attitudeModel"
716
+ ],
717
+ "additionalProperties": false
718
+ },
719
+ "preprocessing": {
720
+ "not": {}
721
+ },
722
+ "projection": {
723
+ "not": {}
724
+ },
725
+ "beamWidthConvention": {
726
+ "type": "string",
727
+ "const": "full_width_half_maximum_power"
728
+ },
729
+ "processingAvailability": {
730
+ "type": "string",
731
+ "const": "scan_end"
732
+ },
733
+ "detectionPosition": {
734
+ "oneOf": [
735
+ {
736
+ "type": "object",
737
+ "properties": {
738
+ "kind": {
739
+ "type": "string",
740
+ "const": "cell_center"
741
+ }
742
+ },
743
+ "required": [
744
+ "kind"
745
+ ],
746
+ "additionalProperties": false
747
+ },
748
+ {
749
+ "type": "object",
750
+ "properties": {
751
+ "kind": {
752
+ "type": "string",
753
+ "const": "power_weighted_neighborhood"
754
+ },
755
+ "azimuthRadius": {
756
+ "type": "integer",
757
+ "minimum": 1,
758
+ "maximum": 32
759
+ },
760
+ "rangeRadius": {
761
+ "type": "integer",
762
+ "minimum": 1,
763
+ "maximum": 32
764
+ },
765
+ "backgroundPower": {
766
+ "type": "number",
767
+ "minimum": 0
768
+ }
769
+ },
770
+ "required": [
771
+ "kind",
772
+ "azimuthRadius",
773
+ "rangeRadius",
774
+ "backgroundPower"
775
+ ],
776
+ "additionalProperties": false
777
+ }
778
+ ]
779
+ },
780
+ "products": {
781
+ "type": "object",
782
+ "properties": {
783
+ "scanSchedule": {
784
+ "type": "string",
785
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
786
+ },
787
+ "returns": {
788
+ "type": "string",
789
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
790
+ },
791
+ "thresholds": {
792
+ "type": "string",
793
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
794
+ },
795
+ "detections": {
796
+ "type": "string",
797
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
798
+ },
799
+ "tracks": {
800
+ "type": "string",
801
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
802
+ },
803
+ "associations": {
804
+ "type": "string",
805
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
806
+ },
807
+ "truth": {
808
+ "type": "string",
809
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
810
+ },
811
+ "platformPose": {
812
+ "type": "string",
813
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
814
+ },
815
+ "siteFeatures": {
816
+ "type": "string",
817
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
818
+ }
819
+ },
820
+ "required": [
821
+ "scanSchedule",
822
+ "returns",
823
+ "thresholds",
824
+ "detections",
825
+ "tracks",
826
+ "associations",
827
+ "platformPose"
828
+ ],
829
+ "additionalProperties": false
830
+ },
831
+ "uncertainty": {
832
+ "type": "object",
833
+ "properties": {
834
+ "kind": {
835
+ "type": "string",
836
+ "const": "gaussian_position_covariance"
837
+ },
838
+ "axes": {
839
+ "type": "array",
840
+ "prefixItems": [
841
+ {
842
+ "type": "string",
843
+ "const": "east"
844
+ },
845
+ {
846
+ "type": "string",
847
+ "const": "north"
848
+ }
849
+ ],
850
+ "minItems": 2,
851
+ "maxItems": 2
852
+ },
853
+ "unit": {
854
+ "type": "string",
855
+ "const": "m2"
856
+ },
857
+ "confidenceProbability": {
858
+ "type": "number",
859
+ "exclusiveMinimum": 0,
860
+ "exclusiveMaximum": 1
861
+ },
862
+ "conditioning": {
863
+ "type": "string",
864
+ "const": "declared_pose_and_projection"
865
+ }
866
+ },
867
+ "required": [
868
+ "kind",
869
+ "axes",
870
+ "unit",
871
+ "confidenceProbability",
872
+ "conditioning"
873
+ ],
874
+ "additionalProperties": false
875
+ }
876
+ },
877
+ "required": [
878
+ "kind",
879
+ "schemaVersion",
880
+ "id",
881
+ "observationId",
882
+ "contextId",
883
+ "sourceSelectionId",
884
+ "acquisitionRef",
885
+ "acquisitionProductRef",
886
+ "channelId",
887
+ "frameRef",
888
+ "origin",
889
+ "timeOrigin",
890
+ "mode",
891
+ "dataOrigin",
892
+ "bearingConvention",
893
+ "rangeConvention",
894
+ "beamReference",
895
+ "platform",
896
+ "beamWidthConvention",
897
+ "processingAvailability",
898
+ "detectionPosition",
899
+ "products",
900
+ "uncertainty"
901
+ ],
902
+ "additionalProperties": false
903
+ },
904
+ {
905
+ "type": "object",
906
+ "properties": {
907
+ "kind": {
908
+ "type": "string",
909
+ "const": "radar_profile"
910
+ },
911
+ "schemaVersion": {
912
+ "type": "string",
913
+ "const": "0.1.0"
914
+ },
915
+ "id": {
916
+ "type": "string",
917
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
918
+ },
919
+ "observationId": {
920
+ "type": "string",
921
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
922
+ },
923
+ "contextId": {
924
+ "type": "string",
925
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
926
+ },
927
+ "sourceSelectionId": {
928
+ "type": "string",
929
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
930
+ },
931
+ "acquisitionRef": {
932
+ "type": "string",
933
+ "pattern": "^acquisition:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
934
+ },
935
+ "acquisitionProductRef": {
936
+ "type": "string",
937
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
938
+ },
939
+ "channelId": {
940
+ "type": "string",
941
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
942
+ },
943
+ "frameRef": {
944
+ "type": "string",
945
+ "pattern": "^frame:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
946
+ },
947
+ "origin": {
948
+ "type": "object",
949
+ "properties": {
950
+ "eastM": {
951
+ "type": "number"
952
+ },
953
+ "northM": {
954
+ "type": "number"
955
+ }
956
+ },
957
+ "required": [
958
+ "eastM",
959
+ "northM"
960
+ ],
961
+ "additionalProperties": false
962
+ },
963
+ "timeOrigin": {
964
+ "type": "string",
965
+ "format": "date-time",
966
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
967
+ },
968
+ "mode": {
969
+ "type": "string",
970
+ "const": "rotating_scan"
971
+ },
972
+ "dataOrigin": {
973
+ "type": "string",
974
+ "enum": [
975
+ "synthetic",
976
+ "instrument"
977
+ ]
978
+ },
979
+ "bearingConvention": {
980
+ "type": "string",
981
+ "const": "clockwise_from_north"
982
+ },
983
+ "rangeConvention": {
984
+ "type": "string",
985
+ "const": "slant_range"
986
+ },
987
+ "beamReference": {
988
+ "type": "string",
989
+ "enum": [
990
+ "north",
991
+ "platform_heading"
992
+ ]
993
+ },
994
+ "platform": {
995
+ "type": "object",
996
+ "properties": {
997
+ "kind": {
998
+ "type": "string",
999
+ "const": "moving"
1000
+ },
1001
+ "environment": {
1002
+ "type": "string",
1003
+ "enum": [
1004
+ "airborne",
1005
+ "shipborne"
1006
+ ]
1007
+ },
1008
+ "poseSampling": {
1009
+ "type": "string",
1010
+ "const": "dwell_midpoint"
1011
+ },
1012
+ "attitudeModel": {
1013
+ "type": "string",
1014
+ "const": "level_yaw_only"
1015
+ }
1016
+ },
1017
+ "required": [
1018
+ "kind",
1019
+ "environment",
1020
+ "poseSampling",
1021
+ "attitudeModel"
1022
+ ],
1023
+ "additionalProperties": false
1024
+ },
1025
+ "preprocessing": {
1026
+ "not": {}
1027
+ },
1028
+ "projection": {
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "kind": {
1032
+ "type": "string",
1033
+ "const": "declared_horizontal_plane"
1034
+ },
1035
+ "upM": {
1036
+ "type": "number"
1037
+ },
1038
+ "assumption": {
1039
+ "type": "string",
1040
+ "const": "all_returns_on_plane"
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "kind",
1045
+ "upM",
1046
+ "assumption"
1047
+ ],
1048
+ "additionalProperties": false
1049
+ },
1050
+ "beamWidthConvention": {
1051
+ "type": "string",
1052
+ "const": "full_width_half_maximum_power"
1053
+ },
1054
+ "processingAvailability": {
1055
+ "type": "string",
1056
+ "const": "scan_end"
1057
+ },
1058
+ "detectionPosition": {
1059
+ "oneOf": [
1060
+ {
1061
+ "type": "object",
1062
+ "properties": {
1063
+ "kind": {
1064
+ "type": "string",
1065
+ "const": "cell_center"
1066
+ }
1067
+ },
1068
+ "required": [
1069
+ "kind"
1070
+ ],
1071
+ "additionalProperties": false
1072
+ },
1073
+ {
1074
+ "type": "object",
1075
+ "properties": {
1076
+ "kind": {
1077
+ "type": "string",
1078
+ "const": "power_weighted_neighborhood"
1079
+ },
1080
+ "azimuthRadius": {
1081
+ "type": "integer",
1082
+ "minimum": 1,
1083
+ "maximum": 32
1084
+ },
1085
+ "rangeRadius": {
1086
+ "type": "integer",
1087
+ "minimum": 1,
1088
+ "maximum": 32
1089
+ },
1090
+ "backgroundPower": {
1091
+ "type": "number",
1092
+ "minimum": 0
1093
+ }
1094
+ },
1095
+ "required": [
1096
+ "kind",
1097
+ "azimuthRadius",
1098
+ "rangeRadius",
1099
+ "backgroundPower"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ }
1103
+ ]
1104
+ },
1105
+ "products": {
1106
+ "type": "object",
1107
+ "properties": {
1108
+ "scanSchedule": {
1109
+ "type": "string",
1110
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1111
+ },
1112
+ "returns": {
1113
+ "type": "string",
1114
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1115
+ },
1116
+ "thresholds": {
1117
+ "type": "string",
1118
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1119
+ },
1120
+ "detections": {
1121
+ "type": "string",
1122
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1123
+ },
1124
+ "tracks": {
1125
+ "type": "string",
1126
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1127
+ },
1128
+ "associations": {
1129
+ "type": "string",
1130
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1131
+ },
1132
+ "truth": {
1133
+ "type": "string",
1134
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1135
+ },
1136
+ "platformPose": {
1137
+ "type": "string",
1138
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1139
+ },
1140
+ "siteFeatures": {
1141
+ "type": "string",
1142
+ "pattern": "^product:[A-Za-z0-9][A-Za-z0-9._-]*(?![\\s\\S])"
1143
+ }
1144
+ },
1145
+ "required": [
1146
+ "scanSchedule",
1147
+ "returns",
1148
+ "thresholds",
1149
+ "detections",
1150
+ "tracks",
1151
+ "associations",
1152
+ "platformPose"
1153
+ ],
1154
+ "additionalProperties": false
1155
+ },
1156
+ "uncertainty": {
1157
+ "type": "object",
1158
+ "properties": {
1159
+ "kind": {
1160
+ "type": "string",
1161
+ "const": "gaussian_position_covariance"
1162
+ },
1163
+ "axes": {
1164
+ "type": "array",
1165
+ "prefixItems": [
1166
+ {
1167
+ "type": "string",
1168
+ "const": "east"
1169
+ },
1170
+ {
1171
+ "type": "string",
1172
+ "const": "north"
1173
+ }
1174
+ ],
1175
+ "minItems": 2,
1176
+ "maxItems": 2
1177
+ },
1178
+ "unit": {
1179
+ "type": "string",
1180
+ "const": "m2"
1181
+ },
1182
+ "confidenceProbability": {
1183
+ "type": "number",
1184
+ "exclusiveMinimum": 0,
1185
+ "exclusiveMaximum": 1
1186
+ },
1187
+ "conditioning": {
1188
+ "type": "string",
1189
+ "const": "declared_pose_and_projection"
1190
+ }
1191
+ },
1192
+ "required": [
1193
+ "kind",
1194
+ "axes",
1195
+ "unit",
1196
+ "confidenceProbability",
1197
+ "conditioning"
1198
+ ],
1199
+ "additionalProperties": false
1200
+ }
1201
+ },
1202
+ "required": [
1203
+ "kind",
1204
+ "schemaVersion",
1205
+ "id",
1206
+ "observationId",
1207
+ "contextId",
1208
+ "sourceSelectionId",
1209
+ "acquisitionRef",
1210
+ "acquisitionProductRef",
1211
+ "channelId",
1212
+ "frameRef",
1213
+ "origin",
1214
+ "timeOrigin",
1215
+ "mode",
1216
+ "dataOrigin",
1217
+ "bearingConvention",
1218
+ "rangeConvention",
1219
+ "beamReference",
1220
+ "platform",
1221
+ "projection",
1222
+ "beamWidthConvention",
1223
+ "processingAvailability",
1224
+ "detectionPosition",
1225
+ "products",
1226
+ "uncertainty"
1227
+ ],
1228
+ "additionalProperties": false
1229
+ }
1230
+ ],
1231
+ "$id": "urn:disclosureos:experimental:radar-profile:0.1.0"
1232
+ }