@tak-ps/node-cot 12.17.1 → 12.19.0

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 (129) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/lib/cot.js +1 -1
  3. package/dist/lib/cot.js.map +1 -1
  4. package/dist/lib/data-package.js +64 -16
  5. package/dist/lib/data-package.js.map +1 -1
  6. package/dist/lib/types/feature.js +3 -9
  7. package/dist/lib/types/feature.js.map +1 -1
  8. package/dist/lib/types/iconset.js +12 -4
  9. package/dist/lib/types/iconset.js.map +1 -1
  10. package/dist/lib/types/types.js +7 -6
  11. package/dist/lib/types/types.js.map +1 -1
  12. package/dist/lib/xml/basemap.js +1 -1
  13. package/dist/lib/xml/basemap.js.map +1 -1
  14. package/dist/lib/xml/iconset.js +29 -2
  15. package/dist/lib/xml/iconset.js.map +1 -1
  16. package/dist/package.json +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/lib/cot.ts +1 -1
  19. package/lib/data-package.ts +70 -17
  20. package/lib/types/feature.ts +3 -8
  21. package/lib/types/iconset.ts +14 -4
  22. package/lib/types/types.ts +8 -6
  23. package/lib/xml/basemap.ts +2 -2
  24. package/lib/xml/iconset.ts +36 -3
  25. package/lib/xml-document.ts +1 -1
  26. package/package.json +1 -1
  27. package/tsconfig.json +1 -0
  28. package/dist/test/basemaps.test.js +0 -16
  29. package/dist/test/basemaps.test.js.map +0 -1
  30. package/dist/test/chat.test.js +0 -97
  31. package/dist/test/chat.test.js.map +0 -1
  32. package/dist/test/cot-fileshare.test.js +0 -89
  33. package/dist/test/cot-fileshare.test.js.map +0 -1
  34. package/dist/test/cot-itak.test.js +0 -95
  35. package/dist/test/cot-itak.test.js.map +0 -1
  36. package/dist/test/cot-mma.test.js +0 -108
  37. package/dist/test/cot-mma.test.js.map +0 -1
  38. package/dist/test/cot-polyline.test.js +0 -98
  39. package/dist/test/cot-polyline.test.js.map +0 -1
  40. package/dist/test/cot-range-and-bearing.test.js +0 -98
  41. package/dist/test/cot-range-and-bearing.test.js.map +0 -1
  42. package/dist/test/cot-routes.test.js +0 -466
  43. package/dist/test/cot-routes.test.js.map +0 -1
  44. package/dist/test/cot-types.test.js +0 -7
  45. package/dist/test/cot-types.test.js.map +0 -1
  46. package/dist/test/cot-uas-tool.test.js +0 -286
  47. package/dist/test/cot-uas-tool.test.js.map +0 -1
  48. package/dist/test/cot-video.test.js +0 -196
  49. package/dist/test/cot-video.test.js.map +0 -1
  50. package/dist/test/cot_is.test.js +0 -353
  51. package/dist/test/cot_is.test.js.map +0 -1
  52. package/dist/test/data-package.test.js +0 -234
  53. package/dist/test/data-package.test.js.map +0 -1
  54. package/dist/test/diff.test.js +0 -73
  55. package/dist/test/diff.test.js.map +0 -1
  56. package/dist/test/flow-tags.test.js +0 -19
  57. package/dist/test/flow-tags.test.js.map +0 -1
  58. package/dist/test/force-delete.js +0 -46
  59. package/dist/test/force-delete.js.map +0 -1
  60. package/dist/test/from_geojson.test.js +0 -287
  61. package/dist/test/from_geojson.test.js.map +0 -1
  62. package/dist/test/newlines.test.js +0 -79
  63. package/dist/test/newlines.test.js.map +0 -1
  64. package/dist/test/reversal-geojson.test.js +0 -15
  65. package/dist/test/reversal-geojson.test.js.map +0 -1
  66. package/dist/test/reversal-proto.test.js +0 -54
  67. package/dist/test/reversal-proto.test.js.map +0 -1
  68. package/dist/test/stream.js +0 -10
  69. package/dist/test/stream.js.map +0 -1
  70. package/dist/test/taskings-mission.test.js +0 -140
  71. package/dist/test/taskings-mission.test.js.map +0 -1
  72. package/dist/test/util.test.js +0 -25
  73. package/dist/test/util.test.js.map +0 -1
  74. package/dist/test/validation.test.js +0 -13
  75. package/dist/test/validation.test.js.map +0 -1
  76. package/test/basemaps/Bing_Hybrid.xml +0 -12
  77. package/test/basemaps/Bing_Maps.xml +0 -10
  78. package/test/basemaps/USGSBasemap.xml +0 -10
  79. package/test/basemaps/USGSImageryOnly.xml +0 -10
  80. package/test/basemaps/USGSImageryTopo.xml +0 -10
  81. package/test/basemaps/USGSShadedRelief.xml +0 -10
  82. package/test/basemaps/opentopomap.xml +0 -10
  83. package/test/basemaps.test.ts +0 -19
  84. package/test/chat.test.ts +0 -103
  85. package/test/cot-fileshare.test.ts +0 -92
  86. package/test/cot-itak.test.ts +0 -100
  87. package/test/cot-mma.test.ts +0 -111
  88. package/test/cot-polyline.test.ts +0 -103
  89. package/test/cot-range-and-bearing.test.ts +0 -100
  90. package/test/cot-routes.test.ts +0 -468
  91. package/test/cot-types.test.ts +0 -8
  92. package/test/cot-uas-tool.test.ts +0 -295
  93. package/test/cot-video.test.ts +0 -204
  94. package/test/cot_is.test.ts +0 -431
  95. package/test/data-package.test.ts +0 -314
  96. package/test/diff.test.ts +0 -80
  97. package/test/fixtures/archived.geojson +0 -20
  98. package/test/fixtures/attachments.geojson +0 -20
  99. package/test/fixtures/basic.geojson +0 -19
  100. package/test/fixtures/circle.geojson +0 -30
  101. package/test/fixtures/color.geojson +0 -21
  102. package/test/fixtures/fileshare.geojson +0 -28
  103. package/test/fixtures/geofence.geojson +0 -25
  104. package/test/fixtures/hae.geojson +0 -19
  105. package/test/fixtures/icon.geojson +0 -20
  106. package/test/fixtures/linestring.geojson +0 -28
  107. package/test/fixtures/marti-mission.geojson +0 -22
  108. package/test/fixtures/metadata.geojson +0 -24
  109. package/test/fixtures/mission-layer.geojson +0 -31
  110. package/test/fixtures/mission.geojson +0 -25
  111. package/test/fixtures/polygon.geojson +0 -33
  112. package/test/fixtures/props.geojson +0 -22
  113. package/test/fixtures/sensor.geojson +0 -31
  114. package/test/fixtures/video-connection.geojson +0 -27
  115. package/test/fixtures/video.geojson +0 -24
  116. package/test/flow-tags.test.ts +0 -21
  117. package/test/force-delete.ts +0 -50
  118. package/test/from_geojson.test.ts +0 -323
  119. package/test/newlines.test.ts +0 -83
  120. package/test/packages/AttachmentInManifest.zip +0 -0
  121. package/test/packages/COMilePosts.zip +0 -0
  122. package/test/packages/CameraCOTs.zip +0 -0
  123. package/test/packages/QuickPic.zip +0 -0
  124. package/test/reversal-geojson.test.ts +0 -19
  125. package/test/reversal-proto.test.ts +0 -60
  126. package/test/stream.ts +0 -10
  127. package/test/taskings-mission.test.ts +0 -148
  128. package/test/util.test.ts +0 -34
  129. package/test/validation.test.ts +0 -13
