@bedrock-engineer/bro-xml-parser 0.3.0 → 0.4.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 (96) hide show
  1. package/README.md +21 -12
  2. package/dist/browser.d.ts +15 -5
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +7 -5
  5. package/dist/browser.js.map +1 -1
  6. package/dist/core/columns.d.ts +80 -0
  7. package/dist/core/columns.d.ts.map +1 -0
  8. package/dist/core/columns.js +100 -0
  9. package/dist/core/columns.js.map +1 -0
  10. package/dist/core/producer.d.ts +216 -0
  11. package/dist/core/producer.d.ts.map +1 -0
  12. package/dist/core/producer.js +85 -0
  13. package/dist/core/producer.js.map +1 -0
  14. package/dist/core/schema-parser.d.ts +41 -17
  15. package/dist/core/schema-parser.d.ts.map +1 -1
  16. package/dist/core/schema-parser.js +178 -73
  17. package/dist/core/schema-parser.js.map +1 -1
  18. package/dist/core/version-detector.d.ts +3 -1
  19. package/dist/core/version-detector.d.ts.map +1 -1
  20. package/dist/core/version-detector.js +37 -0
  21. package/dist/core/version-detector.js.map +1 -1
  22. package/dist/decoders/constants.d.ts +2 -0
  23. package/dist/decoders/constants.d.ts.map +1 -0
  24. package/dist/decoders/constants.js +2 -0
  25. package/dist/decoders/constants.js.map +1 -0
  26. package/dist/decoders/type-decoders.d.ts +38 -0
  27. package/dist/decoders/type-decoders.d.ts.map +1 -0
  28. package/dist/decoders/type-decoders.js +134 -0
  29. package/dist/decoders/type-decoders.js.map +1 -0
  30. package/dist/namespaces.d.ts.map +1 -1
  31. package/dist/namespaces.js +16 -0
  32. package/dist/namespaces.js.map +1 -1
  33. package/dist/node.d.ts +15 -5
  34. package/dist/node.d.ts.map +1 -1
  35. package/dist/node.js +7 -5
  36. package/dist/node.js.map +1 -1
  37. package/dist/parser.d.ts +69 -19
  38. package/dist/parser.d.ts.map +1 -1
  39. package/dist/parser.js +103 -29
  40. package/dist/parser.js.map +1 -1
  41. package/dist/producers.d.ts +36 -0
  42. package/dist/producers.d.ts.map +1 -0
  43. package/dist/producers.js +35 -0
  44. package/dist/producers.js.map +1 -0
  45. package/dist/resolvers/gld-resolvers.d.ts +30 -0
  46. package/dist/resolvers/gld-resolvers.d.ts.map +1 -0
  47. package/dist/resolvers/gld-resolvers.js +76 -0
  48. package/dist/resolvers/gld-resolvers.js.map +1 -0
  49. package/dist/resolvers/gmw-resolvers.d.ts +37 -0
  50. package/dist/resolvers/gmw-resolvers.d.ts.map +1 -0
  51. package/dist/resolvers/gmw-resolvers.js +101 -0
  52. package/dist/resolvers/gmw-resolvers.js.map +1 -0
  53. package/dist/resolvers.d.ts +2 -0
  54. package/dist/resolvers.d.ts.map +1 -1
  55. package/dist/resolvers.js +4 -0
  56. package/dist/resolvers.js.map +1 -1
  57. package/dist/schema-presets.d.ts +67 -16
  58. package/dist/schema-presets.d.ts.map +1 -1
  59. package/dist/schema-presets.js +51 -114
  60. package/dist/schema-presets.js.map +1 -1
  61. package/dist/schemas/bhrg-schema.d.ts +528 -9
  62. package/dist/schemas/bhrg-schema.d.ts.map +1 -1
  63. package/dist/schemas/bhrg-schema.js +330 -189
  64. package/dist/schemas/bhrg-schema.js.map +1 -1
  65. package/dist/schemas/bhrgt-analysis.d.ts +1057 -0
  66. package/dist/schemas/bhrgt-analysis.d.ts.map +1 -0
  67. package/dist/schemas/bhrgt-analysis.js +454 -0
  68. package/dist/schemas/bhrgt-analysis.js.map +1 -0
  69. package/dist/schemas/bore-schema.d.ts +773 -9
  70. package/dist/schemas/bore-schema.d.ts.map +1 -1
  71. package/dist/schemas/bore-schema.js +344 -292
  72. package/dist/schemas/bore-schema.js.map +1 -1
  73. package/dist/schemas/common-fields.d.ts +50 -5
  74. package/dist/schemas/common-fields.d.ts.map +1 -1
  75. package/dist/schemas/common-fields.js +70 -19
  76. package/dist/schemas/common-fields.js.map +1 -1
  77. package/dist/schemas/cpt-schema.d.ts +126 -9
  78. package/dist/schemas/cpt-schema.d.ts.map +1 -1
  79. package/dist/schemas/cpt-schema.js +182 -285
  80. package/dist/schemas/cpt-schema.js.map +1 -1
  81. package/dist/schemas/generated/gld.generated.d.ts +9 -0
  82. package/dist/schemas/generated/gld.generated.d.ts.map +1 -0
  83. package/dist/schemas/generated/gld.generated.js +19 -0
  84. package/dist/schemas/generated/gld.generated.js.map +1 -0
  85. package/dist/schemas/gld-schema.d.ts +92 -0
  86. package/dist/schemas/gld-schema.d.ts.map +1 -0
  87. package/dist/schemas/gld-schema.js +88 -0
  88. package/dist/schemas/gld-schema.js.map +1 -0
  89. package/dist/schemas/gmw-schema.d.ts +180 -0
  90. package/dist/schemas/gmw-schema.d.ts.map +1 -0
  91. package/dist/schemas/gmw-schema.js +131 -0
  92. package/dist/schemas/gmw-schema.js.map +1 -0
  93. package/dist/types/index.d.ts +51 -1421
  94. package/dist/types/index.d.ts.map +1 -1
  95. package/dist/types/index.js.map +1 -1
  96. package/package.json +1 -1
