@mailwoman/soil 9.4.0 → 10.1.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/README.md +118 -116
- package/lib/index.ts +66 -98
- package/lib/paths.ts +24 -0
- package/lib/schema.ts +188 -120
- package/lib/vocabulary.ts +40 -107
- package/out/index.d.ts +52 -70
- package/out/index.d.ts.map +1 -1
- package/out/index.js +24 -72
- package/out/index.js.map +1 -1
- package/out/paths.d.ts +19 -0
- package/out/paths.d.ts.map +1 -0
- package/out/paths.js +21 -0
- package/out/paths.js.map +1 -0
- package/out/schema.d.ts +187 -119
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +31 -31
- package/out/schema.js.map +1 -1
- package/out/sdk/acquire.d.ts +15 -24
- package/out/sdk/acquire.d.ts.map +1 -1
- package/out/sdk/acquire.js +5 -20
- package/out/sdk/acquire.js.map +1 -1
- package/out/sdk/build-soil.d.ts +67 -70
- package/out/sdk/build-soil.d.ts.map +1 -1
- package/out/sdk/build-soil.js +65 -95
- package/out/sdk/build-soil.js.map +1 -1
- package/out/sdk/cell-tiers.d.ts +7 -19
- package/out/sdk/cell-tiers.d.ts.map +1 -1
- package/out/sdk/cell-tiers.js +19 -38
- package/out/sdk/cell-tiers.js.map +1 -1
- package/out/sdk/cells.d.ts +15 -41
- package/out/sdk/cells.d.ts.map +1 -1
- package/out/sdk/cells.js +11 -38
- package/out/sdk/cells.js.map +1 -1
- package/out/sdk/client.d.ts +23 -48
- package/out/sdk/client.d.ts.map +1 -1
- package/out/sdk/client.js +19 -63
- package/out/sdk/client.js.map +1 -1
- package/out/sdk/download.d.ts +24 -47
- package/out/sdk/download.d.ts.map +1 -1
- package/out/sdk/download.js +14 -54
- package/out/sdk/download.js.map +1 -1
- package/out/sdk/ingest/chunk.d.ts +77 -0
- package/out/sdk/ingest/chunk.d.ts.map +1 -0
- package/out/sdk/{ingest-chunk.js → ingest/chunk.js} +19 -17
- package/out/sdk/ingest/chunk.js.map +1 -0
- package/out/sdk/ingest/worker.d.ts +9 -0
- package/out/sdk/ingest/worker.d.ts.map +1 -0
- package/out/{scripts/ingest-chunk.js → sdk/ingest/worker.js} +11 -10
- package/out/sdk/ingest/worker.js.map +1 -0
- package/out/sdk/ingest.d.ts +40 -52
- package/out/sdk/ingest.d.ts.map +1 -1
- package/out/sdk/ingest.js +18 -61
- package/out/sdk/ingest.js.map +1 -1
- package/out/sdk/measure-resolutions.d.ts +5 -16
- package/out/sdk/measure-resolutions.d.ts.map +1 -1
- package/out/sdk/measure-resolutions.js +3 -15
- package/out/sdk/measure-resolutions.js.map +1 -1
- package/out/sdk/reduce.d.ts +33 -59
- package/out/sdk/reduce.d.ts.map +1 -1
- package/out/sdk/reduce.js +47 -78
- package/out/sdk/reduce.js.map +1 -1
- package/out/sdk/survey-area.d.ts +16 -48
- package/out/sdk/survey-area.d.ts.map +1 -1
- package/out/sdk/survey-area.js +33 -77
- package/out/sdk/survey-area.js.map +1 -1
- package/out/sdk/tabular.d.ts +32 -31
- package/out/sdk/tabular.d.ts.map +1 -1
- package/out/sdk/tabular.js +58 -56
- package/out/sdk/tabular.js.map +1 -1
- package/out/sdk/test-kit.d.ts +57 -0
- package/out/sdk/test-kit.d.ts.map +1 -0
- package/out/{test-kit.js → sdk/test-kit.js} +18 -39
- package/out/sdk/test-kit.js.map +1 -0
- package/out/sdk/verify.d.ts +15 -51
- package/out/sdk/verify.d.ts.map +1 -1
- package/out/sdk/verify.js +19 -77
- package/out/sdk/verify.js.map +1 -1
- package/out/vocabulary.d.ts +37 -103
- package/out/vocabulary.d.ts.map +1 -1
- package/out/vocabulary.js +34 -107
- package/out/vocabulary.js.map +1 -1
- package/package.json +36 -190
- package/{lib/sdk → sdk}/acquire.ts +17 -27
- package/{lib/sdk → sdk}/build-soil.ts +114 -128
- package/{lib/sdk → sdk}/cell-tiers.ts +20 -39
- package/{lib/sdk → sdk}/cells.ts +17 -43
- package/sdk/client.ts +147 -0
- package/sdk/download.ts +131 -0
- package/{lib/sdk/ingest-chunk.ts → sdk/ingest/chunk.ts} +34 -26
- package/{lib/scripts/ingest-chunk.ts → sdk/ingest/worker.ts} +10 -9
- package/sdk/ingest.ts +253 -0
- package/{lib/sdk → sdk}/measure-resolutions.ts +5 -16
- package/sdk/reduce.ts +344 -0
- package/{lib/sdk → sdk}/survey-area.ts +39 -83
- package/{lib/sdk → sdk}/tabular.ts +62 -59
- package/{lib → sdk}/test-kit.ts +18 -40
- package/{lib/sdk → sdk}/verify.ts +29 -85
- package/lib/sdk/client.ts +0 -184
- package/lib/sdk/download.ts +0 -161
- package/lib/sdk/index.ts +0 -20
- package/lib/sdk/ingest.ts +0 -278
- package/lib/sdk/reduce.ts +0 -375
- package/out/scripts/ingest-chunk.d.ts +0 -11
- package/out/scripts/ingest-chunk.d.ts.map +0 -1
- package/out/scripts/ingest-chunk.js.map +0 -1
- package/out/sdk/index.d.ts +0 -20
- package/out/sdk/index.d.ts.map +0 -1
- package/out/sdk/index.js +0 -20
- package/out/sdk/index.js.map +0 -1
- package/out/sdk/ingest-chunk.d.ts +0 -73
- package/out/sdk/ingest-chunk.d.ts.map +0 -1
- package/out/sdk/ingest-chunk.js.map +0 -1
- package/out/test-kit.d.ts +0 -79
- package/out/test-kit.d.ts.map +0 -1
- package/out/test-kit.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"survey-area.js","sourceRoot":"","sources":["../../lib/sdk/survey-area.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"survey-area.js","sourceRoot":"","sources":["../../sdk/survey-area.ts"],"names":[],"mappings":"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"}
|
package/out/sdk/tabular.d.ts
CHANGED
|
@@ -3,27 +3,24 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Reads the pipe-delimited NASIS export inside a survey-area archive. It maps files to tables and columns to
|
|
7
|
+
* positions, then reads the authority's declared domains.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* "the source changed" into "there is none of it", at exactly the measurement boundary where that lie
|
|
15
|
-
* costs the most.
|
|
9
|
+
* The files have no headers. The archive supplies their schema. `mstab.txt` maps each logical table name to a
|
|
10
|
+
* filename (`component` → `comp.txt`, `sacatalog` → `sacatlog.txt`). The filenames cannot be inferred. `mstabcol.txt`
|
|
11
|
+
* gives each column's ordinal position. The reader looks up those positions instead of hard-coding them.
|
|
12
|
+
* {@link readTable} throws when a requested column is absent from the shipped dictionary. An `undefined` result
|
|
13
|
+
* for a renamed column would turn a source change into an apparent absence. That would corrupt the measurement.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* enough to keep going.
|
|
15
|
+
* Quote handling affects the parsed result. `sacatlog.txt` contains 594 newline bytes and one record. Its
|
|
16
|
+
* `fgdcmetadata` column contains a 43,251-character XML document with embedded newlines. `mstabcol.txt`, the column
|
|
17
|
+
* dictionary, contains 913 newlines and 865 records. A line-splitting reader would create 594 malformed rows from
|
|
18
|
+
* the one-row `sacatlog.txt` file. Each malformed row would still look valid enough to process.
|
|
22
19
|
*
|
|
23
|
-
*
|
|
24
|
-
* `msdomdet.txt`
|
|
25
|
-
* capability classes 1 through 8, subclasses `c`/`e`/`s`/`w`,
|
|
26
|
-
*
|
|
20
|
+
* The archive also supplies its declared domains. Those values remove the need to transcribe them by hand.
|
|
21
|
+
* `msdomdet.txt` lists every `Choice` column's members and the authority's prose definition. It includes
|
|
22
|
+
* capability classes 1 through 8, subclasses `c`/`e`/`s`/`w`, 28 conditional farmland classifications and six
|
|
23
|
+
* component kinds. The layer stores and validates those values.
|
|
27
24
|
*/
|
|
28
25
|
import { type PathBuilderLike } from "path-ts";
|
|
29
26
|
/**
|
|
@@ -31,7 +28,7 @@ import { type PathBuilderLike } from "path-ts";
|
|
|
31
28
|
*/
|
|
32
29
|
export type TabularRow = ReadonlyArray<string>;
|
|
33
30
|
/**
|
|
34
|
-
*
|
|
31
|
+
* Maps each table to a file and to its column positions, as recorded in the archive's dictionary.
|
|
35
32
|
*/
|
|
36
33
|
export interface TabularDictionary {
|
|
37
34
|
/**
|
|
@@ -52,8 +49,9 @@ export declare function readTabularDictionary(tabularDirectory: PathBuilderLike)
|
|
|
52
49
|
/**
|
|
53
50
|
* A reader over one logical table, projecting the columns a caller names.
|
|
54
51
|
*
|
|
55
|
-
* The projection
|
|
56
|
-
*
|
|
52
|
+
* The projection selects columns by name and throws when a name is missing.
|
|
53
|
+
* This prevents a silently dropped column from appearing downstream as an empty dataset,
|
|
54
|
+
* the failure behind the repository's worst measurement bugs.
|
|
57
55
|
*/
|
|
58
56
|
export interface TabularTable {
|
|
59
57
|
/**
|
|
@@ -66,10 +64,10 @@ export interface TabularTable {
|
|
|
66
64
|
recordCount: number;
|
|
67
65
|
}
|
|
68
66
|
/**
|
|
69
|
-
* Read a logical
|
|
67
|
+
* Read a logical ssurgo table, projecting `wanted` columns.
|
|
70
68
|
*
|
|
71
|
-
* @throws {Error} When the archive declares no file for the table, when a requested column is not in
|
|
72
|
-
*
|
|
69
|
+
* @throws {Error} When the archive declares no file for the table, when a requested column is not in
|
|
70
|
+
* the shipped dictionary, or when a record is narrower than the position a requested column sits at.
|
|
73
71
|
*/
|
|
74
72
|
export declare function readTable(tabularDirectory: PathBuilderLike, dictionary: TabularDictionary, table: string, wanted: ReadonlyArray<string>): Promise<TabularTable>;
|
|
75
73
|
/**
|
|
@@ -92,15 +90,18 @@ export declare function readDeclaredDomains(tabularDirectory: PathBuilderLike):
|
|
|
92
90
|
*/
|
|
93
91
|
export declare function domainCodes(members: ReadonlyArray<DomainMember>, domain: string): Set<string>;
|
|
94
92
|
/**
|
|
95
|
-
* `M/D/
|
|
93
|
+
* `M/D/yyyy H:MM:SS` (and the `MM/DD/yyyy HH:MM:SS` the tabular export writes) to an ISO date.
|
|
96
94
|
*
|
|
97
|
-
*
|
|
98
|
-
* `sacatlog.txt` writes `09/09/2025 13:57:25
|
|
99
|
-
* slicing the string is what makes both channels agree.
|
|
95
|
+
* Soil Data Access writes `9/9/2025 1:57:25 PM`.
|
|
96
|
+
* The shipped `sacatlog.txt` writes the same instant as `09/09/2025 13:57:25`.
|
|
100
97
|
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
98
|
+
* The download URL needs `2025-09-09`.
|
|
99
|
+
* Both channels agree only when the code parses the value as a date instead of slicing the string.
|
|
100
|
+
*
|
|
101
|
+
* @throws {Error} When the value is not one of those shapes.
|
|
102
|
+
* An incorrect freshness date requests a nonexistent file.
|
|
103
|
+
* The host returns 400 for the request.
|
|
104
|
+
* A 404 would identify a missing file.
|
|
104
105
|
*/
|
|
105
106
|
export declare function saverestToISODate(value: string): string;
|
|
106
107
|
//# sourceMappingURL=tabular.d.ts.map
|
package/out/sdk/tabular.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabular.d.ts","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"tabular.d.ts","sourceRoot":"","sources":["../../sdk/tabular.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAe,KAAK,eAAe,EAAsB,MAAM,SAAS,CAAA;AAG/E;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAqB9C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACzD;AA0BD;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgCzG;AAYD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3C;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC9B,gBAAgB,EAAE,eAAe,EACjC,UAAU,EAAE,iBAAiB,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC3B,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CAChB;AAYD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAWpG;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAU7F;AAED;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYvD"}
|
package/out/sdk/tabular.js
CHANGED
|
@@ -3,59 +3,53 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Reads the pipe-delimited NASIS export inside a survey-area archive. It maps files to tables and columns to
|
|
7
|
+
* positions, then reads the authority's declared domains.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* "the source changed" into "there is none of it", at exactly the measurement boundary where that lie
|
|
15
|
-
* costs the most.
|
|
9
|
+
* The files have no headers. The archive supplies their schema. `mstab.txt` maps each logical table name to a
|
|
10
|
+
* filename (`component` → `comp.txt`, `sacatalog` → `sacatlog.txt`). The filenames cannot be inferred. `mstabcol.txt`
|
|
11
|
+
* gives each column's ordinal position. The reader looks up those positions instead of hard-coding them.
|
|
12
|
+
* {@link readTable} throws when a requested column is absent from the shipped dictionary. An `undefined` result
|
|
13
|
+
* for a renamed column would turn a source change into an apparent absence. That would corrupt the measurement.
|
|
16
14
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* enough to keep going.
|
|
15
|
+
* Quote handling affects the parsed result. `sacatlog.txt` contains 594 newline bytes and one record. Its
|
|
16
|
+
* `fgdcmetadata` column contains a 43,251-character XML document with embedded newlines. `mstabcol.txt`, the column
|
|
17
|
+
* dictionary, contains 913 newlines and 865 records. A line-splitting reader would create 594 malformed rows from
|
|
18
|
+
* the one-row `sacatlog.txt` file. Each malformed row would still look valid enough to process.
|
|
22
19
|
*
|
|
23
|
-
*
|
|
24
|
-
* `msdomdet.txt`
|
|
25
|
-
* capability classes 1 through 8, subclasses `c`/`e`/`s`/`w`,
|
|
26
|
-
*
|
|
20
|
+
* The archive also supplies its declared domains. Those values remove the need to transcribe them by hand.
|
|
21
|
+
* `msdomdet.txt` lists every `Choice` column's members and the authority's prose definition. It includes
|
|
22
|
+
* capability classes 1 through 8, subclasses `c`/`e`/`s`/`w`, 28 conditional farmland classifications and six
|
|
23
|
+
* component kinds. The layer stores and validates those values.
|
|
27
24
|
*/
|
|
28
25
|
import { readLocalBuffer } from "@mailwoman/core/fs/readers";
|
|
29
|
-
import {
|
|
26
|
+
import { stringifyJSON } from "@mailwoman/core/json";
|
|
27
|
+
import { PathBuilder, resolvePathBuilder } from "path-ts";
|
|
30
28
|
import { CSVSpliterator } from "spliterator";
|
|
31
29
|
/**
|
|
32
30
|
* Read one pipe-delimited export file into rows.
|
|
33
31
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
32
|
+
* Quote-aware parsing preserves embedded newlines; `header: false` keeps the first record
|
|
33
|
+
* because these files have no header.
|
|
36
34
|
*/
|
|
37
35
|
async function readPipeDelimited(path) {
|
|
38
36
|
const rows = [];
|
|
39
37
|
for (const row of CSVSpliterator.from(await readLocalBuffer(path), {
|
|
40
|
-
mode: "array",
|
|
41
38
|
header: false,
|
|
42
39
|
columnDelimiter: "|",
|
|
43
|
-
enableQuoteHandling: true,
|
|
44
40
|
})) {
|
|
45
|
-
|
|
46
|
-
// numeric-looking columns at RUNTIME — measured: `mukey` comes back as the number 412818, not `"412818"` — so a row
|
|
47
|
-
// passed through untouched stops joining against the shapefile's own `MUKEY`. An empty column arrives as `""`
|
|
48
|
-
// rather than as null, which is why nothing here has to decide what a missing value means.
|
|
49
|
-
rows.push(row.map((value) => String(value)));
|
|
41
|
+
rows.push(row);
|
|
50
42
|
}
|
|
51
43
|
return rows;
|
|
52
44
|
}
|
|
53
45
|
/**
|
|
54
46
|
* Column positions in `mstab.txt` and `mstabcol.txt` themselves.
|
|
55
47
|
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
48
|
+
* This module hard-codes only these two positions.
|
|
49
|
+
* It cannot look them up because they initialize the lookup.
|
|
50
|
+
*
|
|
51
|
+
* `mstabcol.txt` declares positions for both files.
|
|
52
|
+
* The assertions below check the bootstrap against the archive's own dictionary.
|
|
59
53
|
*/
|
|
60
54
|
const MSTAB_TABLE_NAME = 0;
|
|
61
55
|
const MSTAB_FILE_NAME = 4;
|
|
@@ -63,9 +57,10 @@ const MSTABCOL_TABLE_NAME = 0;
|
|
|
63
57
|
const MSTABCOL_POSITION = 1;
|
|
64
58
|
const MSTABCOL_COLUMN_NAME = 2;
|
|
65
59
|
/**
|
|
66
|
-
* Declared widths of the two bootstrap files, asserted before either is read as a dictionary.
|
|
67
|
-
*
|
|
68
|
-
*
|
|
60
|
+
* Declared widths of the two bootstrap files, asserted before either is read as a dictionary.
|
|
61
|
+
*
|
|
62
|
+
* A different width means the metadata format changed.
|
|
63
|
+
* Changed-format positions could misread every column.
|
|
69
64
|
*/
|
|
70
65
|
const MSTAB_WIDTH = 5;
|
|
71
66
|
const MSTABCOL_WIDTH = 14;
|
|
@@ -75,8 +70,9 @@ const MSTABCOL_WIDTH = 14;
|
|
|
75
70
|
* @throws {Error} When either bootstrap file is missing or is not the declared width.
|
|
76
71
|
*/
|
|
77
72
|
export async function readTabularDictionary(tabularDirectory) {
|
|
78
|
-
const
|
|
79
|
-
const
|
|
73
|
+
const directory = PathBuilder.from(tabularDirectory);
|
|
74
|
+
const mstab = await readPipeDelimited(directory("mstab.txt"));
|
|
75
|
+
const mstabcol = await readPipeDelimited(directory("mstabcol.txt"));
|
|
80
76
|
assertWidth(mstab, MSTAB_WIDTH, "mstab.txt");
|
|
81
77
|
assertWidth(mstabcol, MSTABCOL_WIDTH, "mstabcol.txt");
|
|
82
78
|
const files = new Map();
|
|
@@ -103,30 +99,30 @@ function assertWidth(rows, width, name) {
|
|
|
103
99
|
}
|
|
104
100
|
}
|
|
105
101
|
/**
|
|
106
|
-
* Read a logical
|
|
102
|
+
* Read a logical ssurgo table, projecting `wanted` columns.
|
|
107
103
|
*
|
|
108
|
-
* @throws {Error} When the archive declares no file for the table, when a requested column is not in
|
|
109
|
-
*
|
|
104
|
+
* @throws {Error} When the archive declares no file for the table, when a requested column is not in
|
|
105
|
+
* the shipped dictionary, or when a record is narrower than the position a requested column sits at.
|
|
110
106
|
*/
|
|
111
107
|
export async function readTable(tabularDirectory, dictionary, table, wanted) {
|
|
112
108
|
const file = dictionary.files.get(table);
|
|
113
109
|
if (!file) {
|
|
114
|
-
throw new Error(`soil tabular: the archive's mstab.txt declares no file for table ${
|
|
110
|
+
throw new Error(`soil tabular: the archive's mstab.txt declares no file for table ${stringifyJSON(table)}`);
|
|
115
111
|
}
|
|
116
112
|
const positions = dictionary.columns.get(table);
|
|
117
113
|
if (!positions) {
|
|
118
|
-
throw new Error(`soil tabular: the archive's mstabcol.txt declares no columns for table ${
|
|
114
|
+
throw new Error(`soil tabular: the archive's mstabcol.txt declares no columns for table ${stringifyJSON(table)}`);
|
|
119
115
|
}
|
|
120
116
|
const projection = [];
|
|
121
117
|
for (const column of wanted) {
|
|
122
118
|
const position = positions.get(column);
|
|
123
119
|
if (position === undefined) {
|
|
124
|
-
throw new Error(`soil tabular: table ${table} declares no column ${
|
|
120
|
+
throw new Error(`soil tabular: table ${table} declares no column ${stringifyJSON(column)} — the shipped dictionary names ${positions.size} columns, and projecting away a column a caller asked for would read downstream as an absence`);
|
|
125
121
|
}
|
|
126
122
|
projection.push([column, position]);
|
|
127
123
|
}
|
|
128
124
|
const rows = [];
|
|
129
|
-
const raw = await readPipeDelimited(
|
|
125
|
+
const raw = await readPipeDelimited(resolvePathBuilder(tabularDirectory, `${file}.txt`));
|
|
130
126
|
for (const [index, row] of raw.entries()) {
|
|
131
127
|
const record = {};
|
|
132
128
|
for (const [column, position] of projection) {
|
|
@@ -140,9 +136,12 @@ export async function readTable(tabularDirectory, dictionary, table, wanted) {
|
|
|
140
136
|
return { rows, recordCount: raw.length };
|
|
141
137
|
}
|
|
142
138
|
/**
|
|
143
|
-
* Column positions in `msdomdet.txt`.
|
|
144
|
-
*
|
|
145
|
-
*
|
|
139
|
+
* Column positions in `msdomdet.txt`.
|
|
140
|
+
*
|
|
141
|
+
* Declared in `mstabcol.txt` under table `msdomdet`, so unlike the two bootstrap
|
|
142
|
+
* files above these could be looked up.
|
|
143
|
+
* They are listed here because the domain read runs before any dictionary-driven read
|
|
144
|
+
* and the file is five columns wide by its own declaration.
|
|
146
145
|
*/
|
|
147
146
|
const MSDOMDET_WIDTH = 5;
|
|
148
147
|
/**
|
|
@@ -151,7 +150,7 @@ const MSDOMDET_WIDTH = 5;
|
|
|
151
150
|
* @throws {Error} When the file is not the declared width.
|
|
152
151
|
*/
|
|
153
152
|
export async function readDeclaredDomains(tabularDirectory) {
|
|
154
|
-
const rows = await readPipeDelimited(
|
|
153
|
+
const rows = await readPipeDelimited(resolvePathBuilder(tabularDirectory, "msdomdet.txt"));
|
|
155
154
|
assertWidth(rows, MSDOMDET_WIDTH, "msdomdet.txt");
|
|
156
155
|
return rows.map((row) => ({
|
|
157
156
|
domain: row[0],
|
|
@@ -173,21 +172,24 @@ export function domainCodes(members, domain) {
|
|
|
173
172
|
return codes;
|
|
174
173
|
}
|
|
175
174
|
/**
|
|
176
|
-
* `M/D/
|
|
175
|
+
* `M/D/yyyy H:MM:SS` (and the `MM/DD/yyyy HH:MM:SS` the tabular export writes) to an ISO date.
|
|
176
|
+
*
|
|
177
|
+
* Soil Data Access writes `9/9/2025 1:57:25 PM`.
|
|
178
|
+
* The shipped `sacatlog.txt` writes the same instant as `09/09/2025 13:57:25`.
|
|
177
179
|
*
|
|
178
|
-
* The
|
|
179
|
-
*
|
|
180
|
-
* slicing the string is what makes both channels agree.
|
|
180
|
+
* The download URL needs `2025-09-09`.
|
|
181
|
+
* Both channels agree only when the code parses the value as a date instead of slicing the string.
|
|
181
182
|
*
|
|
182
|
-
* @throws {Error} When the value is not one of those shapes.
|
|
183
|
-
*
|
|
184
|
-
*
|
|
183
|
+
* @throws {Error} When the value is not one of those shapes.
|
|
184
|
+
* An incorrect freshness date requests a nonexistent file.
|
|
185
|
+
* The host returns 400 for the request.
|
|
186
|
+
* A 404 would identify a missing file.
|
|
185
187
|
*/
|
|
186
|
-
// repo-health-ignore export-name-affix -- parses the survey's M/D/
|
|
188
|
+
// repo-health-ignore export-name-affix -- parses the survey's M/D/yyyy form; `isoDate` formats a Date and reads none.
|
|
187
189
|
export function saverestToISODate(value) {
|
|
188
190
|
const matched = /^(\d{1,2})\/(\d{1,2})\/(\d{4})/u.exec(value.trim());
|
|
189
191
|
if (!matched) {
|
|
190
|
-
throw new Error(`soil tabular: cannot read ${
|
|
192
|
+
throw new Error(`soil tabular: cannot read ${stringifyJSON(value)} as a saverest date — expected M/D/YYYY, which is what both Soil Data Access and the shipped sacatlog.txt write`);
|
|
191
193
|
}
|
|
192
194
|
const [, month, day, year] = matched;
|
|
193
195
|
return `${year}-${month.padStart(2, "0")}-${day.padStart(2, "0")}`;
|
package/out/sdk/tabular.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../
|
|
1
|
+
{"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../sdk/tabular.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
import type { SoilComponentTable, SoilMapUnitTable } from "#schema";
|
|
7
|
+
import type { SoilDelineation, SoilFeatureSource } from "#sdk/ingest";
|
|
8
|
+
import type { SurveyAreaAttributes } from "#sdk/survey-area";
|
|
9
|
+
/**
|
|
10
|
+
* Where the fixture geometry sits — central Iowa, so the cells it produces
|
|
11
|
+
* are the ones a real build would use.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FIXTURE_ORIGIN: {
|
|
14
|
+
lat: number;
|
|
15
|
+
lon: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Degrees per fixture square side, about 1.6 km here — several resolution-9 cells across,
|
|
19
|
+
* so a square has both an interior and a fringe.
|
|
20
|
+
*/
|
|
21
|
+
export declare const FIXTURE_SIDE = 0.015;
|
|
22
|
+
/**
|
|
23
|
+
* The fixture map units, each exercising exactly one reading.
|
|
24
|
+
*/
|
|
25
|
+
export declare function fixtureMapUnits(areaSymbol?: string): SoilMapUnitTable[];
|
|
26
|
+
/**
|
|
27
|
+
* The fixture components; `mu-mixed` is 45/35/20 across three classes, the case a
|
|
28
|
+
* winner-class schema would report as class 2 and this one as a mixture.
|
|
29
|
+
*/
|
|
30
|
+
export declare function fixtureComponents(): SoilComponentTable[];
|
|
31
|
+
/**
|
|
32
|
+
* The declared domains a fixture build validates and stores, matching what the real `msdomdet.txt` ships.
|
|
33
|
+
*/
|
|
34
|
+
export declare function fixtureDomains(): SurveyAreaAttributes["domains"];
|
|
35
|
+
/**
|
|
36
|
+
* The fixture delineations include mixed, class-8, water and unrated squares, plus a `notcom` square.
|
|
37
|
+
* They sit left to right, each on its own ground area.
|
|
38
|
+
*/
|
|
39
|
+
export declare function fixtureDelineations(areaSymbol?: string): SoilDelineation[];
|
|
40
|
+
/**
|
|
41
|
+
* The outline covering every fixture delineation, with margin because the coverage
|
|
42
|
+
* test keeps only cells lying wholly inside the outline.
|
|
43
|
+
*/
|
|
44
|
+
export declare function fixtureOutline(margin?: number): {
|
|
45
|
+
type: "Polygon";
|
|
46
|
+
coordinates: number[][][];
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* A feature source over hand-built delineations.
|
|
50
|
+
*/
|
|
51
|
+
export declare function fixtureSource(delineations: SoilDelineation[], areaSymbol?: string): SoilFeatureSource;
|
|
52
|
+
/**
|
|
53
|
+
* One fixture survey area's attributes; `areaAcres` is left NULL on purpose so the area
|
|
54
|
+
* cross-check compares against the authority rather than this package's own arithmetic.
|
|
55
|
+
*/
|
|
56
|
+
export declare function fixtureAttributes(areaSymbol?: string): SurveyAreaAttributes;
|
|
57
|
+
//# sourceMappingURL=test-kit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-kit.d.ts","sourceRoot":"","sources":["../../sdk/test-kit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,cAAc;IAAK,GAAG;IAAQ,GAAG;CAAS,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,YAAY,QAAQ,CAAA;AAEjC;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,SAAU,GAAG,gBAAgB,EAAE,CAoExE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,EAAE,CAcxD;AAwBD;;GAEG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAiBhE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,SAAU,GAAG,eAAe,EAAE,CAU3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;CAAE,CAS5F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,UAAU,SAAU,GAAG,iBAAiB,CAatG;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAU,GAAG,oBAAoB,CAe5E"}
|
|
@@ -2,38 +2,22 @@
|
|
|
2
2
|
* @copyright Sister Software
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
|
-
*
|
|
6
|
-
* Hand-built survey areas for the fixture rung: geometry, attributes and an outline, with no network and
|
|
7
|
-
* no GDAL in the loop.
|
|
8
|
-
*
|
|
9
|
-
* A FIXTURE RUNG THAT COULD ONLY RUN THROUGH ogr2ogr WOULD TEST THE CONVERSION ON THE MACHINES THAT HAVE
|
|
10
|
-
* IT AND NOTHING AT ALL ON THE ONES THAT DO NOT. What these fixtures exercise is the whole database half —
|
|
11
|
-
* the declared-domain check, the cell classification, the area-weighted reduction, the four absence
|
|
12
|
-
* shares, the coverage rows, the manifest and the seal.
|
|
13
|
-
*
|
|
14
|
-
* THE ABSENCE CASES ARE THE POINT, AND IOWA HAS NONE OF THEM. Every Iowa survey area is fully digitized,
|
|
15
|
-
* so `NOTCOM`, `NOTPUB` and access-denied map units never appear in the live build — which means the only
|
|
16
|
-
* place `nodata_share` can be exercised is here. The same is true of a component whose rating is NULL for
|
|
17
|
-
* the not-rateable reason and of a class-8 rating: both exist in Iowa but sparsely, and a fixture pins the
|
|
18
|
-
* behaviour rather than hoping a county contains one.
|
|
19
5
|
*/
|
|
20
|
-
// The exterior and hole ring builders live in `@mailwoman/spatial
|
|
21
|
-
//
|
|
6
|
+
// The exterior and hole ring builders live in `@mailwoman/spatial`; a second copy
|
|
7
|
+
// is a second place for a hole to stop being one.
|
|
22
8
|
import { rectangleRing } from "@mailwoman/spatial";
|
|
23
9
|
/**
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Where the fixture geometry sits — central Iowa, so the cells it produces are the ones a real build would use.
|
|
10
|
+
* Where the fixture geometry sits — central Iowa, so the cells it produces
|
|
11
|
+
* are the ones a real build would use.
|
|
28
12
|
*/
|
|
29
13
|
export const FIXTURE_ORIGIN = { lat: 41.6, lon: -93.6 };
|
|
30
14
|
/**
|
|
31
|
-
* Degrees per fixture square side
|
|
32
|
-
* square has both an interior and a fringe.
|
|
15
|
+
* Degrees per fixture square side, about 1.6 km here — several resolution-9 cells across,
|
|
16
|
+
* so a square has both an interior and a fringe.
|
|
33
17
|
*/
|
|
34
18
|
export const FIXTURE_SIDE = 0.015;
|
|
35
19
|
/**
|
|
36
|
-
* The fixture map units
|
|
20
|
+
* The fixture map units, each exercising exactly one reading.
|
|
37
21
|
*/
|
|
38
22
|
export function fixtureMapUnits(areaSymbol = "XX001") {
|
|
39
23
|
return [
|
|
@@ -105,8 +89,8 @@ export function fixtureMapUnits(areaSymbol = "XX001") {
|
|
|
105
89
|
];
|
|
106
90
|
}
|
|
107
91
|
/**
|
|
108
|
-
* The fixture components
|
|
109
|
-
* report as
|
|
92
|
+
* The fixture components; `mu-mixed` is 45/35/20 across three classes, the case a
|
|
93
|
+
* winner-class schema would report as class 2 and this one as a mixture.
|
|
110
94
|
*/
|
|
111
95
|
export function fixtureComponents() {
|
|
112
96
|
return [
|
|
@@ -114,9 +98,10 @@ export function fixtureComponents() {
|
|
|
114
98
|
component("co-mixed-2", "mu-mixed", 35, "Series", "3", "e"),
|
|
115
99
|
component("co-mixed-3", "mu-mixed", 20, "Series", "6", "s"),
|
|
116
100
|
component("co-class8", "mu-class8", 100, "Series", "8", "s"),
|
|
117
|
-
// A miscellaneous area with no rating
|
|
101
|
+
// A miscellaneous area with no rating is not rateable.
|
|
102
|
+
// That differs from unrated soil and class 8.
|
|
118
103
|
component("co-water", "mu-water", 100, "Miscellaneous area", null, null),
|
|
119
|
-
// A
|
|
104
|
+
// A soil type the survey did not rate: unrated.
|
|
120
105
|
component("co-unrated", "mu-unrated", 100, "Series", null, null),
|
|
121
106
|
// A minority component small enough to fall under the truncation floor once the lattice splits it.
|
|
122
107
|
component("co-tail", "mu-mixed", 1, "Series", "7", "e"),
|
|
@@ -155,8 +140,8 @@ export function fixtureDomains() {
|
|
|
155
140
|
return members;
|
|
156
141
|
}
|
|
157
142
|
/**
|
|
158
|
-
* The fixture delineations
|
|
159
|
-
*
|
|
143
|
+
* The fixture delineations include mixed, class-8, water and unrated squares, plus a `notcom` square.
|
|
144
|
+
* They sit left to right, each on its own ground area.
|
|
160
145
|
*/
|
|
161
146
|
export function fixtureDelineations(areaSymbol = "XX001") {
|
|
162
147
|
const { lat, lon } = FIXTURE_ORIGIN;
|
|
@@ -169,12 +154,8 @@ export function fixtureDelineations(areaSymbol = "XX001") {
|
|
|
169
154
|
}));
|
|
170
155
|
}
|
|
171
156
|
/**
|
|
172
|
-
* The outline covering every fixture delineation, with margin
|
|
173
|
-
*
|
|
174
|
-
* The margin is nearly a degree because the coverage test is CONSERVATIVE: `interiorCoverageCellSet` keeps only cells
|
|
175
|
-
* lying wholly inside the outline, and a resolution-6 cell is about 36 km across. An outline the size of the fixture
|
|
176
|
-
* squares yields zero interior cells and the build refuses — correctly, since an artifact with no coverage rows answers
|
|
177
|
-
* unknown everywhere while reporting success.
|
|
157
|
+
* The outline covering every fixture delineation, with margin because the coverage
|
|
158
|
+
* test keeps only cells lying wholly inside the outline.
|
|
178
159
|
*/
|
|
179
160
|
export function fixtureOutline(margin = 0.75) {
|
|
180
161
|
const { lat, lon } = FIXTURE_ORIGIN;
|
|
@@ -203,10 +184,8 @@ export function fixtureSource(delineations, areaSymbol = "XX001") {
|
|
|
203
184
|
};
|
|
204
185
|
}
|
|
205
186
|
/**
|
|
206
|
-
* One fixture survey area's attributes
|
|
207
|
-
*
|
|
208
|
-
* `areaAcres` is left NULL on purpose: the area cross-check compares against what the AUTHORITY publishes, and a
|
|
209
|
-
* fixture that invented an acreage would be checking this package's arithmetic against itself.
|
|
187
|
+
* One fixture survey area's attributes; `areaAcres` is left NULL on purpose so the area
|
|
188
|
+
* cross-check compares against the authority rather than this package's own arithmetic.
|
|
210
189
|
*/
|
|
211
190
|
export function fixtureAttributes(areaSymbol = "XX001") {
|
|
212
191
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-kit.js","sourceRoot":"","sources":["../../sdk/test-kit.ts"],"names":[],"mappings":"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"}
|