@bedrock-engineer/bro-xml-parser 0.1.7 → 0.3.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/dist/adapters/browser-adapter.d.ts.map +1 -1
- package/dist/adapters/browser-adapter.js +6 -2
- package/dist/adapters/browser-adapter.js.map +1 -1
- package/dist/adapters/node-adapter.d.ts.map +1 -1
- package/dist/adapters/node-adapter.js +6 -2
- package/dist/adapters/node-adapter.js.map +1 -1
- package/dist/browser.d.ts +2 -2
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/colors.d.ts +18 -8
- package/dist/colors.d.ts.map +1 -1
- package/dist/colors.js +1 -1
- package/dist/colors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/node.d.ts +2 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +1 -1
- package/dist/node.js.map +1 -1
- package/dist/parser.d.ts +2 -2
- package/dist/parser.js +2 -2
- package/dist/resolvers/bhrg-resolvers.d.ts +3 -18
- package/dist/resolvers/bhrg-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bhrg-resolvers.js +296 -43
- package/dist/resolvers/bhrg-resolvers.js.map +1 -1
- package/dist/resolvers/bore-resolver-utils.d.ts +21 -2
- package/dist/resolvers/bore-resolver-utils.d.ts.map +1 -1
- package/dist/resolvers/bore-resolver-utils.js +73 -23
- package/dist/resolvers/bore-resolver-utils.js.map +1 -1
- package/dist/resolvers/bore-resolvers.d.ts +35 -18
- package/dist/resolvers/bore-resolvers.d.ts.map +1 -1
- package/dist/resolvers/bore-resolvers.js +428 -159
- package/dist/resolvers/bore-resolvers.js.map +1 -1
- package/dist/resolvers/cpt-resolvers.d.ts +1 -8
- package/dist/resolvers/cpt-resolvers.d.ts.map +1 -1
- package/dist/resolvers/cpt-resolvers.js +2 -29
- package/dist/resolvers/cpt-resolvers.js.map +1 -1
- package/dist/resolvers/gml-resolvers.d.ts.map +1 -1
- package/dist/resolvers/gml-resolvers.js +11 -1
- package/dist/resolvers/gml-resolvers.js.map +1 -1
- package/dist/resolvers/measurement-resolver.d.ts.map +1 -1
- package/dist/resolvers/measurement-resolver.js +6 -6
- package/dist/resolvers/measurement-resolver.js.map +1 -1
- package/dist/resolvers/type-resolvers.d.ts +22 -13
- package/dist/resolvers/type-resolvers.d.ts.map +1 -1
- package/dist/resolvers/type-resolvers.js +55 -43
- package/dist/resolvers/type-resolvers.js.map +1 -1
- package/dist/resolvers.d.ts +5 -4
- package/dist/resolvers.d.ts.map +1 -1
- package/dist/resolvers.js +6 -4
- package/dist/resolvers.js.map +1 -1
- package/dist/schema-presets.js +3 -3
- package/dist/schema-presets.js.map +1 -1
- package/dist/schemas/bhrg-schema.d.ts.map +1 -1
- package/dist/schemas/bhrg-schema.js +39 -14
- package/dist/schemas/bhrg-schema.js.map +1 -1
- package/dist/schemas/bore-schema.d.ts.map +1 -1
- package/dist/schemas/bore-schema.js +74 -14
- package/dist/schemas/bore-schema.js.map +1 -1
- package/dist/schemas/common-fields.d.ts +16 -0
- package/dist/schemas/common-fields.d.ts.map +1 -0
- package/dist/schemas/common-fields.js +31 -0
- package/dist/schemas/common-fields.js.map +1 -0
- package/dist/schemas/cpt-schema.d.ts.map +1 -1
- package/dist/schemas/cpt-schema.js +25 -14
- package/dist/schemas/cpt-schema.js.map +1 -1
- package/dist/types/index.d.ts +559 -61
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +15 -5
package/dist/types/index.d.ts
CHANGED
|
@@ -141,18 +141,44 @@ export interface DissipationMeasurement {
|
|
|
141
141
|
*/
|
|
142
142
|
export interface DissipationTest {
|
|
143
143
|
penetrationLength: number;
|
|
144
|
-
phenomenonTime:
|
|
144
|
+
phenomenonTime: string | null;
|
|
145
145
|
measurements: Array<DissipationMeasurement>;
|
|
146
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Common `brocom:RegistrationObject` fields shared by every BRO registration
|
|
149
|
+
* type (CPT, BHR-GT, BHR-G, ...).
|
|
150
|
+
*
|
|
151
|
+
* Mirrors how the XSDs model these: each registration object extends
|
|
152
|
+
* `brocom:RegistrationObject` via complexContent. Domain data interfaces extend
|
|
153
|
+
* this so the shared surface is declared once and stays consistent. The runtime
|
|
154
|
+
* counterpart is `COMMON_REGISTRATION_FIELDS` in schemas/common-fields.ts.
|
|
155
|
+
*/
|
|
156
|
+
export interface BRORegistrationObject {
|
|
157
|
+
broId: string | null;
|
|
158
|
+
/**
|
|
159
|
+
* BRO quality regime
|
|
160
|
+
*
|
|
161
|
+
* - IMBRO: Strict regime (all mandatory fields required)
|
|
162
|
+
* - IMBRO/A: Relaxed regime for historical data (allows missing fields)
|
|
163
|
+
*/
|
|
164
|
+
qualityRegime: QualityRegime | null;
|
|
165
|
+
/** Party responsible for delivering the data to the BRO (bronhouder, KvK number or name) */
|
|
166
|
+
deliveryAccountableParty: string | null;
|
|
167
|
+
/** Object identifier assigned by the accountable party (their own reference) */
|
|
168
|
+
objectIdAccountableParty: string | null;
|
|
169
|
+
/** KvK number of the party responsible for the delivery */
|
|
170
|
+
deliveryResponsibleParty: string | null;
|
|
171
|
+
/** BRO registration history */
|
|
172
|
+
registrationHistory: RegistrationHistory | null;
|
|
173
|
+
}
|
|
147
174
|
/**
|
|
148
175
|
* Complete CPT data (metadata + measurements)
|
|
149
176
|
*/
|
|
150
|
-
export interface CPTData {
|
|
177
|
+
export interface CPTData extends BRORegistrationObject {
|
|
151
178
|
/**
|
|
152
179
|
* Metadata about the parsed document (schema version, warnings)
|
|
153
180
|
*/
|
|
154
181
|
meta: ParseMeta;
|
|
155
|
-
broId: string | null;
|
|
156
182
|
/**
|
|
157
183
|
* User-defined identifier (not parsed from XML)
|
|
158
184
|
*
|
|
@@ -166,31 +192,34 @@ export interface CPTData {
|
|
|
166
192
|
* ```
|
|
167
193
|
*/
|
|
168
194
|
alias?: string;
|
|
169
|
-
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
* - IMBRO: Strict regime (all mandatory fields required)
|
|
173
|
-
* - IMBRO/A: Relaxed regime for historical data (allows missing fields)
|
|
174
|
-
*/
|
|
175
|
-
qualityRegime: QualityRegime | null;
|
|
176
|
-
researchReportDate: Date | null;
|
|
195
|
+
/** KvK number of the operator that carried out the research */
|
|
196
|
+
researchOperator: string | null;
|
|
197
|
+
researchReportDate: string | null;
|
|
177
198
|
/** When the cone penetration test was physically performed in the field (om:phenomenonTime) */
|
|
178
|
-
conePenetrationTestPhenomenonTime:
|
|
199
|
+
conePenetrationTestPhenomenonTime: string | null;
|
|
179
200
|
/** When the cone penetration test result was produced (om:resultTime) */
|
|
180
|
-
conePenetrationTestResultTime:
|
|
201
|
+
conePenetrationTestResultTime: string | null;
|
|
181
202
|
deliveredLocation: Location | null;
|
|
182
203
|
standardizedLocation: Location | null;
|
|
204
|
+
/** Coordinate transformation applied to the standardized location (e.g. "RDNAPTRANS2018") */
|
|
205
|
+
coordinateTransformation: string | null;
|
|
183
206
|
/** Date horizontal position was determined */
|
|
184
|
-
horizontalPositioningDate:
|
|
207
|
+
horizontalPositioningDate: string | null;
|
|
185
208
|
/** Method used to determine horizontal position (e.g., "onbekend", "GNSS") */
|
|
186
209
|
horizontalPositioningMethod: string | null;
|
|
210
|
+
/** KvK number of the operator that determined the horizontal position */
|
|
211
|
+
horizontalPositioningOperator: string | null;
|
|
187
212
|
deliveredVerticalPositionOffset: number | null;
|
|
188
213
|
deliveredVerticalPositionDatum: string | null;
|
|
189
214
|
deliveredVerticalPositionReferencePoint: string | null;
|
|
215
|
+
/** Water depth at the CPT location (m), when the survey was performed over water */
|
|
216
|
+
waterDepth: number | null;
|
|
190
217
|
/** Date vertical position was determined */
|
|
191
|
-
verticalPositioningDate:
|
|
218
|
+
verticalPositioningDate: string | null;
|
|
192
219
|
/** Method used to determine vertical position (e.g., "onbekend", "waterpassingKlasse2") */
|
|
193
220
|
verticalPositioningMethod: string | null;
|
|
221
|
+
/** KvK number of the operator that determined the vertical position */
|
|
222
|
+
verticalPositioningOperator: string | null;
|
|
194
223
|
/** Delivery context (e.g., "publiekeTaak", "archiefoverdracht") */
|
|
195
224
|
deliveryContext: string | null;
|
|
196
225
|
/** Survey purpose (e.g., "waterkering", "onbekend") */
|
|
@@ -210,7 +239,7 @@ export interface CPTData {
|
|
|
210
239
|
finalDepth: number | null;
|
|
211
240
|
groundwaterLevel: number | null;
|
|
212
241
|
/** Date of additional investigation (e.g. groundwater level measurement) */
|
|
213
|
-
investigationDate:
|
|
242
|
+
investigationDate: string | null;
|
|
214
243
|
/** Site conditions at time of investigation */
|
|
215
244
|
conditions: string | null;
|
|
216
245
|
/** Description of surface at CPT location */
|
|
@@ -218,7 +247,7 @@ export interface CPTData {
|
|
|
218
247
|
/** Layers removed before CPT (e.g. asphalt, gravel fill) - affects depth interpretation */
|
|
219
248
|
removedLayers: Array<RemovedLayer>;
|
|
220
249
|
/** Date of final processing */
|
|
221
|
-
finalProcessingDate:
|
|
250
|
+
finalProcessingDate: string | null;
|
|
222
251
|
/** Whether signal processing was performed */
|
|
223
252
|
signalProcessingPerformed: boolean | null;
|
|
224
253
|
/** Whether interruption processing was performed */
|
|
@@ -255,7 +284,6 @@ export interface CPTData {
|
|
|
255
284
|
zlmElectricalConductivityAfter: number | null;
|
|
256
285
|
data: Array<CPTMeasurement>;
|
|
257
286
|
dissipationTests: Array<DissipationTest>;
|
|
258
|
-
registrationHistory: RegistrationHistory | null;
|
|
259
287
|
}
|
|
260
288
|
/**
|
|
261
289
|
* Grain shape properties for sand/gravel fractions
|
|
@@ -270,19 +298,105 @@ export interface Grainshape {
|
|
|
270
298
|
/** Roughness of grains (e.g., "ruw", "glad") */
|
|
271
299
|
roughness: string | null;
|
|
272
300
|
}
|
|
301
|
+
/**
|
|
302
|
+
* Weathering degree of a rock layer (three-axis classification)
|
|
303
|
+
*/
|
|
304
|
+
export interface RockWeatheringDegree {
|
|
305
|
+
/** Degree of discolouration */
|
|
306
|
+
discolouration: string | null;
|
|
307
|
+
/** Degree of disintegration */
|
|
308
|
+
disintegration: string | null;
|
|
309
|
+
/** Degree of decomposition */
|
|
310
|
+
decomposition: string | null;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Rock description for a layer (BHR-GT `rock` element).
|
|
314
|
+
*
|
|
315
|
+
* A layer describes either soil (flattened onto BHRGTLayer) or rock (this
|
|
316
|
+
* nested object). Yes/no fields keep their raw code (e.g. "ja", "nee",
|
|
317
|
+
* "nietWaargenomen") to preserve archive nuance.
|
|
318
|
+
*/
|
|
319
|
+
export interface RockDescription {
|
|
320
|
+
rockType: string | null;
|
|
321
|
+
cementType: string | null;
|
|
322
|
+
colour: string | null;
|
|
323
|
+
/** Tertiary rock constituents (1 or more) */
|
|
324
|
+
tertiaryRockConstituent: Array<string>;
|
|
325
|
+
interbedding: string | null;
|
|
326
|
+
/** Dispersed inhomogeneities (0-2) */
|
|
327
|
+
dispersedInhomogeneity: Array<string>;
|
|
328
|
+
carbonateContentClass: string | null;
|
|
329
|
+
crossBedding: string | null;
|
|
330
|
+
gradedBedding: string | null;
|
|
331
|
+
voidsPresent: string | null;
|
|
332
|
+
voidDistribution: string | null;
|
|
333
|
+
stability: string | null;
|
|
334
|
+
strengthClass: string | null;
|
|
335
|
+
weathered: string | null;
|
|
336
|
+
weatheringDegree?: RockWeatheringDegree;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Post-sedimentary discontinuity in the descriptive borehole log
|
|
340
|
+
* (e.g. a fracture or fault plane crossing the described interval)
|
|
341
|
+
*/
|
|
342
|
+
export interface PostSedimentaryDiscontinuity {
|
|
343
|
+
beginDepth: number;
|
|
344
|
+
endDepth: number;
|
|
345
|
+
/** Whether the discontinuity is in rock (raw code, e.g. "ja"/"nee") */
|
|
346
|
+
inRock: string | null;
|
|
347
|
+
discontinuityType: string | null;
|
|
348
|
+
compositeDiscontinuity: string | null;
|
|
349
|
+
/** Spacing between discontinuities (m) */
|
|
350
|
+
spacing: number | null;
|
|
351
|
+
smooth: string | null;
|
|
352
|
+
apertureClass: string | null;
|
|
353
|
+
infillMaterial: string | null;
|
|
354
|
+
}
|
|
273
355
|
/**
|
|
274
356
|
* BHR-GT (Borehole Research Geotechnical) layer data
|
|
275
357
|
*
|
|
276
358
|
* Contains all fields from the BRO BHR-GT schema for a single soil layer.
|
|
277
359
|
*/
|
|
278
|
-
|
|
360
|
+
/**
|
|
361
|
+
* Fields shared by every BHR-GT described layer, regardless of whether it
|
|
362
|
+
* describes soil or rock (they live directly on the XSD `layer` element).
|
|
363
|
+
*/
|
|
364
|
+
export interface BHRGTLayerBase {
|
|
279
365
|
upperBoundary: number;
|
|
280
366
|
lowerBoundary: number;
|
|
281
367
|
upperBoundaryDetermination?: string | null;
|
|
282
368
|
lowerBoundaryDetermination?: string | null;
|
|
283
369
|
/** Whether the layer is anthropogenic (man-made) */
|
|
284
370
|
anthropogenic?: boolean | null;
|
|
371
|
+
/** Whether the layer boundary is slanted */
|
|
372
|
+
slant?: boolean | null;
|
|
373
|
+
/** Whether the layer is bedded/stratified */
|
|
374
|
+
bedded?: boolean | null;
|
|
375
|
+
/** Bedding type of the layer (e.g., "dikGelamineerd") */
|
|
376
|
+
bedding?: string | null;
|
|
377
|
+
/** Whether the layer is a composite layer */
|
|
378
|
+
compositeLayer?: boolean | null;
|
|
379
|
+
/** Human activity type observed in the layer (e.g., "nietBepaald") */
|
|
380
|
+
activityType?: string | null;
|
|
381
|
+
/** Whether the internal structure is intact (undisturbed) */
|
|
382
|
+
internalStructureIntact?: boolean | null;
|
|
383
|
+
/** Special material in the layer (e.g. anthropogenic debris) */
|
|
384
|
+
specialMaterial?: string | null;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* A BHR-GT layer that describes soil (the common case).
|
|
388
|
+
* Discriminate on `material === "soil"`.
|
|
389
|
+
*/
|
|
390
|
+
export interface BHRGTSoilLayer extends BHRGTLayerBase {
|
|
391
|
+
material: "soil";
|
|
392
|
+
/** Geotechnical soil name (may be "" for IMBRO/A archive data using NEN 5104) */
|
|
285
393
|
geotechnicalSoilName: string;
|
|
394
|
+
/** Soil name per NEN 5104 (IMBRO/A archive data; geotechnicalSoilName is often nil there) */
|
|
395
|
+
soilNameNEN5104?: string | null;
|
|
396
|
+
/** Gravel content classification per NEN 5104 (IMBRO/A) */
|
|
397
|
+
gravelContentClassNEN5104?: string | null;
|
|
398
|
+
/** Organic matter content classification per NEN 5104 (IMBRO/A) */
|
|
399
|
+
organicMatterContentClassNEN5104?: string | null;
|
|
286
400
|
/** Tertiary soil constituent (e.g., "schelpMateriaal", "plantenresten") */
|
|
287
401
|
tertiaryConstituent?: string | null;
|
|
288
402
|
/** Soil color code */
|
|
@@ -295,14 +409,14 @@ export interface BHRGTLayer {
|
|
|
295
409
|
carbonateContentClass?: string | null;
|
|
296
410
|
/** Sand median grain size classification */
|
|
297
411
|
sandMedianClass?: string | null;
|
|
412
|
+
/** Gravel median grain size classification (e.g., "fijn", "middelgrof") */
|
|
413
|
+
gravelMedianClass?: string | null;
|
|
414
|
+
/** Depositional characteristic of the soil (e.g., "nietBepaald") */
|
|
415
|
+
geotechnicalDepositionalCharacteristic?: string | null;
|
|
416
|
+
/** Interbedding of other material in the soil (e.g., "kleiWeinigDikkeLaminae") */
|
|
417
|
+
interbedding?: string | null;
|
|
298
418
|
/** Grain shape properties (for sand/gravel) */
|
|
299
419
|
grainshape?: Grainshape;
|
|
300
|
-
/** Whether the layer boundary is slanted */
|
|
301
|
-
slant?: boolean | null;
|
|
302
|
-
/** Whether the layer is bedded/stratified */
|
|
303
|
-
bedded?: boolean | null;
|
|
304
|
-
/** Whether the internal structure is intact (undisturbed) */
|
|
305
|
-
internalStructureIntact?: boolean | null;
|
|
306
420
|
/** Whether the soil is mixed */
|
|
307
421
|
mixed?: boolean | null;
|
|
308
422
|
/** Whether the soil has mottled appearance */
|
|
@@ -315,19 +429,55 @@ export interface BHRGTLayer {
|
|
|
315
429
|
organicSoilTexture?: string | null;
|
|
316
430
|
/** Tensile strength of peat */
|
|
317
431
|
peatTensileStrength?: string | null;
|
|
432
|
+
/** Cross bedding present (raw code) */
|
|
433
|
+
crossBedding?: string | null;
|
|
434
|
+
/** Graded bedding present (raw code) */
|
|
435
|
+
gradedBedding?: string | null;
|
|
436
|
+
/** Mixing type of the soil */
|
|
437
|
+
mixingType?: string | null;
|
|
438
|
+
/** Fine gravel content classification */
|
|
439
|
+
fineGravelContentClass?: string | null;
|
|
440
|
+
/** Medium-coarse gravel content classification */
|
|
441
|
+
mediumCoarseGravelContentClass?: string | null;
|
|
442
|
+
/** Very coarse gravel content classification */
|
|
443
|
+
veryCoarseGravelContentClass?: string | null;
|
|
444
|
+
/** Sand sorting classification per NEN 5104 */
|
|
445
|
+
sandSortingNEN5104?: string | null;
|
|
446
|
+
/** Peat type classification */
|
|
447
|
+
peatType?: string | null;
|
|
448
|
+
/** Depositional age of the layer */
|
|
449
|
+
depositionalAge?: string | null;
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* A BHR-GT layer that describes rock.
|
|
453
|
+
* Discriminate on `material === "rock"`.
|
|
454
|
+
*/
|
|
455
|
+
export interface BHRGTRockLayer extends BHRGTLayerBase {
|
|
456
|
+
material: "rock";
|
|
457
|
+
/** Rock description */
|
|
458
|
+
rock: RockDescription;
|
|
318
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* A BHR-GT described layer: either soil or rock.
|
|
462
|
+
*
|
|
463
|
+
* Narrow on the `material` discriminant:
|
|
464
|
+
* ```ts
|
|
465
|
+
* if (layer.material === "rock") layer.rock.rockType;
|
|
466
|
+
* else layer.geotechnicalSoilName;
|
|
467
|
+
* ```
|
|
468
|
+
*/
|
|
469
|
+
export type BHRGTLayer = BHRGTSoilLayer | BHRGTRockLayer;
|
|
319
470
|
/**
|
|
320
471
|
* Complete Bore data (metadata + layers)
|
|
321
472
|
*
|
|
322
473
|
* Note: BHRGTData represents BHR-GT-BMB (Boormonsterbeschrijving - visual/textural description)
|
|
323
474
|
* For laboratory analysis data, see the optional `analysis` field (BHR-GT-BMA)
|
|
324
475
|
*/
|
|
325
|
-
export interface BHRGTData {
|
|
476
|
+
export interface BHRGTData extends BRORegistrationObject {
|
|
326
477
|
/**
|
|
327
478
|
* Metadata about the parsed document (schema version, warnings)
|
|
328
479
|
*/
|
|
329
480
|
meta: ParseMeta;
|
|
330
|
-
broId: string | null;
|
|
331
481
|
/**
|
|
332
482
|
* User-defined identifier (not parsed from XML)
|
|
333
483
|
*
|
|
@@ -341,29 +491,38 @@ export interface BHRGTData {
|
|
|
341
491
|
* ```
|
|
342
492
|
*/
|
|
343
493
|
alias?: string;
|
|
344
|
-
|
|
345
|
-
* BRO quality regime
|
|
346
|
-
*
|
|
347
|
-
* - IMBRO: Strict regime (all mandatory fields required)
|
|
348
|
-
* - IMBRO/A: Relaxed regime for historical data (allows missing fields)
|
|
349
|
-
*/
|
|
350
|
-
qualityRegime: QualityRegime | null;
|
|
351
|
-
researchReportDate: Date | null;
|
|
494
|
+
researchReportDate: string | null;
|
|
352
495
|
deliveredLocation: Location | null;
|
|
353
496
|
standardizedLocation: Location | null;
|
|
354
497
|
deliveredVerticalPositionOffset: number | null;
|
|
355
498
|
deliveredVerticalPositionDatum: string | null;
|
|
356
499
|
deliveredVerticalPositionReferencePoint: string | null;
|
|
500
|
+
/** Soil use at the site (e.g., "akker", "grasland", "geenBodemgebruik") */
|
|
501
|
+
soilUse: string | null;
|
|
502
|
+
/** Position of the borehole on the ground body (e.g. "kruin", "talud") */
|
|
503
|
+
positionOnGroundBody: string | null;
|
|
504
|
+
/** Temporary change at the site at time of drilling (e.g. "geen") */
|
|
505
|
+
temporaryChange: string | null;
|
|
357
506
|
descriptionProcedure: string | null;
|
|
358
507
|
groundwaterLevel: number | null;
|
|
508
|
+
/** Mean highest groundwater level in m relative to local reference (GHG) */
|
|
509
|
+
meanHighestGroundwaterLevel: number | null;
|
|
510
|
+
/** Mean lowest groundwater level in m relative to local reference (GLG) */
|
|
511
|
+
meanLowestGroundwaterLevel: number | null;
|
|
359
512
|
boreRockReached: boolean | null;
|
|
360
513
|
finalBoreDepth: number | null;
|
|
361
514
|
finalSampleDepth: number | null;
|
|
515
|
+
/** Final depth reached during site preparation (m) */
|
|
516
|
+
finalDepthPreparation: number | null;
|
|
517
|
+
/** Final depth reached by excavation (m) */
|
|
518
|
+
finalDepthExcavation: number | null;
|
|
519
|
+
/** Final depth reached with a temporary casing (m) */
|
|
520
|
+
finalDepthTemporaryCasing: number | null;
|
|
362
521
|
boreHoleCompleted: boolean | null;
|
|
363
522
|
/** Start date of the boring operation */
|
|
364
|
-
boringStartDate:
|
|
523
|
+
boringStartDate: string | null;
|
|
365
524
|
/** End date of the boring operation */
|
|
366
|
-
boringEndDate:
|
|
525
|
+
boringEndDate: string | null;
|
|
367
526
|
/** Boring procedure standard used (e.g., "EN1997d2v2007") */
|
|
368
527
|
boringProcedure: string | null;
|
|
369
528
|
/** Boring technique used (e.g., "gestoken", "mechanischGestoken") */
|
|
@@ -374,6 +533,16 @@ export interface BHRGTData {
|
|
|
374
533
|
subsurfaceContaminated: boolean | null;
|
|
375
534
|
/** Stop criterion for boring */
|
|
376
535
|
stopCriterion: string | null;
|
|
536
|
+
/** Whether a flushing medium was used during boring */
|
|
537
|
+
flushingMediumUsed: boolean | null;
|
|
538
|
+
/** Flushing additive used during boring (e.g. "geen"), when a flushing medium was used */
|
|
539
|
+
flushingAdditive: string | null;
|
|
540
|
+
/** Whether a temporary casing was used during boring */
|
|
541
|
+
temporaryCasingUsed: boolean | null;
|
|
542
|
+
/** Site preparation before boring (e.g., "geen") */
|
|
543
|
+
preparation: string | null;
|
|
544
|
+
/** KvK number of the operator that carried out the research */
|
|
545
|
+
researchOperator: string | null;
|
|
377
546
|
/** Type of sampler used */
|
|
378
547
|
samplerType: string | null;
|
|
379
548
|
/** Sampling procedure standard */
|
|
@@ -411,7 +580,7 @@ export interface BHRGTData {
|
|
|
411
580
|
/** Description location (field/lab) */
|
|
412
581
|
descriptionLocation: string | null;
|
|
413
582
|
/** Date of description report */
|
|
414
|
-
descriptionReportDate:
|
|
583
|
+
descriptionReportDate: string | null;
|
|
415
584
|
/** Described material type */
|
|
416
585
|
describedMaterial: string | null;
|
|
417
586
|
/** Whether sampling was continuous */
|
|
@@ -428,8 +597,14 @@ export interface BHRGTData {
|
|
|
428
597
|
completedIntervals: Array<CompletedInterval>;
|
|
429
598
|
/** Array of intervals not described (with reason) */
|
|
430
599
|
notDescribedIntervals: Array<NotDescribedInterval>;
|
|
431
|
-
/**
|
|
432
|
-
|
|
600
|
+
/** Array of post-sedimentary discontinuities in the descriptive log */
|
|
601
|
+
postSedimentaryDiscontinuities: Array<PostSedimentaryDiscontinuity>;
|
|
602
|
+
/** Array of excavated layers (removed by excavation) */
|
|
603
|
+
excavatedLayers: Array<ExcavatedLayer>;
|
|
604
|
+
/** Boring velocity profile (elapsed time vs depth) */
|
|
605
|
+
boringVelocity: Array<BoringVelocityMeasurement>;
|
|
606
|
+
/** Fluid mud (slib) layer at the borehole, when present */
|
|
607
|
+
fluidMudLayer?: FluidMudLayer;
|
|
433
608
|
/** Report history with events */
|
|
434
609
|
reportHistory: ReportHistory | null;
|
|
435
610
|
/** Delivery context (e.g., "publiekeTaak") */
|
|
@@ -443,10 +618,139 @@ export interface BHRGTData {
|
|
|
443
618
|
/** Whether site characteristics were determined */
|
|
444
619
|
siteCharacteristicDetermined: boolean | null;
|
|
445
620
|
}
|
|
621
|
+
/** Munsell colour notation (BHR-G soil colour) */
|
|
622
|
+
export interface MunsellColour {
|
|
623
|
+
munsellHue: string | null;
|
|
624
|
+
munsellValue: string | null;
|
|
625
|
+
munsellChroma: string | null;
|
|
626
|
+
}
|
|
627
|
+
/** A constituent of the sand fraction */
|
|
628
|
+
export interface SandConstituent {
|
|
629
|
+
grainColour: string | null;
|
|
630
|
+
percentageClass: string | null;
|
|
631
|
+
archiveClass: string | null;
|
|
632
|
+
}
|
|
633
|
+
/** Sand fraction description (BHR-G soil) */
|
|
634
|
+
export interface SandFraction {
|
|
635
|
+
darkGrainContentClass: string | null;
|
|
636
|
+
darkGrainContentClassArchive: string | null;
|
|
637
|
+
angularity: string | null;
|
|
638
|
+
sandMedianClass: string | null;
|
|
639
|
+
sandSorting: string | null;
|
|
640
|
+
variegation: string | null;
|
|
641
|
+
anomalouslyCoarseContentClass: string | null;
|
|
642
|
+
anomalouslyCoarseContentClassArchive: string | null;
|
|
643
|
+
granuleContentClass: string | null;
|
|
644
|
+
granuleContentClassArchive: string | null;
|
|
645
|
+
estimatedMedian: number | null;
|
|
646
|
+
sandConstituents: Array<SandConstituent>;
|
|
647
|
+
}
|
|
648
|
+
/** A constituent of the shell fraction */
|
|
649
|
+
export interface ShellConstituent {
|
|
650
|
+
shellTaxon: string | null;
|
|
651
|
+
relativeAbundance: string | null;
|
|
652
|
+
relativeAbundanceClass: string | null;
|
|
653
|
+
relativeAbundanceClassArchive: string | null;
|
|
654
|
+
}
|
|
655
|
+
/** Shell fraction description (BHR-G soil) */
|
|
656
|
+
export interface ShellFraction {
|
|
657
|
+
gritContentClass: string | null;
|
|
658
|
+
fragmentContentClass: string | null;
|
|
659
|
+
remainsContentClass: string | null;
|
|
660
|
+
wholeContentClass: string | null;
|
|
661
|
+
doublets: string | null;
|
|
662
|
+
thickWalledContentClass: string | null;
|
|
663
|
+
thinWalledContentClass: string | null;
|
|
664
|
+
inSitu: string | null;
|
|
665
|
+
weatheringDegree: string | null;
|
|
666
|
+
shellConstituents: Array<ShellConstituent>;
|
|
667
|
+
}
|
|
668
|
+
/** A constituent of the gravel fraction */
|
|
669
|
+
export interface GravelConstituent {
|
|
670
|
+
gravelType: string | null;
|
|
671
|
+
fractionProportion: number | null;
|
|
672
|
+
archiveClass: string | null;
|
|
673
|
+
}
|
|
674
|
+
/** Gravel fraction description (BHR-G soil) */
|
|
675
|
+
export interface GravelFraction {
|
|
676
|
+
gravelMedianClass: string | null;
|
|
677
|
+
angularity: string | null;
|
|
678
|
+
fineGravelContentClass: string | null;
|
|
679
|
+
mediumCoarseGravelContentClass: string | null;
|
|
680
|
+
veryCoarseGravelContentClass: string | null;
|
|
681
|
+
ventifactPresent: string | null;
|
|
682
|
+
sphericity: string | null;
|
|
683
|
+
variegation: string | null;
|
|
684
|
+
gravelProvenance: string | null;
|
|
685
|
+
estimatedMedian: number | null;
|
|
686
|
+
gravelConstituents: Array<GravelConstituent>;
|
|
687
|
+
}
|
|
688
|
+
/** A constituent of the peat fraction */
|
|
689
|
+
export interface PeatConstituent {
|
|
690
|
+
plantRemainType: string | null;
|
|
691
|
+
percentageClass: string | null;
|
|
692
|
+
archiveClass: string | null;
|
|
693
|
+
}
|
|
694
|
+
/** Peat fraction description (BHR-G soil) */
|
|
695
|
+
export interface PeatFraction {
|
|
696
|
+
peatType: string | null;
|
|
697
|
+
peatConstituents: Array<PeatConstituent>;
|
|
698
|
+
}
|
|
699
|
+
/** A chunk (brok) of differing material within a layer */
|
|
700
|
+
export interface Chunk {
|
|
701
|
+
soilType: string | null;
|
|
702
|
+
sizeClass: string | null;
|
|
703
|
+
percentageClass: string | null;
|
|
704
|
+
archiveClass: string | null;
|
|
705
|
+
colour: string | null;
|
|
706
|
+
geologicalOrigin: string | null;
|
|
707
|
+
cemented: string | null;
|
|
708
|
+
}
|
|
709
|
+
/** Fine fraction distribution for organic soils (mass proportions, %) */
|
|
710
|
+
export interface FineFractionDistributionOrganicSoil {
|
|
711
|
+
estimatedMassProportionSand: number | null;
|
|
712
|
+
estimatedMassProportionSilt: number | null;
|
|
713
|
+
estimatedMassProportionLutum: number | null;
|
|
714
|
+
}
|
|
715
|
+
/** Fine fraction distribution for shelly soils (volume proportions, %) */
|
|
716
|
+
export interface FineFractionDistributionShellySoil {
|
|
717
|
+
estimatedVolumeProportionSand: number | null;
|
|
718
|
+
estimatedVolumeProportionSilt: number | null;
|
|
719
|
+
estimatedVolumeProportionLutum: number | null;
|
|
720
|
+
}
|
|
721
|
+
/** Estimated fraction distribution of a layer's soil */
|
|
722
|
+
export interface FractionDistribution {
|
|
723
|
+
fractionDistributionComplete: string | null;
|
|
724
|
+
estimatedMassProportionOrganicMatter: number | null;
|
|
725
|
+
estimatedMassProportionShellMatter: number | null;
|
|
726
|
+
estimatedVolumeProportionShellMatter: number | null;
|
|
727
|
+
estimatedMassProportionShell: number | null;
|
|
728
|
+
estimatedMassProportionGravel: number | null;
|
|
729
|
+
estimatedVolumeProportionGravel: number | null;
|
|
730
|
+
fineFractionDistributionOrganicSoil?: FineFractionDistributionOrganicSoil;
|
|
731
|
+
fineFractionDistributionShellySoil?: FineFractionDistributionShellySoil;
|
|
732
|
+
}
|
|
733
|
+
/** A mottle (vlek) in a layer */
|
|
734
|
+
export interface Mottle {
|
|
735
|
+
colour: string | null;
|
|
736
|
+
density: string | null;
|
|
737
|
+
inBands: string | null;
|
|
738
|
+
}
|
|
739
|
+
/** A thin stratum (laagje) interbedded in a layer */
|
|
740
|
+
export interface ThinStratum {
|
|
741
|
+
layerProportion: number | null;
|
|
742
|
+
layerProportionClass: string | null;
|
|
743
|
+
layerProportionClassArchive: string | null;
|
|
744
|
+
stratumThicknessClass: string | null;
|
|
745
|
+
geologicalOrigin: string | null;
|
|
746
|
+
}
|
|
446
747
|
/**
|
|
447
748
|
* BHR-G (Geological Borehole) layer data
|
|
448
749
|
*
|
|
449
750
|
* Contains all fields from the BRO BHR-G schema for a single soil layer.
|
|
751
|
+
* Soil-level fields are flattened directly onto the layer (matching the parser's
|
|
752
|
+
* existing style); genuinely nested sub-structures (fractions, mottles, chunks,
|
|
753
|
+
* thin strata) are modelled as nested objects/arrays.
|
|
450
754
|
*/
|
|
451
755
|
export interface BHRGLayer {
|
|
452
756
|
upperBoundary: number;
|
|
@@ -463,42 +767,90 @@ export interface BHRGLayer {
|
|
|
463
767
|
gravelContentClass?: string | null;
|
|
464
768
|
carbonateContentClass?: string | null;
|
|
465
769
|
sandMedianClass?: string | null;
|
|
770
|
+
/** Whether a post-sedimentary change is present (raw code) */
|
|
771
|
+
postSedimentary?: string | null;
|
|
772
|
+
horizonCode?: string | null;
|
|
773
|
+
humanTrace?: string | null;
|
|
774
|
+
geologicalOrigin?: string | null;
|
|
775
|
+
bioturbated?: string | null;
|
|
776
|
+
/** Sedimentary structures (0-3) */
|
|
777
|
+
structure?: Array<string>;
|
|
778
|
+
/** Vertical trends (0-3) */
|
|
779
|
+
verticalTrend?: Array<string>;
|
|
780
|
+
/** Archeological constituent types (0-5) */
|
|
781
|
+
archeologicalConstituents?: Array<string>;
|
|
782
|
+
/** Geological soil name (lithostratigraphic) */
|
|
783
|
+
geologicalSoilName?: string | null;
|
|
784
|
+
/** Shell matter content classification */
|
|
785
|
+
shellMatterContentClass?: string | null;
|
|
786
|
+
micaContentClass?: string | null;
|
|
787
|
+
micaContentClassArchive?: string | null;
|
|
788
|
+
shellMatterContentClassArchive?: string | null;
|
|
789
|
+
/** Very coarse fraction content classes (0-2) */
|
|
790
|
+
veryCoarseFractionContentClass?: Array<string>;
|
|
791
|
+
/** Very coarse fraction content classes, archive coding (0-2) */
|
|
792
|
+
veryCoarseFractionContentClassArchive?: Array<string>;
|
|
793
|
+
glauconiteContentClass?: string | null;
|
|
794
|
+
glauconiteContentClassArchive?: string | null;
|
|
795
|
+
sedimentaryPhenomenon?: string | null;
|
|
796
|
+
/** Animal fossil types found in the soil (0+) */
|
|
797
|
+
animalFossils?: Array<string>;
|
|
798
|
+
munsellColour?: MunsellColour;
|
|
799
|
+
sandFraction?: SandFraction;
|
|
800
|
+
shellFraction?: ShellFraction;
|
|
801
|
+
gravelFraction?: GravelFraction;
|
|
802
|
+
peatFraction?: PeatFraction;
|
|
803
|
+
fractionDistribution?: FractionDistribution;
|
|
804
|
+
/** Chunks of differing material (0-3) */
|
|
805
|
+
chunks?: Array<Chunk>;
|
|
806
|
+
/** Mottles (0-3) */
|
|
807
|
+
mottles?: Array<Mottle>;
|
|
808
|
+
/** Thin interbedded strata (0-4) */
|
|
809
|
+
thinStrata?: Array<ThinStratum>;
|
|
466
810
|
}
|
|
467
811
|
/**
|
|
468
812
|
* Complete BHR-G (Geological Borehole) data (metadata + layers)
|
|
469
813
|
*/
|
|
470
|
-
export interface BHRGData {
|
|
814
|
+
export interface BHRGData extends BRORegistrationObject {
|
|
471
815
|
/**
|
|
472
816
|
* Metadata about the parsed document (schema version, warnings)
|
|
473
817
|
*/
|
|
474
818
|
meta: ParseMeta;
|
|
475
|
-
broId: string | null;
|
|
476
819
|
/**
|
|
477
820
|
* User-defined identifier (not parsed from XML)
|
|
478
821
|
*/
|
|
479
822
|
alias?: string;
|
|
480
|
-
|
|
481
|
-
* BRO quality regime
|
|
482
|
-
*
|
|
483
|
-
* - IMBRO: Strict regime (all mandatory fields required)
|
|
484
|
-
* - IMBRO/A: Relaxed regime for historical data (allows missing fields)
|
|
485
|
-
*/
|
|
486
|
-
qualityRegime: QualityRegime | null;
|
|
487
|
-
researchReportDate: Date | null;
|
|
823
|
+
researchReportDate: string | null;
|
|
488
824
|
deliveredLocation: Location | null;
|
|
489
825
|
standardizedLocation: Location | null;
|
|
490
826
|
deliveredVerticalPositionOffset: number | null;
|
|
491
827
|
deliveredVerticalPositionDatum: string | null;
|
|
492
828
|
deliveredVerticalPositionReferencePoint: string | null;
|
|
829
|
+
/** Water depth at the borehole location (m), when the survey was over water */
|
|
830
|
+
waterDepth: number | null;
|
|
831
|
+
/** Date vertical position was determined */
|
|
832
|
+
verticalPositioningDate: string | null;
|
|
833
|
+
/** Method used to determine vertical position */
|
|
834
|
+
verticalPositioningMethod: string | null;
|
|
835
|
+
/** KvK number of the operator that determined the vertical position */
|
|
836
|
+
verticalPositioningOperator: string | null;
|
|
837
|
+
/** Landscape element at the site */
|
|
838
|
+
landscapeElement: string | null;
|
|
839
|
+
/** Hydrological setting at the site */
|
|
840
|
+
hydrologicalSetting: string | null;
|
|
841
|
+
/** Current geomorphological process at the site */
|
|
842
|
+
currentProcess: string | null;
|
|
493
843
|
descriptionProcedure: string | null;
|
|
844
|
+
/** Tool used for the sample description */
|
|
845
|
+
utensil: string | null;
|
|
494
846
|
boreRockReached: boolean | null;
|
|
495
847
|
finalBoreDepth: number | null;
|
|
496
848
|
finalSampleDepth: number | null;
|
|
497
849
|
boreHoleCompleted: string | null;
|
|
498
850
|
/** Start date of the boring operation */
|
|
499
|
-
boringStartDate:
|
|
851
|
+
boringStartDate: string | null;
|
|
500
852
|
/** End date of the boring operation */
|
|
501
|
-
boringEndDate:
|
|
853
|
+
boringEndDate: string | null;
|
|
502
854
|
/** Boring procedure standard used */
|
|
503
855
|
boringProcedure: string | null;
|
|
504
856
|
/** Boring technique used */
|
|
@@ -509,6 +861,8 @@ export interface BHRGData {
|
|
|
509
861
|
subsurfaceContaminated: boolean | null;
|
|
510
862
|
/** Stop criterion for boring */
|
|
511
863
|
stopCriterion: string | null;
|
|
864
|
+
/** Whether a flushing additive was used (raw code) */
|
|
865
|
+
flushingAdditiveUsed: string | null;
|
|
512
866
|
/** Sampling procedure standard */
|
|
513
867
|
samplingProcedure: string | null;
|
|
514
868
|
/** Sampling method used */
|
|
@@ -522,7 +876,7 @@ export interface BHRGData {
|
|
|
522
876
|
/** Description location (field/lab) */
|
|
523
877
|
descriptionLocation: string | null;
|
|
524
878
|
/** Date of description report */
|
|
525
|
-
descriptionReportDate:
|
|
879
|
+
descriptionReportDate: string | null;
|
|
526
880
|
/** Described material type */
|
|
527
881
|
describedMaterial: string | null;
|
|
528
882
|
/** Whether sampling was continuous */
|
|
@@ -534,8 +888,6 @@ export interface BHRGData {
|
|
|
534
888
|
boredIntervals: Array<BoredInterval>;
|
|
535
889
|
/** Array of sampled intervals with method and quality */
|
|
536
890
|
sampledIntervals: Array<SampledInterval>;
|
|
537
|
-
/** BRO registration history */
|
|
538
|
-
registrationHistory: RegistrationHistory | null;
|
|
539
891
|
/** Report history with events */
|
|
540
892
|
reportHistory: ReportHistory | null;
|
|
541
893
|
/** Delivery context (e.g., "archiefoverdracht") */
|
|
@@ -574,6 +926,19 @@ export interface SamplerDetails {
|
|
|
574
926
|
coreCatcherPresent: boolean | null;
|
|
575
927
|
pistonPresent: boolean | null;
|
|
576
928
|
}
|
|
929
|
+
/**
|
|
930
|
+
* Core recovery measurements for a sampled interval (rock coring)
|
|
931
|
+
*/
|
|
932
|
+
export interface CoreRecovery {
|
|
933
|
+
/** Total core recovery (%) */
|
|
934
|
+
totalCoreRecovery: number | null;
|
|
935
|
+
/** Solid core recovery (%) */
|
|
936
|
+
solidCoreRecovery: number | null;
|
|
937
|
+
/** Rock Quality Designation (%) */
|
|
938
|
+
rockQualityDesignation: number | null;
|
|
939
|
+
/** Whether the core recovery was determined in the field */
|
|
940
|
+
fieldDetermined: boolean | null;
|
|
941
|
+
}
|
|
577
942
|
/**
|
|
578
943
|
* Sampled interval - records sampling method and quality at specific depth ranges
|
|
579
944
|
*/
|
|
@@ -585,6 +950,8 @@ export interface SampledInterval {
|
|
|
585
950
|
samplingQuality: string | null;
|
|
586
951
|
orientatedSampled: boolean | null;
|
|
587
952
|
sampler?: SamplerDetails;
|
|
953
|
+
/** Core recovery measurements (rock coring), when determined */
|
|
954
|
+
coreRecovery?: CoreRecovery;
|
|
588
955
|
}
|
|
589
956
|
/**
|
|
590
957
|
* Completed interval - records how the borehole was completed/backfilled
|
|
@@ -593,10 +960,45 @@ export interface CompletedInterval {
|
|
|
593
960
|
beginDepth: number;
|
|
594
961
|
endDepth: number;
|
|
595
962
|
permanentCasingPresent: boolean | null;
|
|
963
|
+
/** Diameter of the permanent casing (mm) */
|
|
964
|
+
diameterPermanentCasing: number | null;
|
|
965
|
+
/** Material of the permanent casing */
|
|
966
|
+
materialPermanentCasing: string | null;
|
|
596
967
|
backfillMaterial: string | null;
|
|
597
968
|
backfillMaterialWashed: boolean | null;
|
|
598
969
|
backfillMaterialCertified: boolean | null;
|
|
599
970
|
}
|
|
971
|
+
/**
|
|
972
|
+
* Excavated layer - a layer removed by excavation before/during boring
|
|
973
|
+
*/
|
|
974
|
+
export interface ExcavatedLayer {
|
|
975
|
+
upperBoundary: number;
|
|
976
|
+
lowerBoundary: number;
|
|
977
|
+
/** Material that was excavated */
|
|
978
|
+
excavatedMaterial: string | null;
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Boring velocity measurement - drilling depth reached after a given elapsed time
|
|
982
|
+
*/
|
|
983
|
+
export interface BoringVelocityMeasurement {
|
|
984
|
+
/** Elapsed time (s) */
|
|
985
|
+
elapsedTime: number | null;
|
|
986
|
+
/** Depth reached (m) */
|
|
987
|
+
depth: number | null;
|
|
988
|
+
}
|
|
989
|
+
/**
|
|
990
|
+
* Fluid mud layer - a layer of fluid mud (slib) recorded at the borehole
|
|
991
|
+
*/
|
|
992
|
+
export interface FluidMudLayer {
|
|
993
|
+
/** Thickness of the fluid mud layer (m) */
|
|
994
|
+
thickness: number | null;
|
|
995
|
+
/** Colour of the fluid mud */
|
|
996
|
+
colour: string | null;
|
|
997
|
+
/** Method used to position the upper boundary */
|
|
998
|
+
upperBoundaryPositioningMethod: string | null;
|
|
999
|
+
/** Method used to position the lower boundary */
|
|
1000
|
+
lowerBoundaryPositioningMethod: string | null;
|
|
1001
|
+
}
|
|
600
1002
|
/**
|
|
601
1003
|
* Not described interval - records depth ranges that were not described and why
|
|
602
1004
|
*/
|
|
@@ -610,15 +1012,25 @@ export interface NotDescribedInterval {
|
|
|
610
1012
|
*/
|
|
611
1013
|
export interface IntermediateEvent {
|
|
612
1014
|
eventName: string | null;
|
|
613
|
-
eventDate:
|
|
1015
|
+
eventDate: string | null;
|
|
614
1016
|
}
|
|
615
1017
|
/**
|
|
616
1018
|
* Registration history - BRO administrative registration information
|
|
617
1019
|
*/
|
|
618
1020
|
export interface RegistrationHistory {
|
|
619
|
-
objectRegistrationTime:
|
|
1021
|
+
objectRegistrationTime: string | null;
|
|
620
1022
|
registrationStatus: string | null;
|
|
621
|
-
registrationCompletionTime:
|
|
1023
|
+
registrationCompletionTime: string | null;
|
|
1024
|
+
/** Time of the latest correction to the registered object */
|
|
1025
|
+
latestCorrectionTime: string | null;
|
|
1026
|
+
/** Time of the latest addition to the registered object */
|
|
1027
|
+
latestAdditionTime: string | null;
|
|
1028
|
+
/** Time the object was placed under review */
|
|
1029
|
+
underReviewTime: string | null;
|
|
1030
|
+
/** Time the object was deregistered */
|
|
1031
|
+
deregistrationTime: string | null;
|
|
1032
|
+
/** Time the object was reregistered after deregistration */
|
|
1033
|
+
reregistrationTime: string | null;
|
|
622
1034
|
corrected: boolean | null;
|
|
623
1035
|
underReview: boolean | null;
|
|
624
1036
|
deregistered: boolean | null;
|
|
@@ -628,8 +1040,8 @@ export interface RegistrationHistory {
|
|
|
628
1040
|
* Report history - records when and how data was reported
|
|
629
1041
|
*/
|
|
630
1042
|
export interface ReportHistory {
|
|
631
|
-
reportStartDate:
|
|
632
|
-
reportEndDate:
|
|
1043
|
+
reportStartDate: string | null;
|
|
1044
|
+
reportEndDate: string | null;
|
|
633
1045
|
intermediateEvents: Array<IntermediateEvent>;
|
|
634
1046
|
}
|
|
635
1047
|
/**
|
|
@@ -664,6 +1076,8 @@ export interface OrganicMatterContentDetermination {
|
|
|
664
1076
|
determinationProcedure: string | null;
|
|
665
1077
|
determinationMethod: string | null;
|
|
666
1078
|
removedMaterial: string | null;
|
|
1079
|
+
/** Whether a lutum (clay fraction) correction was applied to the result */
|
|
1080
|
+
lutumCorrectionApplied: boolean | null;
|
|
667
1081
|
organicMatterContent: number | null;
|
|
668
1082
|
}
|
|
669
1083
|
/**
|
|
@@ -682,6 +1096,8 @@ export interface VolumetricMassDensityOfSolidsDetermination {
|
|
|
682
1096
|
determinationProcedure: string | null;
|
|
683
1097
|
determinationMethod: string | null;
|
|
684
1098
|
liquidUsed: string | null;
|
|
1099
|
+
/** Volume of the sample container used (e.g., "100ml") */
|
|
1100
|
+
sampleContainerVolume: string | null;
|
|
685
1101
|
volumetricMassDensityOfSolids: number | null;
|
|
686
1102
|
}
|
|
687
1103
|
/**
|
|
@@ -696,9 +1112,13 @@ export interface ParticleSizeDistributionDetermination {
|
|
|
696
1112
|
removedMaterial: string | null;
|
|
697
1113
|
equivalentMassDeterminationMethod: string | null;
|
|
698
1114
|
equivalentMass: number | null;
|
|
1115
|
+
/** Optical model used (for laser-diffraction methods) */
|
|
1116
|
+
usedOpticalModel?: string | null;
|
|
699
1117
|
fractionSmaller63um: number | null;
|
|
700
1118
|
fractionLarger63um: number | null;
|
|
701
1119
|
fraction0to2um?: number | null;
|
|
1120
|
+
/** 2–32 µm fraction — only present in the coarser standardDistributionFractionSmaller63um group */
|
|
1121
|
+
fraction2to32um?: number | null;
|
|
702
1122
|
fraction2to4um?: number | null;
|
|
703
1123
|
fraction4to8um?: number | null;
|
|
704
1124
|
fraction8to16um?: number | null;
|
|
@@ -721,6 +1141,20 @@ export interface ParticleSizeDistributionDetermination {
|
|
|
721
1141
|
fraction16to31_5mm?: number | null;
|
|
722
1142
|
fraction31_5to63mm?: number | null;
|
|
723
1143
|
fractionLarger63mm?: number | null;
|
|
1144
|
+
fraction63to75um?: number | null;
|
|
1145
|
+
fraction75to90um?: number | null;
|
|
1146
|
+
fraction90to106um?: number | null;
|
|
1147
|
+
fraction106to125um?: number | null;
|
|
1148
|
+
fraction125to150um?: number | null;
|
|
1149
|
+
fraction150to180um?: number | null;
|
|
1150
|
+
fraction180to212um?: number | null;
|
|
1151
|
+
fraction212to250um?: number | null;
|
|
1152
|
+
fraction4to5_6mm?: number | null;
|
|
1153
|
+
fraction5_6to8mm?: number | null;
|
|
1154
|
+
fraction8to11_2mm?: number | null;
|
|
1155
|
+
fraction11_2to16mm?: number | null;
|
|
1156
|
+
fraction16to20mm?: number | null;
|
|
1157
|
+
fraction20to31_5mm?: number | null;
|
|
724
1158
|
}
|
|
725
1159
|
/**
|
|
726
1160
|
* Plasticity data point for Atterberg limits test
|
|
@@ -729,6 +1163,8 @@ export interface ParticleSizeDistributionDetermination {
|
|
|
729
1163
|
export interface PlasticityAtSpecificWaterContent {
|
|
730
1164
|
waterContent: number;
|
|
731
1165
|
numberOfFalls: number;
|
|
1166
|
+
/** Cone penetration depth in mm (fall-cone method) */
|
|
1167
|
+
penetrationDepth?: number | null;
|
|
732
1168
|
}
|
|
733
1169
|
/**
|
|
734
1170
|
* Consistency limits determination (Atterberg limits)
|
|
@@ -740,6 +1176,8 @@ export interface ConsistencyLimitsDetermination {
|
|
|
740
1176
|
fractionLarger500um: number | null;
|
|
741
1177
|
usedMedium: string | null;
|
|
742
1178
|
performanceIrregularity: string | null;
|
|
1179
|
+
/** Fall-cone apparatus type used (e.g., "zweedseConus30graden") */
|
|
1180
|
+
conusType: string | null;
|
|
743
1181
|
liquidLimit: number | null;
|
|
744
1182
|
plasticLimit: number | null;
|
|
745
1183
|
plasticityIndex: number | null;
|
|
@@ -753,6 +1191,17 @@ export interface HeightAtSpecificTime {
|
|
|
753
1191
|
time: number;
|
|
754
1192
|
height: number;
|
|
755
1193
|
}
|
|
1194
|
+
/**
|
|
1195
|
+
* Stress/strain measurement at a specific time during a settlement step
|
|
1196
|
+
* Columns of the StressAtSpecificSettlement time-series (oedometer/consolidation).
|
|
1197
|
+
*/
|
|
1198
|
+
export interface StressAtSpecificSettlement {
|
|
1199
|
+
elapsedTime: number;
|
|
1200
|
+
verticalStrain: number;
|
|
1201
|
+
excessPoreWaterPressure: number | null;
|
|
1202
|
+
verticalEffectiveStress: number | null;
|
|
1203
|
+
horizontalEffectiveStress: number | null;
|
|
1204
|
+
}
|
|
756
1205
|
/**
|
|
757
1206
|
* Single loading step in settlement characteristics test
|
|
758
1207
|
* Represents one stress increment in oedometer/consolidation test
|
|
@@ -765,6 +1214,24 @@ export interface SettlementDeterminationStep {
|
|
|
765
1214
|
stepType: string | null;
|
|
766
1215
|
verticalStress: number | null;
|
|
767
1216
|
heightChangeDuringSettlement: Array<HeightAtSpecificTime>;
|
|
1217
|
+
/** Stress/strain time-series for the step (alternative to heightChangeDuringSettlement) */
|
|
1218
|
+
stressChangeDuringSettlement?: Array<StressAtSpecificSettlement>;
|
|
1219
|
+
}
|
|
1220
|
+
/**
|
|
1221
|
+
* Saturation stage preceding compression in the oedometer/settlement test
|
|
1222
|
+
* Documents how the specimen was saturated before loading.
|
|
1223
|
+
*/
|
|
1224
|
+
export interface SaturationStageAtCompression {
|
|
1225
|
+
porousDiscWet: boolean | null;
|
|
1226
|
+
usedMedium: string | null;
|
|
1227
|
+
backPressure: number | null;
|
|
1228
|
+
constantHeight: boolean | null;
|
|
1229
|
+
specimenHeightAfterwards: number | null;
|
|
1230
|
+
disturbanceInduced: boolean | null;
|
|
1231
|
+
/** Maximum stress difference during saturation (kPa) */
|
|
1232
|
+
maximumStressDifference: number | null;
|
|
1233
|
+
/** Maximum strain during saturation (%) */
|
|
1234
|
+
maximumStrain: number | null;
|
|
768
1235
|
}
|
|
769
1236
|
/**
|
|
770
1237
|
* Settlement characteristics determination (oedometer/consolidation test)
|
|
@@ -781,6 +1248,8 @@ export interface SettlementCharacteristicsDetermination {
|
|
|
781
1248
|
apparatusDeformationApplied: boolean | null;
|
|
782
1249
|
bearingFrictionCorrectionApplied: boolean | null;
|
|
783
1250
|
irregularResult: boolean | null;
|
|
1251
|
+
/** Saturation stage performed before compression (optional) */
|
|
1252
|
+
saturationStageAtCompression?: SaturationStageAtCompression;
|
|
784
1253
|
determinationSteps: Array<SettlementDeterminationStep>;
|
|
785
1254
|
}
|
|
786
1255
|
/**
|
|
@@ -790,6 +1259,13 @@ export interface SaturatedPermeabilityAtSpecificDensity {
|
|
|
790
1259
|
dryVolumetricMassDensity: number | null;
|
|
791
1260
|
saturatedPermeability: number | null;
|
|
792
1261
|
}
|
|
1262
|
+
/**
|
|
1263
|
+
* Permeability at specific load measurement
|
|
1264
|
+
*/
|
|
1265
|
+
export interface SaturatedPermeabilityAtSpecificLoad {
|
|
1266
|
+
load: number | null;
|
|
1267
|
+
saturatedPermeability: number | null;
|
|
1268
|
+
}
|
|
793
1269
|
/**
|
|
794
1270
|
* Saturated permeability determination (hydraulic conductivity)
|
|
795
1271
|
* Used to determine water flow characteristics through soil
|
|
@@ -805,7 +1281,14 @@ export interface SaturatedPermeabilityDetermination {
|
|
|
805
1281
|
waterDegassed: boolean | null;
|
|
806
1282
|
temperature: number | null;
|
|
807
1283
|
maximumGradient: number | null;
|
|
1284
|
+
/** Whether the confining ring was water-repellent (raw code) */
|
|
1285
|
+
ringWaterRepellent: string | null;
|
|
1286
|
+
/** Water content after the test (%) */
|
|
1287
|
+
waterContentAfterwards: number | null;
|
|
1288
|
+
/** Material irregularities observed (0-2 codes) */
|
|
1289
|
+
materialIrregularity: Array<string>;
|
|
808
1290
|
saturatedPermeabilityAtSpecificDensity: Array<SaturatedPermeabilityAtSpecificDensity>;
|
|
1291
|
+
saturatedPermeabilityAtSpecificLoad: Array<SaturatedPermeabilityAtSpecificLoad>;
|
|
809
1292
|
}
|
|
810
1293
|
/**
|
|
811
1294
|
* Membrane correction data for triaxial test
|
|
@@ -839,6 +1322,8 @@ export interface SaturationStageAtLoading {
|
|
|
839
1322
|
effectivePressure: number | null;
|
|
840
1323
|
skemptonBCoefficient: number | null;
|
|
841
1324
|
disturbanceInduced: boolean | null;
|
|
1325
|
+
/** Stress difference during saturation (kPa) */
|
|
1326
|
+
stressDifference: number | null;
|
|
842
1327
|
}
|
|
843
1328
|
/**
|
|
844
1329
|
* Volume change measurement at specific time during consolidation
|
|
@@ -872,6 +1357,14 @@ export interface ShearStressAtSpecificStrain {
|
|
|
872
1357
|
porePressure?: number | null;
|
|
873
1358
|
volumeChange?: number | null;
|
|
874
1359
|
}
|
|
1360
|
+
/**
|
|
1361
|
+
* Reconstituted/remoulded specimen preparation for a triaxial loading test
|
|
1362
|
+
* Present when the specimen was made in the lab rather than taken intact.
|
|
1363
|
+
*/
|
|
1364
|
+
export interface SpecimenMadeForLoading {
|
|
1365
|
+
makingMethod: string | null;
|
|
1366
|
+
dryVolumetricMassDensity: number | null;
|
|
1367
|
+
}
|
|
875
1368
|
/**
|
|
876
1369
|
* Load stage data for triaxial test
|
|
877
1370
|
* Documents the shearing/loading phase of the test
|
|
@@ -908,6 +1401,7 @@ export interface ShearStressChangeDuringLoadingDetermination {
|
|
|
908
1401
|
stopCriterion: string | null;
|
|
909
1402
|
membraneCorrection?: MembraneCorrection;
|
|
910
1403
|
drainageStripCorrection?: DrainageStripCorrection;
|
|
1404
|
+
madeSpecimenForLoading?: SpecimenMadeForLoading;
|
|
911
1405
|
saturationStageAtLoading?: SaturationStageAtLoading;
|
|
912
1406
|
consolidationStageAtLoading?: ConsolidationStageAtLoading;
|
|
913
1407
|
loadStage?: LoadStage;
|
|
@@ -923,6 +1417,10 @@ export interface MaximumUndrainedShearStrengthDetermination {
|
|
|
923
1417
|
verticallyDetermined: boolean | null;
|
|
924
1418
|
sampleMoistness: string | null;
|
|
925
1419
|
maximumUndrainedShearStrength: number | null;
|
|
1420
|
+
/** Lowest measured maximum undrained shear strength (kPa) */
|
|
1421
|
+
lowestMaximumUndrainedShearStrength: number | null;
|
|
1422
|
+
/** Highest measured maximum undrained shear strength (kPa) */
|
|
1423
|
+
highestMaximumUndrainedShearStrength: number | null;
|
|
926
1424
|
}
|
|
927
1425
|
/**
|
|
928
1426
|
* Height measurement at specific time during consolidation in horizontal deformation test
|
|
@@ -1019,7 +1517,7 @@ export interface InvestigatedInterval {
|
|
|
1019
1517
|
* Contains laboratory test results for soil samples
|
|
1020
1518
|
*/
|
|
1021
1519
|
export interface BoreholeSampleAnalysis {
|
|
1022
|
-
analysisReportDate:
|
|
1520
|
+
analysisReportDate: string | null;
|
|
1023
1521
|
analysisProcedure: string | null;
|
|
1024
1522
|
investigatedIntervals: Array<InvestigatedInterval>;
|
|
1025
1523
|
}
|