@@ -1,289 +1,186 @@
1
1
  /**
2
- * CPT (Cone Penetration Test) schema definition
2
+ * CPT (Cone Penetration Test) schema.
3
3
  *
4
- * Defines 44 metadata fields for CPT data.
5
- * Each field specifies:
6
- * - xpath: location in XML document
7
- * - resolver: function to convert/parse value (optional)
8
- * - attribute: which property to extract (optional, defaults to textContent)
9
- * - required: whether field is mandatory (optional, defaults to false)
4
+ * Maps the dscpt/1.1 registration object to {@link CPTData}. Most of the ~60
5
+ * metadata fields are scalars; the embedded measurement CSV (`data`) and the
6
+ * dissipation-test time-series (`dissipationTests`) are {@link custom} producers
7
+ * driven by a {@link NodeLens}.
8
+ *
9
+ * Field coverage is verified against the official XSD with
10
+ * `npm run check:xsd-coverage`.
10
11
  */
11
- import { COMMON_REGISTRATION_FIELDS } from "./common-fields.js";
12
- import * as typeResolvers from "../resolvers/type-resolvers.js";
13
- import * as gmlResolvers from "../resolvers/gml-resolvers.js";
14
- import * as measurementResolvers from "../resolvers/measurement-resolver.js";
15
- import * as cptResolvers from "../resolvers/cpt-resolvers.js";
16
- import { processRegistrationHistory } from "../resolvers/bore-resolver-utils.js";
17
- export const CPT_SCHEMA = {
18
- // === Core Identification (shared brocom fields) ===
19
- ...COMMON_REGISTRATION_FIELDS,
20
- researchOperator: {
21
- xpath: "./dscpt:researchOperator",
22
- },
23
- researchReportDate: {
24
- xpath: "./dscpt:researchReportDate",
25
- resolver: typeResolvers.parseDate,
26
- },
27
- // Measurement timing (OGC O&M timestamps on the conePenetrationTest observation)
28
- conePenetrationTestPhenomenonTime: {
29
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrationTest/om:phenomenonTime/gml:TimeInstant/gml:timePosition",
30
- resolver: typeResolvers.parseDate,
31
- },
32
- conePenetrationTestResultTime: {
33
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrationTest/om:resultTime/gml:TimeInstant/gml:timePosition",
34
- resolver: typeResolvers.parseDate,
35
- },
36
- cptStandard: {
37
- xpath: "./dscpt:cptStandard",
38
- },
39
- // === Location ===
40
- deliveredLocation: {
41
- xpath: "./dscpt:deliveredLocation/cptcommon:location",
42
- resolver: gmlResolvers.parseGMLLocation,
43
- },
44
- standardizedLocation: {
45
- xpath: "./dscpt:standardizedLocation/brocom:location",
46
- resolver: gmlResolvers.parseGMLLocation,
47
- },
48
- coordinateTransformation: {
49
- xpath: "./dscpt:standardizedLocation/brocom:coordinateTransformation",
50
- },
51
- horizontalPositioningDate: {
52
- xpath: "./dscpt:deliveredLocation/cptcommon:horizontalPositioningDate",
53
- resolver: typeResolvers.parseDate,
54
- },
55
- horizontalPositioningMethod: {
56
- xpath: "./dscpt:deliveredLocation/cptcommon:horizontalPositioningMethod",
57
- },
58
- horizontalPositioningOperator: {
59
- xpath: "./dscpt:deliveredLocation/cptcommon:horizontalPositioningOperator",
60
- },
61
- // === Vertical Position ===
62
- deliveredVerticalPositionOffset: {
63
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:offset",
64
- resolver: typeResolvers.parseFloat,
65
- },
66
- deliveredVerticalPositionDatum: {
67
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:verticalDatum",
68
- },
69
- deliveredVerticalPositionReferencePoint: {
70
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:localVerticalReferencePoint",
71
- },
72
- waterDepth: {
73
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:waterDepth",
74
- resolver: typeResolvers.parseFloat,
75
- },
76
- verticalPositioningDate: {
77
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:verticalPositioningDate",
78
- resolver: typeResolvers.parseDate,
79
- },
80
- verticalPositioningMethod: {
81
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:verticalPositioningMethod",
82
- },
83
- verticalPositioningOperator: {
84
- xpath: "./dscpt:deliveredVerticalPosition/cptcommon:verticalPositioningOperator",
85
- },
86
- // === Survey Context ===
87
- deliveryContext: {
88
- xpath: "./dscpt:deliveryContext",
89
- },
90
- surveyPurpose: {
91
- xpath: "./dscpt:surveyPurpose",
92
- },
93
- additionalInvestigationPerformed: {
94
- xpath: "./dscpt:additionalInvestigationPerformed",
95
- resolver: typeResolvers.parseBoolean,
96
- },
97
- // === Test Metadata ===
98
- cptMethod: {
99
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:cptMethod",
100
- },
101
- stopCriterion: {
102
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:stopCriterion",
103
- },
104
- sensorAzimuth: {
105
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:sensorAzimuth",
106
- resolver: typeResolvers.parseFloat,
107
- },
108
- dissipationtestPerformed: {
109
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:dissipationTestPerformed",
110
- resolver: typeResolvers.parseBoolean,
111
- },
112
- qualityClass: {
113
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:qualityClass",
114
- resolver: typeResolvers.parseQualityClass,
115
- },
116
- groundwaterLevel: {
117
- xpath: "./dscpt:additionalInvestigation/cptcommon:groundwaterLevel",
118
- resolver: typeResolvers.parseFloat,
119
- },
120
- // === Additional Investigation ===
121
- investigationDate: {
122
- xpath: "./dscpt:additionalInvestigation/cptcommon:investigationDate",
123
- resolver: typeResolvers.parseDate,
124
- },
125
- conditions: {
126
- xpath: "./dscpt:additionalInvestigation/cptcommon:conditions",
127
- },
128
- surfaceDescription: {
129
- xpath: "./dscpt:additionalInvestigation/cptcommon:surfaceDescription",
130
- },
131
- removedLayers: {
132
- xpath: ".",
133
- resolver: cptResolvers.processRemovedLayers,
134
- },
135
- predrilledDepth: {
136
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:predrilledDepth",
137
- resolver: typeResolvers.parseFloat,
138
- },
139
- finalDepth: {
140
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:trajectory/cptcommon:finalDepth",
141
- resolver: typeResolvers.parseFloat,
142
- },
143
- // === Processing Flags ===
144
- finalProcessingDate: {
145
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:finalProcessingDate",
146
- resolver: typeResolvers.parseDate,
147
- },
148
- signalProcessingPerformed: {
149
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:procedure/cptcommon:signalProcessingPerformed",
150
- resolver: typeResolvers.parseBoolean,
151
- },
152
- interruptionProcessingPerformed: {
153
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:procedure/cptcommon:interruptionProcessingPerformed",
154
- resolver: typeResolvers.parseBoolean,
155
- },
156
- expertCorrectionPerformed: {
157
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:procedure/cptcommon:expertCorrectionPerformed",
158
- resolver: typeResolvers.parseBoolean,
159
- },
160
- // === Equipment Specifications ===
161
- cptDescription: {
162
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:description",
163
- },
164
- cptType: {
165
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:conePenetrometerType",
166
- },
167
- coneSurfaceArea: {
168
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:coneSurfaceArea",
169
- resolver: typeResolvers.parseInt,
170
- },
171
- coneDiameter: {
172
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:coneDiameter",
173
- resolver: typeResolvers.parseInt,
174
- },
175
- coneSurfaceQuotient: {
176
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:coneSurfaceQuotient",
177
- resolver: typeResolvers.parseFloat,
178
- },
179
- coneToFrictionSleeveDistance: {
180
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:coneToFrictionSleeveDistance",
181
- resolver: typeResolvers.parseInt,
182
- },
183
- coneToFrictionSleeveSurfaceArea: {
184
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:frictionSleeveSurfaceArea",
185
- resolver: typeResolvers.parseInt,
186
- },
187
- coneToFrictionSleeveSurfaceQuotient: {
188
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:frictionSleeveSurfaceQuotient",
189
- resolver: typeResolvers.parseFloat,
190
- },
191
- // === Zero-Load Measurements (Equipment Calibration) ===
192
- // Cone Resistance
193
- zlmConeResistanceBefore: {
194
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:coneResistanceBefore",
195
- resolver: typeResolvers.parseFloat,
196
- },
197
- zlmConeResistanceAfter: {
198
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:coneResistanceAfter",
199
- resolver: typeResolvers.parseFloat,
200
- },
201
- // Inclination East-West
202
- zlmInclinationEwBefore: {
203
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationEWBefore",
204
- resolver: typeResolvers.parseInt,
205
- },
206
- zlmInclinationEwAfter: {
207
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationEWAfter",
208
- resolver: typeResolvers.parseInt,
209
- },
210
- // Inclination North-South
211
- zlmInclinationNsBefore: {
212
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationNSBefore",
213
- resolver: typeResolvers.parseInt,
214
- },
215
- zlmInclinationNsAfter: {
216
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationNSAfter",
217
- resolver: typeResolvers.parseInt,
218
- },
219
- // Inclination Resultant
220
- zlmInclinationResultantBefore: {
221
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationResultantBefore",
222
- resolver: typeResolvers.parseInt,
223
- },
224
- zlmInclinationResultantAfter: {
225
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:inclinationResultantAfter",
226
- resolver: typeResolvers.parseInt,
227
- },
228
- // Local Friction
229
- zlmLocalFrictionBefore: {
230
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:localFrictionBefore",
231
- resolver: typeResolvers.parseFloat,
232
- },
233
- zlmLocalFrictionAfter: {
234
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:localFrictionAfter",
235
- resolver: typeResolvers.parseFloat,
236
- },
237
- // Pore Pressure U1
238
- zlmPorePressureU1Before: {
239
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU1Before",
240
- resolver: typeResolvers.parseFloat,
241
- },
242
- zlmPorePressureU1After: {
243
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU1After",
244
- resolver: typeResolvers.parseFloat,
245
- },
246
- // Pore Pressure U2
247
- zlmPorePressureU2Before: {
248
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU2Before",
249
- resolver: typeResolvers.parseFloat,
250
- },
251
- zlmPorePressureU2After: {
252
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU2After",
253
- resolver: typeResolvers.parseFloat,
254
- },
255
- // Pore Pressure U3
256
- zlmPorePressureU3Before: {
257
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU3Before",
258
- resolver: typeResolvers.parseFloat,
259
- },
260
- zlmPorePressureU3After: {
261
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:porePressureU3After",
262
- resolver: typeResolvers.parseFloat,
263
- },
264
- // Electrical Conductivity
265
- zlmElectricalConductivityBefore: {
266
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:electricalConductivityBefore",
267
- resolver: typeResolvers.parseFloat,
268
- },
269
- zlmElectricalConductivityAfter: {
270
- xpath: "./dscpt:conePenetrometerSurvey/cptcommon:conePenetrometer/cptcommon:zeroLoadMeasurement/cptcommon:electricalConductivityAfter",
271
- resolver: typeResolvers.parseFloat,
272
- },
273
- // === Measurement Data ===
274
- data: {
275
- xpath: "./dscpt:conePenetrometerSurvey",
276
- resolver: measurementResolvers.processCPTResult,
277
- },
278
- // === Dissipation Tests ===
279
- dissipationTests: {
280
- xpath: "./dscpt:conePenetrometerSurvey",
281
- resolver: measurementResolvers.processDissipationTests,
282
- },
283
- // === Administrative History ===
284
- registrationHistory: {
285
- xpath: ".",
286
- resolver: processRegistrationHistory,
287
- },
288
- };
12
+ import { object_, array, custom, scalar, text, date, number_, integer, boolean_, qualityClass, } from "../core/producer.js";
13
+ import { COMMON_REGISTRATION_PRODUCERS, REGISTRATION_HISTORY, gmlLocation, } from "./common-fields.js";
14
+ import { decodeColumns, col } from "../core/columns.js";
15
+ import { parseFloat } from "../decoders/type-decoders.js";
16
+ const SURVEY = "./dscpt:conePenetrometerSurvey";
17
+ const CONE = `${SURVEY}/cptcommon:conePenetrometer`;
18
+ const ZLM = `${CONE}/cptcommon:zeroLoadMeasurement`;
19
+ const VPOS = "./dscpt:deliveredVerticalPosition";
20
+ /** Fixed columns of a dissipation-test time-series. */
21
+ const DISSIPATION_COLUMNS = [
22
+ { name: "elapsedTime", parse: col.num },
23
+ { name: "coneResistance", parse: col.num, optional: true },
24
+ { name: "porePressureU1", parse: col.num, optional: true },
25
+ { name: "porePressureU2", parse: col.num, optional: true },
26
+ { name: "porePressureU3", parse: col.num, optional: true },
27
+ ];
28
+ /**
29
+ * Parse the embedded measurement CSV from the `conePenetrometerSurvey` node.
30
+ *
31
+ * The `parameters` element flags (ja/nee) which columns are present, in
32
+ * document order; the CSV in `values` always carries every column, so the
33
+ * decode spec maps only the flagged positions (others are skipped with `null`).
34
+ * Rows are then sorted by penetration length (BRO does not guarantee depth order
35
+ * in the values block).
36
+ */
37
+ function parseMeasurements(lens) {
38
+ const enc = (attr, fallback) => lens.attr(`.//swe:encoding/swe:TextEncoding/@${attr}`) ?? fallback;
39
+ const decimalSeparator = enc("decimalSeparator", ".");
40
+ if (decimalSeparator !== ".") {
41
+ console.warn(`Non-standard decimal separator: ${decimalSeparator} (expected ".")`);
42
+ }
43
+ // A spec entry per parameter position, in document order: a column for the
44
+ // "ja" positions, `null` (skip) for the rest. Scope to the first `parameters`
45
+ // block — dissipation tests carry their own values/encoding.
46
+ const parameters = lens.all(".//cptcommon:parameters")[0];
47
+ const spec = (parameters ? parameters.all("./*") : []).map((param) => {
48
+ const columnName = param.name();
49
+ const included = (param.text() ?? "").toLowerCase() === "ja";
50
+ return columnName && included ? { name: columnName, parse: col.num } : null;
51
+ });
52
+ if (spec.every((c) => c === null)) {
53
+ return [];
54
+ }
55
+ const rows = decodeColumns(lens.textAt(".//cptcommon:values"), spec, {
56
+ rowSeparator: enc("blockSeparator", ";"),
57
+ colSeparator: enc("tokenSeparator", ","),
58
+ })
59
+ // Drop all-null rows.
60
+ .filter((m) => Object.values(m).some((v) => v !== null && v !== undefined));
61
+ return rows.sort((a, b) => a.penetrationLength - b.penetrationLength);
62
+ }
63
+ /**
64
+ * A dissipation test's pore-pressure decay CSV. Kept custom because the row/col
65
+ * separators are read from the test's own `swe:TextEncoding`.
66
+ */
67
+ const DISSIPATION_MEASUREMENTS = custom({
68
+ produce: (test) => {
69
+ const enc = "./cptcommon:disResult/swe:encoding/swe:TextEncoding";
70
+ return decodeColumns(test.textAt("./cptcommon:disResult/cptcommon:values"), DISSIPATION_COLUMNS, {
71
+ rowSeparator: test.attr(`${enc}/@blockSeparator`) ?? ";",
72
+ colSeparator: test.attr(`${enc}/@tokenSeparator`) ?? ",",
73
+ });
74
+ },
75
+ });
76
+ /**
77
+ * One dissipation test (pore-pressure decay time-series at a fixed depth), a
78
+ * sibling of the cone-penetration test inside `conePenetrometerSurvey`.
79
+ */
80
+ const DISSIPATION_TEST = object_({
81
+ fields: {
82
+ penetrationLength: scalar({
83
+ at: "./cptcommon:penetrationLength",
84
+ decode: (raw) => parseFloat(raw) ?? 0,
85
+ }),
86
+ phenomenonTime: date("./om:phenomenonTime//gml:timePosition"),
87
+ measurements: DISSIPATION_MEASUREMENTS,
88
+ },
89
+ });
90
+ /** A layer removed before the CPT was performed (e.g. asphalt, gravel fill). */
91
+ const REMOVED_LAYER = object_({
92
+ fields: {
93
+ sequenceNumber: integer("./cptcommon:sequenceNumber"),
94
+ upperBoundary: number_("./cptcommon:upperBoundary"),
95
+ lowerBoundary: number_("./cptcommon:lowerBoundary"),
96
+ description: text("./cptcommon:description"),
97
+ },
98
+ });
99
+ export const CPT_PRODUCER = object_({
100
+ fields: {
101
+ // === Core identification (shared brocom fields) ===
102
+ ...COMMON_REGISTRATION_PRODUCERS,
103
+ researchOperator: text("./dscpt:researchOperator"),
104
+ researchReportDate: date("./dscpt:researchReportDate"),
105
+ // Measurement timing (OGC O&M timestamps on the conePenetrationTest observation)
106
+ conePenetrationTestPhenomenonTime: date(`${SURVEY}/cptcommon:conePenetrationTest/om:phenomenonTime/gml:TimeInstant/gml:timePosition`),
107
+ conePenetrationTestResultTime: date(`${SURVEY}/cptcommon:conePenetrationTest/om:resultTime/gml:TimeInstant/gml:timePosition`),
108
+ cptStandard: text("./dscpt:cptStandard"),
109
+ // === Location ===
110
+ deliveredLocation: gmlLocation("./dscpt:deliveredLocation/cptcommon:location"),
111
+ standardizedLocation: gmlLocation("./dscpt:standardizedLocation/brocom:location"),
112
+ coordinateTransformation: text("./dscpt:standardizedLocation/brocom:coordinateTransformation"),
113
+ horizontalPositioningDate: date("./dscpt:deliveredLocation/cptcommon:horizontalPositioningDate"),
114
+ horizontalPositioningMethod: text("./dscpt:deliveredLocation/cptcommon:horizontalPositioningMethod"),
115
+ horizontalPositioningOperator: text("./dscpt:deliveredLocation/cptcommon:horizontalPositioningOperator"),
116
+ // === Vertical position ===
117
+ deliveredVerticalPositionOffset: number_(`${VPOS}/cptcommon:offset`),
118
+ deliveredVerticalPositionDatum: text(`${VPOS}/cptcommon:verticalDatum`),
119
+ deliveredVerticalPositionReferencePoint: text(`${VPOS}/cptcommon:localVerticalReferencePoint`),
120
+ waterDepth: number_(`${VPOS}/cptcommon:waterDepth`),
121
+ verticalPositioningDate: date(`${VPOS}/cptcommon:verticalPositioningDate`),
122
+ verticalPositioningMethod: text(`${VPOS}/cptcommon:verticalPositioningMethod`),
123
+ verticalPositioningOperator: text(`${VPOS}/cptcommon:verticalPositioningOperator`),
124
+ // === Survey context ===
125
+ deliveryContext: text("./dscpt:deliveryContext"),
126
+ surveyPurpose: text("./dscpt:surveyPurpose"),
127
+ additionalInvestigationPerformed: boolean_("./dscpt:additionalInvestigationPerformed"),
128
+ // === Test metadata ===
129
+ cptMethod: text(`${SURVEY}/cptcommon:cptMethod`),
130
+ stopCriterion: text(`${SURVEY}/cptcommon:stopCriterion`),
131
+ sensorAzimuth: number_(`${SURVEY}/cptcommon:sensorAzimuth`),
132
+ dissipationtestPerformed: boolean_(`${SURVEY}/cptcommon:dissipationTestPerformed`),
133
+ qualityClass: qualityClass(`${SURVEY}/cptcommon:qualityClass`),
134
+ groundwaterLevel: number_("./dscpt:additionalInvestigation/cptcommon:groundwaterLevel"),
135
+ // === Additional investigation ===
136
+ investigationDate: date("./dscpt:additionalInvestigation/cptcommon:investigationDate"),
137
+ conditions: text("./dscpt:additionalInvestigation/cptcommon:conditions"),
138
+ surfaceDescription: text("./dscpt:additionalInvestigation/cptcommon:surfaceDescription"),
139
+ removedLayers: array({
140
+ each: "./dscpt:additionalInvestigation/cptcommon:removedLayer",
141
+ item: REMOVED_LAYER,
142
+ }),
143
+ predrilledDepth: number_(`${SURVEY}/cptcommon:trajectory/cptcommon:predrilledDepth`),
144
+ finalDepth: number_(`${SURVEY}/cptcommon:trajectory/cptcommon:finalDepth`),
145
+ // === Processing flags ===
146
+ finalProcessingDate: date(`${SURVEY}/cptcommon:finalProcessingDate`),
147
+ signalProcessingPerformed: boolean_(`${SURVEY}/cptcommon:procedure/cptcommon:signalProcessingPerformed`),
148
+ interruptionProcessingPerformed: boolean_(`${SURVEY}/cptcommon:procedure/cptcommon:interruptionProcessingPerformed`),
149
+ expertCorrectionPerformed: boolean_(`${SURVEY}/cptcommon:procedure/cptcommon:expertCorrectionPerformed`),
150
+ // === Equipment specifications ===
151
+ cptDescription: text(`${CONE}/cptcommon:description`),
152
+ cptType: text(`${CONE}/cptcommon:conePenetrometerType`),
153
+ coneSurfaceArea: integer(`${CONE}/cptcommon:coneSurfaceArea`),
154
+ coneDiameter: integer(`${CONE}/cptcommon:coneDiameter`),
155
+ coneSurfaceQuotient: number_(`${CONE}/cptcommon:coneSurfaceQuotient`),
156
+ coneToFrictionSleeveDistance: integer(`${CONE}/cptcommon:coneToFrictionSleeveDistance`),
157
+ coneToFrictionSleeveSurfaceArea: integer(`${CONE}/cptcommon:frictionSleeveSurfaceArea`),
158
+ coneToFrictionSleeveSurfaceQuotient: number_(`${CONE}/cptcommon:frictionSleeveSurfaceQuotient`),
159
+ // === Zero-load measurements (equipment calibration) ===
160
+ zlmConeResistanceBefore: number_(`${ZLM}/cptcommon:coneResistanceBefore`),
161
+ zlmConeResistanceAfter: number_(`${ZLM}/cptcommon:coneResistanceAfter`),
162
+ zlmInclinationEwBefore: integer(`${ZLM}/cptcommon:inclinationEWBefore`),
163
+ zlmInclinationEwAfter: integer(`${ZLM}/cptcommon:inclinationEWAfter`),
164
+ zlmInclinationNsBefore: integer(`${ZLM}/cptcommon:inclinationNSBefore`),
165
+ zlmInclinationNsAfter: integer(`${ZLM}/cptcommon:inclinationNSAfter`),
166
+ zlmInclinationResultantBefore: integer(`${ZLM}/cptcommon:inclinationResultantBefore`),
167
+ zlmInclinationResultantAfter: integer(`${ZLM}/cptcommon:inclinationResultantAfter`),
168
+ zlmLocalFrictionBefore: number_(`${ZLM}/cptcommon:localFrictionBefore`),
169
+ zlmLocalFrictionAfter: number_(`${ZLM}/cptcommon:localFrictionAfter`),
170
+ zlmPorePressureU1Before: number_(`${ZLM}/cptcommon:porePressureU1Before`),
171
+ zlmPorePressureU1After: number_(`${ZLM}/cptcommon:porePressureU1After`),
172
+ zlmPorePressureU2Before: number_(`${ZLM}/cptcommon:porePressureU2Before`),
173
+ zlmPorePressureU2After: number_(`${ZLM}/cptcommon:porePressureU2After`),
174
+ zlmPorePressureU3Before: number_(`${ZLM}/cptcommon:porePressureU3Before`),
175
+ zlmPorePressureU3After: number_(`${ZLM}/cptcommon:porePressureU3After`),
176
+ zlmElectricalConductivityBefore: number_(`${ZLM}/cptcommon:electricalConductivityBefore`),
177
+ zlmElectricalConductivityAfter: number_(`${ZLM}/cptcommon:electricalConductivityAfter`),
178
+ // === Measurement data (embedded CSV) ===
179
+ data: custom({ at: SURVEY, produce: parseMeasurements }),
180
+ // === Dissipation tests ===
181
+ dissipationTests: array({ at: SURVEY, each: ".//cptcommon:dissipationTest", item: DISSIPATION_TEST }),
182
+ // === Administrative history ===
183
+ registrationHistory: REGISTRATION_HISTORY,
184
+ },
185
+ });
289
186
  //# sourceMappingURL=cpt-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cpt-schema.js","sourceRoot":"","sources":["../../src/schemas/cpt-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cpt-schema.js","sourceRoot":"","sources":["../../src/schemas/cpt-schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Schema } from "../../types/index.js";
