@tak-ps/node-cot 14.47.0 → 14.48.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.
- package/CHANGELOG.md +4 -0
- package/dist/lib/parser/to_geojson.d.ts +8 -1
- package/dist/lib/parser/to_geojson.js +10 -1
- package/dist/lib/parser/to_geojson.js.map +1 -1
- package/dist/lib/parser.d.ts +3 -1
- package/dist/lib/parser.js +2 -2
- package/dist/lib/parser.js.map +1 -1
- package/dist/package.json +1 -1
- package/lib/parser/to_geojson.ts +22 -1
- package/lib/parser.ts +4 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
|
|
13
13
|
### Pending Fixed
|
|
14
14
|
|
|
15
|
+
### v14.48.0 - 2025-07-23
|
|
16
|
+
|
|
17
|
+
- :rocket: Update normalize function to allow 2525E => type
|
|
18
|
+
|
|
15
19
|
### v14.47.0 - 2025-07-21
|
|
16
20
|
|
|
17
21
|
- :tada: Allow a numeric 2525D/2525E SIDC to be provided on the GeoJSON `type` property - it is mapped to a basic CoT Atom type (`a-<affiliation>-<battle dimension>`) and the SIDC is placed in the `milicon` property
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import type { Static } from '@sinclair/typebox';
|
|
2
2
|
import type { Feature } from '../types/feature.js';
|
|
3
3
|
import CoT from '../cot.js';
|
|
4
|
+
export interface ToGeoJSONOptions {
|
|
5
|
+
/**
|
|
6
|
+
* If a numeric 2525D/E SIDC is present in the milicon detail, surface it
|
|
7
|
+
* as the GeoJSON type property in place of a generic CoT Atom type
|
|
8
|
+
*/
|
|
9
|
+
normalize2525?: boolean;
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Return a GeoJSON Feature from an XML CoT message
|
|
6
13
|
*/
|
|
7
|
-
export declare function to_geojson(cot: CoT): Promise<Static<typeof Feature>>;
|
|
14
|
+
export declare function to_geojson(cot: CoT, opts?: ToGeoJSONOptions): Promise<Static<typeof Feature>>;
|
|
@@ -3,6 +3,7 @@ import Ellipse from '@turf/ellipse';
|
|
|
3
3
|
import Truncate from '@turf/truncate';
|
|
4
4
|
import { destination } from '@turf/destination';
|
|
5
5
|
import Color from '../utils/color.js';
|
|
6
|
+
import Type2525 from '../utils/2525.js';
|
|
6
7
|
import JSONCoT from '../types/types.js';
|
|
7
8
|
import CoT from '../cot.js';
|
|
8
9
|
// GeoJSON Geospatial ops will truncate to the below
|
|
@@ -11,7 +12,7 @@ const ELLIPSE_TYPE_PREFIXES = ['u-d-c-c', 'u-r-b-c-c', 'u-d-c-e'];
|
|
|
11
12
|
/**
|
|
12
13
|
* Return a GeoJSON Feature from an XML CoT message
|
|
13
14
|
*/
|
|
14
|
-
export async function to_geojson(cot) {
|
|
15
|
+
export async function to_geojson(cot, opts = {}) {
|
|
15
16
|
const raw = JSON.parse(JSON.stringify(cot.raw));
|
|
16
17
|
if (!raw.event.detail)
|
|
17
18
|
raw.event.detail = {};
|
|
@@ -62,6 +63,14 @@ export async function to_geojson(cot) {
|
|
|
62
63
|
feat.properties.milicon = {
|
|
63
64
|
id: raw.event.detail.__milicon._attributes.id
|
|
64
65
|
};
|
|
66
|
+
// The milsym augment stores a numeric SIDC in the milicon detail - surface
|
|
67
|
+
// it as the GeoJSON type as both consumers & from_geojson treat a
|
|
68
|
+
// 2525D/E SIDC on the type property as first-class
|
|
69
|
+
if (opts.normalize2525
|
|
70
|
+
&& feat.properties.type.startsWith('a-')
|
|
71
|
+
&& Type2525.isNumericSIDCConvertable(feat.properties.milicon.id)) {
|
|
72
|
+
feat.properties.type = feat.properties.milicon.id;
|
|
73
|
+
}
|
|
65
74
|
}
|
|
66
75
|
if (raw.event.detail.sensor) {
|
|
67
76
|
feat.properties.sensor = raw.event.detail.sensor._attributes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_geojson.js","sourceRoot":"","sources":["../../../lib/parser/to_geojson.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to_geojson.js","sourceRoot":"","sources":["../../../lib/parser/to_geojson.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/parser.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Static } from '@sinclair/typebox';
|
|
2
|
+
import type { ToGeoJSONOptions } from './parser/to_geojson.js';
|
|
3
|
+
export type { ToGeoJSONOptions } from './parser/to_geojson.js';
|
|
2
4
|
import type { Feature } from './types/feature.js';
|
|
3
5
|
import type { GeoJSONFeature } from './types/geojson.js';
|
|
4
6
|
import { InputFeature } from './types/feature.js';
|
|
@@ -39,7 +41,7 @@ export declare class CoTParser {
|
|
|
39
41
|
/**
|
|
40
42
|
* Return a GeoJSON Feature from an XML CoT message
|
|
41
43
|
*/
|
|
42
|
-
static to_geojson(cot: CoT): Promise<Static<typeof Feature>>;
|
|
44
|
+
static to_geojson(cot: CoT, opts?: ToGeoJSONOptions): Promise<Static<typeof Feature>>;
|
|
43
45
|
/**
|
|
44
46
|
* Parse an ATAK compliant Protobuf to a JS Object
|
|
45
47
|
*/
|
package/dist/lib/parser.js
CHANGED
|
@@ -167,8 +167,8 @@ export class CoTParser {
|
|
|
167
167
|
/**
|
|
168
168
|
* Return a GeoJSON Feature from an XML CoT message
|
|
169
169
|
*/
|
|
170
|
-
static async to_geojson(cot) {
|
|
171
|
-
return await to_geojson(cot);
|
|
170
|
+
static async to_geojson(cot, opts = {}) {
|
|
171
|
+
return await to_geojson(cot, opts);
|
|
172
172
|
}
|
|
173
173
|
/**
|
|
174
174
|
* Parse an ATAK compliant Protobuf to a JS Object
|
package/dist/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../lib/parser.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../lib/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
package/lib/parser/to_geojson.ts
CHANGED
|
@@ -26,6 +26,7 @@ import Ellipse from '@turf/ellipse';
|
|
|
26
26
|
import Truncate from '@turf/truncate';
|
|
27
27
|
import { destination } from '@turf/destination';
|
|
28
28
|
import Color from '../utils/color.js';
|
|
29
|
+
import Type2525 from '../utils/2525.js';
|
|
29
30
|
import JSONCoT from '../types/types.js'
|
|
30
31
|
import CoT from '../cot.js';
|
|
31
32
|
|
|
@@ -33,11 +34,20 @@ import CoT from '../cot.js';
|
|
|
33
34
|
const COORDINATE_PRECISION = 6;
|
|
34
35
|
const ELLIPSE_TYPE_PREFIXES = ['u-d-c-c', 'u-r-b-c-c', 'u-d-c-e'];
|
|
35
36
|
|
|
37
|
+
export interface ToGeoJSONOptions {
|
|
38
|
+
/**
|
|
39
|
+
* If a numeric 2525D/E SIDC is present in the milicon detail, surface it
|
|
40
|
+
* as the GeoJSON type property in place of a generic CoT Atom type
|
|
41
|
+
*/
|
|
42
|
+
normalize2525?: boolean;
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
/**
|
|
37
46
|
* Return a GeoJSON Feature from an XML CoT message
|
|
38
47
|
*/
|
|
39
48
|
export async function to_geojson(
|
|
40
|
-
cot: CoT
|
|
49
|
+
cot: CoT,
|
|
50
|
+
opts: ToGeoJSONOptions = {}
|
|
41
51
|
): Promise<Static<typeof Feature>> {
|
|
42
52
|
const raw: Static<typeof JSONCoT> = JSON.parse(JSON.stringify(cot.raw));
|
|
43
53
|
if (!raw.event.detail) raw.event.detail = {};
|
|
@@ -93,6 +103,17 @@ export async function to_geojson(
|
|
|
93
103
|
feat.properties.milicon = {
|
|
94
104
|
id: raw.event.detail.__milicon._attributes.id
|
|
95
105
|
}
|
|
106
|
+
|
|
107
|
+
// The milsym augment stores a numeric SIDC in the milicon detail - surface
|
|
108
|
+
// it as the GeoJSON type as both consumers & from_geojson treat a
|
|
109
|
+
// 2525D/E SIDC on the type property as first-class
|
|
110
|
+
if (
|
|
111
|
+
opts.normalize2525
|
|
112
|
+
&& feat.properties.type.startsWith('a-')
|
|
113
|
+
&& Type2525.isNumericSIDCConvertable(feat.properties.milicon.id)
|
|
114
|
+
) {
|
|
115
|
+
feat.properties.type = feat.properties.milicon.id;
|
|
116
|
+
}
|
|
96
117
|
}
|
|
97
118
|
|
|
98
119
|
if (raw.event.detail.sensor) {
|
package/lib/parser.ts
CHANGED
|
@@ -6,6 +6,8 @@ import type { Static } from '@sinclair/typebox';
|
|
|
6
6
|
import { from_geojson } from './parser/from_geojson.js';
|
|
7
7
|
import { normalize_geojson } from './parser/normalize_geojson.js';
|
|
8
8
|
import { to_geojson } from './parser/to_geojson.js';
|
|
9
|
+
import type { ToGeoJSONOptions } from './parser/to_geojson.js';
|
|
10
|
+
export type { ToGeoJSONOptions } from './parser/to_geojson.js';
|
|
9
11
|
import type {
|
|
10
12
|
Feature,
|
|
11
13
|
} from './types/feature.js';
|
|
@@ -238,8 +240,8 @@ export class CoTParser {
|
|
|
238
240
|
/**
|
|
239
241
|
* Return a GeoJSON Feature from an XML CoT message
|
|
240
242
|
*/
|
|
241
|
-
static async to_geojson(cot: CoT): Promise<Static<typeof Feature>> {
|
|
242
|
-
return await to_geojson(cot);
|
|
243
|
+
static async to_geojson(cot: CoT, opts: ToGeoJSONOptions = {}): Promise<Static<typeof Feature>> {
|
|
244
|
+
return await to_geojson(cot, opts);
|
|
243
245
|
}
|
|
244
246
|
|
|
245
247
|
/**
|
package/package.json
CHANGED