@@ -1,314 +0,0 @@
1
- import CoT, { DataPackage } from '../index.js'
2
- import stream2buffer from './stream.js';
3
- import fs from 'node:fs';
4
- import test from 'tape';
5
-
6
- test(`DataPackage CoT Parsing: CameraCOTs.zip`, async (t) => {
7
- const pkg = await DataPackage.parse(new URL('./packages/CameraCOTs.zip', import.meta.url).pathname);
8
-
9
- t.equals(pkg.version, '2');
10
- t.ok(pkg.path);
11
- t.deepEquals(pkg.settings, {
12
- uid: 'fd4310f2-e34a-455d-b1c2-15c06b740a04',
13
- name: '2024 streaming cameras - not for iTAK'
14
- });
15
-
16
- t.deepEquals(pkg.contents, [
17
- {
18
- _attributes: { ignore: false, zipEntry: '3ecf1e30-f374-4ae6-a051-2da7084ff57d/3ecf1e30-f374-4ae6-a051-2da7084ff57d.cot' },
19
- Parameter: { _attributes: { name: 'uid', value: '3ecf1e30-f374-4ae6-a051-2da7084ff57d' } }
20
- }
21
- ]);
22
-
23
- const cots = await pkg.cots();
24
- t.equal(cots.length, 1);
25
-
26
- const attachments = await pkg.attachments();
27
- t.equals(attachments.size, 0)
28
-
29
- const files = await pkg.files();
30
- t.equals(files.size, 0)
31
-
32
- await pkg.destroy();
33
-
34
- t.end();
35
- });
36
-
37
- test(`DataPackage CoT Writing`, async (t) => {
38
- const pkg = new DataPackage();
39
-
40
- pkg.addCoT(CoT.from_geojson({
41
- id: '123',
42
- type: 'Feature',
43
- properties: {
44
- type: 'a-h-B'
45
- },
46
- geometry: { type: 'Point', coordinates: [0,0] }
47
- }));
48
-
49
- pkg.settings.uid = 'top-123';
50
- pkg.settings.name = 'Custom 123';
51
-
52
- const path = await pkg.finalize();
53
-
54
- const pkg_parse = await DataPackage.parse(path);
55
-
56
- t.equals(pkg_parse.version, '2');
57
- t.ok(pkg_parse.path);
58
- t.deepEquals(pkg_parse.settings, {
59
- uid: 'top-123',
60
- name: 'Custom 123'
61
- });
62
-
63
- t.deepEquals(pkg_parse.contents, [
64
- {
65
- _attributes: { ignore: false, zipEntry: '123/123.cot' },
66
- Parameter: [
67
- { _attributes: { name: 'uid', value: '123' } },
68
- { _attributes: { name: 'name', value: 'UNKNOWN' } }
69
- ]
70
- }
71
- ]);
72
-
73
- const cots = await pkg_parse.cots();
74
- t.equal(cots.length, 1);
75
-
76
- const attachments = await pkg.attachments();
77
- t.equals(attachments.size, 0)
78
-
79
- const files = await pkg.files();
80
- t.equals(files.size, 0)
81
-
82
- await pkg.destroy();
83
- await pkg_parse.destroy();
84
-
85
- t.end();
86
- });
87
-
88
- test(`DataPackage CoT Writing`, async (t) => {
89
- const pkg = new DataPackage();
90
-
91
- pkg.addCoT(CoT.from_geojson({
92
- id: '123',
93
- type: 'Feature',
94
- properties: {
95
- type: 'a-h-B'
96
- },
97
- geometry: { type: 'Point', coordinates: [0,0] }
98
- }));
99
-
100
- pkg.settings.uid = 'top-123';
101
- pkg.settings.name = 'Custom 123';
102
-
103
- const path = await pkg.finalize();
104
-
105
- const pkg_parse = await DataPackage.parse(path);
106
-
107
- t.equals(pkg_parse.version, '2');
108
- t.ok(pkg_parse.path);
109
- t.deepEquals(pkg_parse.settings, {
110
- uid: 'top-123',
111
- name: 'Custom 123'
112
- });
113
-
114
- t.deepEquals(pkg_parse.contents, [
115
- {
116
- _attributes: { ignore: false, zipEntry: '123/123.cot' },
117
- Parameter: [
118
- { _attributes: { name: 'uid', value: '123' } },
119
- { _attributes: { name: 'name', value: 'UNKNOWN' } }
120
- ]
121
- }
122
- ]);
123
-
124
- const cots = await pkg_parse.cots();
125
- t.equal(cots.length, 1);
126
-
127
- const attachments = await pkg.attachments();
128
- t.equals(attachments.size, 0)
129
-
130
- const files = await pkg.files();
131
- t.equals(files.size, 0)
132
-
133
- await pkg.destroy();
134
- await pkg_parse.destroy();
135
-
136
- t.end();
137
- });
138
-
139
- test(`DataPackage CoT Parsing: QuickPic.zip`, async (t) => {
140
- const pkg = await DataPackage.parse(new URL('./packages/QuickPic.zip', import.meta.url).pathname);
141
-
142
- t.equals(await DataPackage.hash(new URL('./packages/QuickPic.zip', import.meta.url).pathname), 'bd13db0f18ccb423833cc21c0678e0224dd15ff504c1f16c43aff03e216b82a7');
143
-
144
- t.equals(pkg.version, '2');
145
- t.ok(pkg.path);
146
- t.deepEquals(pkg.settings, {
147
- uid: '3b758d3c-5b7a-4fba-a0dc-bbde18e895b5',
148
- name: '20240702_144514.jpg',
149
- onReceiveImport: 'true',
150
- onReceiveDelete: 'true',
151
- callsign: 'DFPC Ingalls.2.144535'
152
- });
153
-
154
- t.deepEquals(pkg.contents, [
155
- {
156
- _attributes: { ignore: false, zipEntry: '3b758d3c-5b7a-4fba-a0dc-bbde18e895b5/3b758d3c-5b7a-4fba-a0dc-bbde18e895b5.cot' },
157
- Parameter: { _attributes: { name: 'uid', value: '3b758d3c-5b7a-4fba-a0dc-bbde18e895b5' } }
158
- }, {
159
- _attributes: { ignore: false, zipEntry: 'e63e920689815c961ec9d873c83f08a6/20240702_144514.jpg' },
160
- Parameter: { _attributes: { name: 'uid', value: '3b758d3c-5b7a-4fba-a0dc-bbde18e895b5' } }
161
- }
162
- ]);
163
-
164
- const cots = await pkg.cots();
165
- t.equal(cots.length, 1);
166
-
167
- const attachments = await pkg.attachments();
168
- t.equals(attachments.size, 1)
169
-
170
- const files = await pkg.files();
171
- t.equals(files.size, 0)
172
-
173
- t.deepEquals(attachments.get('3b758d3c-5b7a-4fba-a0dc-bbde18e895b5'), [{
174
- _attributes: { ignore: false, zipEntry: 'e63e920689815c961ec9d873c83f08a6/20240702_144514.jpg' },
175
- Parameter: { _attributes: { name: 'uid', value: '3b758d3c-5b7a-4fba-a0dc-bbde18e895b5' } }
176
- }]);
177
-
178
- await pkg.destroy();
179
-
180
- t.end();
181
- });
182
-
183
- test(`DataPackage CoT Parsing: addFile,getFile`, async (t) => {
184
- const pkg = new DataPackage();
185
-
186
- t.equals(pkg.version, '2');
187
- t.ok(pkg.path);
188
-
189
- await pkg.addFile(fs.createReadStream(new URL('../package.json', import.meta.url).pathname), {
190
- uid: '123',
191
- name: 'package.json'
192
- })
193
-
194
- t.deepEquals(pkg.contents, [
195
- {
196
- _attributes: { ignore: false, zipEntry: '123/package.json' },
197
- Parameter: [
198
- { _attributes: { name: 'uid', value: '123' } },
199
- { _attributes: { name: 'name', value: 'package.json' } }
200
- ]
201
- }
202
- ]);
203
-
204
- const buff = await stream2buffer(await pkg.getFile('123/package.json'));
205
-
206
- t.equals(JSON.parse(buff.toString()).name, '@tak-ps/node-cot');
207
-
208
- const cots = await pkg.cots();
209
-
210
- t.equal(cots.length, 0);
211
-
212
- const attachments = await pkg.attachments();
213
-
214
- t.equals(attachments.size, 0)
215
-
216
- await pkg.destroy();
217
-
218
- t.end();
219
- });
220
-
221
- test(`DataPackage CoT Parsing: AttachmentInManifest.zip`, async (t) => {
222
- const pkg = await DataPackage.parse(new URL('./packages/AttachmentInManifest.zip', import.meta.url).pathname);
223
-
224
- t.equals(await DataPackage.hash(new URL('./packages/AttachmentInManifest.zip', import.meta.url).pathname), '3a2c1c147f7c96d86ca27c1d8bd1f45cf1f8418c28c35935284fb2c9e38a5424');
225
-
226
- t.equals(pkg.version, '2');
227
- t.ok(pkg.path);
228
- t.deepEquals(pkg.settings, {
229
- uid: 'c7f90966-f048-41fd-8951-70cd9a380cd2',
230
- name: '1000001544.jpg',
231
- onReceiveImport: 'true',
232
- onReceiveDelete: 'true',
233
- callsign: 'excl 1'
234
- });
235
-
236
- t.deepEquals(pkg.contents, [
237
- {
238
- _attributes: { ignore: false, zipEntry: 'c7f90966-f048-41fd-8951-70cd9a380cd2/c7f90966-f048-41fd-8951-70cd9a380cd2.cot' },
239
- Parameter: { _attributes: { name: 'uid', value: 'c7f90966-f048-41fd-8951-70cd9a380cd2' } }
240
- }, {
241
- _attributes: { ignore: false, zipEntry: '6988443373b26e519cfd1096665b8eaa/1000001544.jpg' },
242
- Parameter: { _attributes: { name: 'uid', value: 'c7f90966-f048-41fd-8951-70cd9a380cd2' } }
243
- }
244
- ]);
245
-
246
- const cots = await pkg.cots();
247
-
248
- t.equal(cots.length, 1);
249
-
250
- if (!cots[0].raw.event.detail) throw new Error('Detail field not set');
251
-
252
- t.deepEquals(
253
- cots[0].raw.event.detail.attachment_list,
254
- { _attributes: { hashes: '["3adefc8c1935166d3e501844549776c6fc21cc6d72f371fdda23788e6ec7181d"]' } }
255
- )
256
-
257
- const attachments = await pkg.attachments();
258
- t.equals(attachments.size, 1)
259
-
260
-
261
- const files = await pkg.files();
262
- t.equals(files.size, 0)
263
-
264
- t.deepEquals(attachments.get('c7f90966-f048-41fd-8951-70cd9a380cd2'), [{
265
- _attributes: { ignore: false, zipEntry: '6988443373b26e519cfd1096665b8eaa/1000001544.jpg' },
266
- Parameter: { _attributes: { name: 'uid', value: 'c7f90966-f048-41fd-8951-70cd9a380cd2' } }
267
- }]);
268
-
269
- await pkg.destroy();
270
-
271
- t.end();
272
- });
273
-
274
- test(`DataPackage File Parsing: COMileposts.zip`, async (t) => {
275
- const pkg = await DataPackage.parse(new URL('./packages/COMilePosts.zip', import.meta.url).pathname);
276
-
277
- t.equals(await DataPackage.hash(new URL('./packages/COMilePosts.zip', import.meta.url).pathname), '118e6b6f4cd30c855606879263f6376ca8a6f9b1694dd38ac43868ecfbe46edb');
278
-
279
- t.equals(pkg.version, '2');
280
- t.ok(pkg.path);
281
- t.deepEquals(pkg.settings, {
282
- uid: '62089a51-65d7-4c8c-9830-3bc466cd5683',
283
- name: 'CO Mileposts.kmz',
284
- onReceiveImport: 'true',
285
- onReceiveDelete: 'true'
286
- });
287
-
288
- t.deepEquals(pkg.contents, [
289
- {
290
- _attributes: { ignore: false, zipEntry: '86771c6fd3635ec4d66c3fd9501f23c1/CO Mileposts.kmz' },
291
- Parameter: [
292
- { _attributes: { name: 'name', value: 'CO Mileposts.kmz' } },
293
- { _attributes: { name: 'contentType', value: 'KML' } },
294
- { _attributes: { name: 'visible', value: 'false' } }
295
- ]
296
- }
297
- ]);
298
-
299
- const cots = await pkg.cots();
300
- t.equal(cots.length, 0);
301
-
302
- const attachments = await pkg.attachments();
303
- t.equals(attachments.size, 0)
304
-
305
-
306
- const files = await pkg.files();
307
- t.equals(files.size, 1)
308
-
309
- t.ok(files.has('86771c6fd3635ec4d66c3fd9501f23c1/CO Mileposts.kmz'));
310
-
311
- await pkg.destroy();
312
-
313
- t.end();
314
- });
package/test/diff.test.ts DELETED
@@ -1,80 +0,0 @@
1
- import test from 'tape';
2
- import CoT from '../index.js';
3
-
4
- test('CoT.diff - no diff - ignored date & meta', (t) => {
5
- const a = CoT.from_geojson({
6
- id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
7
- type: 'Feature',
8
- properties: {
9
- callsign: 'DFPC-iSchmidt',
10
- time: '2023-07-18T15:23:09.00Z',
11
- start: '2023-07-18T15:23:09.00Z',
12
- stale: '2023-07-18T15:25:09.00Z',
13
- metadata: {
14
- test: true
15
- }
16
- },
17
- geometry: {
18
- type: 'Point',
19
- coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
20
- }
21
- });
22
-
23
- const b = CoT.from_geojson({
24
- id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
25
- type: 'Feature',
26
- properties: {
27
- callsign: 'DFPC-iSchmidt',
28
- time: '2023-08-18T15:23:09.00Z',
29
- start: '2023-08-18T15:23:09.00Z',
30
- stale: '2023-08-18T15:25:09.00Z',
31
- metadata: {
32
- test: false
33
- }
34
- },
35
- geometry: {
36
- type: 'Point',
37
- coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
38
- }
39
- });
40
-
41
- t.equals(a.isDiff(b), false);
42
-
43
- t.end();
44
- });
45
-
46
- test('CoT.diff - simple diff', (t) => {
47
- const a = CoT.from_geojson({
48
- id: 'D94B9215-9BD4-4DBE-BDE1-83625F09153F',
49
- type: 'Feature',
50
- properties: {
51
- callsign: 'DFPC-iSchmidt',
52
- time: '2023-07-18T15:23:09.00Z',
53
- start: '2023-07-18T15:23:09.00Z',
54
- stale: '2023-07-18T15:25:09.00Z',
55
- },
56
- geometry: {
57
- type: 'Point',
58
- coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
59
- }
60
- });
61
-
62
- const b = CoT.from_geojson({
63
- id: 'C94B9215-9BD4-4DBE-BDE1-83625F09153F',
64
- type: 'Feature',
65
- properties: {
66
- callsign: 'DFPC-iSchmidt',
67
- time: '2023-07-18T15:23:09.00Z',
68
- start: '2023-07-18T15:23:09.00Z',
69
- stale: '2023-07-18T15:25:09.00Z',
70
- },
71
- geometry: {
72
- type: 'Point',
73
- coordinates: [ -107.72376567, 41.52309645, 1681.23725821 ]
74
- }
75
- });
76
-
77
- t.equals(a.isDiff(b), true);
78
-
79
- t.end();
80
- });
@@ -1,20 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "archived": true,
11
- "time": "2023-08-04T15:17:43.649Z",
12
- "start": "2023-08-04T15:17:43.649Z",
13
- "stale": "2023-08-04T15:17:43.649Z",
14
- "metadata": {}
15
- },
16
- "geometry": {
17
- "type": "Point",
18
- "coordinates": [1.1, 2.2, 0]
19
- }
20
- }
@@ -1,20 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "attachments": ["123", "321"],
14
- "metadata": {}
15
- },
16
- "geometry": {
17
- "type": "Point",
18
- "coordinates": [1.1, 2.2, 0]
19
- }
20
- }
@@ -1,19 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {}
14
- },
15
- "geometry": {
16
- "type": "Point",
17
- "coordinates": [1.1, 2.2, 0]
18
- }
19
- }
@@ -1,30 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "u-d-c-c",
7
- "how": "h-g-i-g-o",
8
- "callsign": "BasicTest",
9
- "center": [
10
- 1.1,
11
- 2.2,
12
- 0
13
- ],
14
- "time": "2023-08-04T15:17:43.649Z",
15
- "start": "2023-08-04T15:17:43.649Z",
16
- "stale": "2023-08-04T15:17:43.649Z",
17
- "shape": {
18
- "ellipse": {
19
- "major": 2,
20
- "minor": 2,
21
- "angle": 360
22
- }
23
- },
24
- "metadata": {}
25
- },
26
- "geometry": {
27
- "type": "Polygon",
28
- "coordinates": [ [ [ 1.100018, 2.2 ], [ 1.100018, 2.200002 ], [ 1.100018, 2.200004 ], [ 1.100017, 2.200005 ], [ 1.100017, 2.200007 ], [ 1.100016, 2.200008 ], [ 1.100015, 2.20001 ], [ 1.100014, 2.200011 ], [ 1.100013, 2.200013 ], [ 1.100011, 2.200014 ], [ 1.10001, 2.200015 ], [ 1.100008, 2.200016 ], [ 1.100007, 2.200017 ], [ 1.100005, 2.200017 ], [ 1.100004, 2.200018 ], [ 1.100002, 2.200018 ], [ 1.1, 2.200018 ], [ 1.099998, 2.200018 ], [ 1.099996, 2.200018 ], [ 1.099995, 2.200017 ], [ 1.099993, 2.200017 ], [ 1.099992, 2.200016 ], [ 1.09999, 2.200015 ], [ 1.099989, 2.200014 ], [ 1.099987, 2.200013 ], [ 1.099986, 2.200011 ], [ 1.099985, 2.20001 ], [ 1.099984, 2.200008 ], [ 1.099983, 2.200007 ], [ 1.099983, 2.200005 ], [ 1.099982, 2.200004 ], [ 1.099982, 2.200002 ], [ 1.099982, 2.2 ], [ 1.099982, 2.199998 ], [ 1.099982, 2.199996 ], [ 1.099983, 2.199995 ], [ 1.099983, 2.199993 ], [ 1.099984, 2.199992 ], [ 1.099985, 2.19999 ], [ 1.099986, 2.199989 ], [ 1.099987, 2.199987 ], [ 1.099989, 2.199986 ], [ 1.09999, 2.199985 ], [ 1.099992, 2.199984 ], [ 1.099993, 2.199983 ], [ 1.099995, 2.199983 ], [ 1.099996, 2.199982 ], [ 1.099998, 2.199982 ], [ 1.1, 2.199982 ], [ 1.100002, 2.199982 ], [ 1.100004, 2.199982 ], [ 1.100005, 2.199983 ], [ 1.100007, 2.199983 ], [ 1.100008, 2.199984 ], [ 1.10001, 2.199985 ], [ 1.100011, 2.199986 ], [ 1.100013, 2.199987 ], [ 1.100014, 2.199989 ], [ 1.100015, 2.19999 ], [ 1.100016, 2.199992 ], [ 1.100017, 2.199993 ], [ 1.100017, 2.199995 ], [ 1.100018, 2.199996 ], [ 1.100018, 2.199998 ], [ 1.100018, 2.2 ] ] ]
29
- }
30
- }
@@ -1,21 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "Blue Colour",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "marker-color": "#0000FF",
11
- "marker-opacity": 0.4,
12
- "time": "2023-08-04T15:17:43.649Z",
13
- "start": "2023-08-04T15:17:43.649Z",
14
- "stale": "2023-08-04T15:17:43.649Z",
15
- "metadata": {}
16
- },
17
- "geometry": {
18
- "type": "Point",
19
- "coordinates": [1.1, 2.2, 0]
20
- }
21
- }
@@ -1,28 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {},
14
- "fileshare": {
15
- "name": "123",
16
- "filename": "123.zip",
17
- "senderCallsign": "callsign",
18
- "senderUid": "uid",
19
- "senderUrl": "http:://0.0.0.0/",
20
- "sha256": "321",
21
- "sizeInBytes": 123
22
- }
23
- },
24
- "geometry": {
25
- "type": "Point",
26
- "coordinates": [1.1, 2.2, 0]
27
- }
28
- }
@@ -1,25 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {},
14
- "geofence":{
15
- "elevationMonitored": false,
16
- "monitor":"All",
17
- "trigger":"Entry",
18
- "tracking":"true"
19
- }
20
- },
21
- "geometry": {
22
- "type": "Point",
23
- "coordinates": [1.1, 2.2, 0]
24
- }
25
- }
@@ -1,19 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 1234 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {}
14
- },
15
- "geometry": {
16
- "type": "Point",
17
- "coordinates": [1.1, 2.2, 1234]
18
- }
19
- }
@@ -1,20 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "icon": "iconset/test.png",
14
- "metadata": {}
15
- },
16
- "geometry": {
17
- "type": "Point",
18
- "coordinates": [1.1, 2.2, 0]
19
- }
20
- }
@@ -1,28 +0,0 @@
1
- {
2
- "id": "line",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "callsign": "LineString",
7
- "type": "u-d-f",
8
- "how": "m-g",
9
- "time": "2023-08-04T15:17:43.649Z",
10
- "start": "2023-08-04T15:17:43.649Z",
11
- "stale": "2023-08-04T15:17:43.649Z",
12
- "center": [ -108.45020149425852, 39.08453755983737, 0 ],
13
- "stroke": "#FFFFFF",
14
- "stroke-opacity": 0.4,
15
- "stroke-width": 3,
16
- "stroke-style": "solid",
17
- "metadata": {}
18
- },
19
- "geometry": {
20
- "type": "LineString",
21
- "coordinates": [
22
- [ -108.45020149425852, 39.08453755983737 ],
23
- [ -108.45020149425852, 39.07732332586494 ],
24
- [ -108.44075574237374, 39.07732332586494 ],
25
- [ -108.44075574237374, 39.08453755983737 ]
26
- ]
27
- }
28
- }
@@ -1,22 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {},
14
- "dest": {
15
- "mission": "Test Mission"
16
- }
17
- },
18
- "geometry": {
19
- "type": "Point",
20
- "coordinates": [1.1, 2.2, 0]
21
- }
22
- }
@@ -1,24 +0,0 @@
1
- {
2
- "id": "123",
3
- "type": "Feature",
4
- "path": "/",
5
- "properties": {
6
- "type": "a-f-G",
7
- "how": "m-g",
8
- "callsign": "BasicTest",
9
- "center": [ 1.1, 2.2, 0 ],
10
- "time": "2023-08-04T15:17:43.649Z",
11
- "start": "2023-08-04T15:17:43.649Z",
12
- "stale": "2023-08-04T15:17:43.649Z",
13
- "metadata": {
14
- "key": "value",
15
- "strings": "that",
16
- "can": "be",
17
- "added": "to a cot message"
18
- }
19
- },
20
- "geometry": {
21
- "type": "Point",
22
- "coordinates": [1.1, 2.2, 0]
23
- }
24
- }