2
+ export declare const GLD_SCALARS: Schema;
3
+ export interface GLDScalars {
4
+ /** `dsgld:researchFirstDate` (0..1, date) */
5
+ researchFirstDate: string | null;
6
+ /** `dsgld:researchLastDate` (0..1, date) */
7
+ researchLastDate: string | null;
8
+ }
9
+ //# sourceMappingURL=gld.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gld.generated.d.ts","sourceRoot":"","sources":["../../../src/schemas/generated/gld.generated.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,eAAO,MAAM,WAAW,EAAE,MASzB,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,4CAA4C;IAC5C,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC"}
@@ -0,0 +1,19 @@
1
+ // GENERATED by `npm run codegen:schema` - DO NOT EDIT.
2
+ // Source XSD: https://schema.broservices.nl/xsd/dsgld/1.0/dsgld-messages.xsd
3
+ //
4
+ // Scalar SchemaField bindings + result type for the GLD registration
5
+ // object, derived from the XSD. Complex/array fields are hand-written in the
6
+ // domain schema/types; re-run codegen after an XSD bump and let the coverage
7
+ // checker (npm run check:xsd-coverage) prove completeness.
8
+ import * as typeResolvers from "../../resolvers/type-resolvers.js";
9
+ export const GLD_SCALARS = {
10
+ researchFirstDate: {
11
+ xpath: "./dsgld:researchFirstDate",
12
+ resolver: typeResolvers.parseDate,
13
+ },
14
+ researchLastDate: {
15
+ xpath: "./dsgld:researchLastDate",
16
+ resolver: typeResolvers.parseDate,
17
+ },
18
+ };
19
+ //# sourceMappingURL=gld.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gld.generated.js","sourceRoot":"","sources":["../../../src/schemas/generated/gld.generated.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,6EAA6E;AAC7E,EAAE;AACF,qEAAqE;AACrE,6EAA6E;AAC7E,6EAA6E;AAC7E,2DAA2D;AAG3D,OAAO,KAAK,aAAa,MAAM,mCAAmC,CAAC;AAEnE,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,iBAAiB,EAAE;QACjB,KAAK,EAAE,2BAA2B;QAClC,QAAQ,EAAE,aAAa,CAAC,SAAS;KAClC;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,0BAA0B;QACjC,QAAQ,EAAE,aAAa,CAAC,SAAS;KAClC;CACF,CAAC"}