@mailwoman/soil 9.2.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 +221 -0
- package/lib/index.ts +474 -0
- package/lib/schema.ts +493 -0
- package/lib/scripts/ingest-chunk.ts +47 -0
- package/lib/sdk/acquire.ts +124 -0
- package/lib/sdk/build-soil.ts +778 -0
- package/lib/sdk/cell-tiers.ts +310 -0
- package/lib/sdk/cells.ts +224 -0
- package/lib/sdk/client.ts +273 -0
- package/lib/sdk/download.ts +161 -0
- package/lib/sdk/index.ts +20 -0
- package/lib/sdk/ingest-chunk.ts +182 -0
- package/lib/sdk/ingest.ts +271 -0
- package/lib/sdk/measure-resolutions.ts +81 -0
- package/lib/sdk/reduce.ts +375 -0
- package/lib/sdk/survey-area.ts +467 -0
- package/lib/sdk/tabular.ts +296 -0
- package/lib/sdk/verify.ts +369 -0
- package/lib/test-kit.ts +255 -0
- package/lib/vocabulary.ts +241 -0
- package/out/index.d.ts +199 -0
- package/out/index.d.ts.map +1 -0
- package/out/index.js +255 -0
- package/out/index.js.map +1 -0
- package/out/schema.d.ts +369 -0
- package/out/schema.d.ts.map +1 -0
- package/out/schema.js +186 -0
- package/out/schema.js.map +1 -0
- package/out/scripts/ingest-chunk.d.ts +11 -0
- package/out/scripts/ingest-chunk.d.ts.map +1 -0
- package/out/scripts/ingest-chunk.js +42 -0
- package/out/scripts/ingest-chunk.js.map +1 -0
- package/out/sdk/acquire.d.ts +60 -0
- package/out/sdk/acquire.d.ts.map +1 -0
- package/out/sdk/acquire.js +74 -0
- package/out/sdk/acquire.js.map +1 -0
- package/out/sdk/build-soil.d.ts +197 -0
- package/out/sdk/build-soil.d.ts.map +1 -0
- package/out/sdk/build-soil.js +434 -0
- package/out/sdk/build-soil.js.map +1 -0
- package/out/sdk/cell-tiers.d.ts +47 -0
- package/out/sdk/cell-tiers.d.ts.map +1 -0
- package/out/sdk/cell-tiers.js +194 -0
- package/out/sdk/cell-tiers.js.map +1 -0
- package/out/sdk/cells.d.ts +118 -0
- package/out/sdk/cells.d.ts.map +1 -0
- package/out/sdk/cells.js +140 -0
- package/out/sdk/cells.js.map +1 -0
- package/out/sdk/client.d.ts +120 -0
- package/out/sdk/client.d.ts.map +1 -0
- package/out/sdk/client.js +214 -0
- package/out/sdk/client.js.map +1 -0
- package/out/sdk/download.d.ts +84 -0
- package/out/sdk/download.d.ts.map +1 -0
- package/out/sdk/download.js +117 -0
- package/out/sdk/download.js.map +1 -0
- package/out/sdk/index.d.ts +20 -0
- package/out/sdk/index.d.ts.map +1 -0
- package/out/sdk/index.js +20 -0
- package/out/sdk/index.js.map +1 -0
- package/out/sdk/ingest-chunk.d.ts +73 -0
- package/out/sdk/ingest-chunk.d.ts.map +1 -0
- package/out/sdk/ingest-chunk.js +98 -0
- package/out/sdk/ingest-chunk.js.map +1 -0
- package/out/sdk/ingest.d.ts +132 -0
- package/out/sdk/ingest.d.ts.map +1 -0
- package/out/sdk/ingest.js +163 -0
- package/out/sdk/ingest.js.map +1 -0
- package/out/sdk/measure-resolutions.d.ts +39 -0
- package/out/sdk/measure-resolutions.d.ts.map +1 -0
- package/out/sdk/measure-resolutions.js +52 -0
- package/out/sdk/measure-resolutions.js.map +1 -0
- package/out/sdk/reduce.d.ts +122 -0
- package/out/sdk/reduce.d.ts.map +1 -0
- package/out/sdk/reduce.js +266 -0
- package/out/sdk/reduce.js.map +1 -0
- package/out/sdk/survey-area.d.ts +105 -0
- package/out/sdk/survey-area.d.ts.map +1 -0
- package/out/sdk/survey-area.js +346 -0
- package/out/sdk/survey-area.js.map +1 -0
- package/out/sdk/tabular.d.ts +106 -0
- package/out/sdk/tabular.d.ts.map +1 -0
- package/out/sdk/tabular.js +194 -0
- package/out/sdk/tabular.js.map +1 -0
- package/out/sdk/verify.d.ts +135 -0
- package/out/sdk/verify.d.ts.map +1 -0
- package/out/sdk/verify.js +221 -0
- package/out/sdk/verify.js.map +1 -0
- package/out/test-kit.d.ts +80 -0
- package/out/test-kit.d.ts.map +1 -0
- package/out/test-kit.js +228 -0
- package/out/test-kit.js.map +1 -0
- package/out/vocabulary.d.ts +179 -0
- package/out/vocabulary.d.ts.map +1 -0
- package/out/vocabulary.js +215 -0
- package/out/vocabulary.js.map +1 -0
- package/package.json +276 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* NRCS's own words, as data: the product identity, the licence sentence it ships inside every archive,
|
|
7
|
+
* the acknowledgement it asks for, and the caveats that decide what a reading may claim.
|
|
8
|
+
*
|
|
9
|
+
* THE RATING VOCABULARY IS NOT HERE, BECAUSE THE AUTHORITY SHIPS IT. `msdomdet.txt` inside each survey
|
|
10
|
+
* area's tabular export carries the declared domain for every `Choice` column, WITH the authority's own
|
|
11
|
+
* prose definition of each member — capability classes 1 through 8, subclasses `c`/`e`/`s`/`w`, the 28
|
|
12
|
+
* farmland classifications, the six component kinds. So the layer reads the domain out of the file it
|
|
13
|
+
* ingested rather than transcribing it from the National Soil Survey Handbook, and an out-of-domain value
|
|
14
|
+
* throws: an unknown code is a source-schema change, which is the event a reader most needs to hear
|
|
15
|
+
* about, and coercing it to a nearest neighbour or to NULL converts "the source changed" into "there is
|
|
16
|
+
* nothing here".
|
|
17
|
+
*
|
|
18
|
+
* THE FARMLAND VOCABULARY IS CONDITIONAL AND THE CONDITION IS THE CLAIM. 28 declared values, of which 24
|
|
19
|
+
* carry an "if" — `Prime farmland if drained`, `Prime farmland if irrigated and reclaimed of excess salts
|
|
20
|
+
* and sodium`. A boolean `arable` column would be this layer's invention rather than the authority's
|
|
21
|
+
* statement, so the string is stored whole.
|
|
22
|
+
*
|
|
23
|
+
* AND TWO OF ITS CATEGORIES TRAVEL WHILE THE OTHERS DO NOT. 7 CFR 657.5 defines prime farmland and unique
|
|
24
|
+
* farmland nationally against nine specific criteria; §657.5(c) and (d) hand "additional farmland of
|
|
25
|
+
* statewide importance" and "of local importance" to state and local agencies respectively. So
|
|
26
|
+
* `Farmland of statewide importance` in Iowa and in Georgia are not the same claim, and a consumer that
|
|
27
|
+
* pooled them into one rank would be pooling incompatible vocabularies. {@link FARMLAND_SCOPE} carries
|
|
28
|
+
* that distinction into the artifact rather than leaving it in a document.
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* The layer-name prefix. The suffix names the REGION the build covers, because the manifest's declared extent and the
|
|
32
|
+
* coverage rows describe the same set and that set is a list of published survey areas rather than "the United
|
|
33
|
+
* States".
|
|
34
|
+
*/
|
|
35
|
+
export const SOIL_LAYER_NAME_PREFIX = "soil-capability-nrcs-ssurgo-";
|
|
36
|
+
/**
|
|
37
|
+
* The layer name for a build over `region`.
|
|
38
|
+
*/
|
|
39
|
+
export function soilLayerName(region) {
|
|
40
|
+
return `${SOIL_LAYER_NAME_PREFIX}${region.toLowerCase()}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The pilot region — Iowa, whole, built survey area by survey area.
|
|
44
|
+
*/
|
|
45
|
+
export const SOIL_PILOT_REGION = "ia";
|
|
46
|
+
/**
|
|
47
|
+
* The acknowledgement string the shipped FGDC metadata asks for, verbatim as the metadata gives the agency name. This
|
|
48
|
+
* is not decoration: the use constraints say the agency "should be acknowledged as the data source in products derived
|
|
49
|
+
* from these data", so it rides in `layer_manifest.attribution`.
|
|
50
|
+
*/
|
|
51
|
+
export const SSURGO_ATTRIBUTION = "U.S. Department of Agriculture, Natural Resources Conservation Service";
|
|
52
|
+
/**
|
|
53
|
+
* The licence expression written into `layer_manifest.license`.
|
|
54
|
+
*
|
|
55
|
+
* A public-domain identifier, and the grant behind it is the producing agency's own sentence rather than a catalogue
|
|
56
|
+
* field: data.gov's entry points at `usa.gov/publicdomain/label/1.0/`, which redirects to a page that declines a
|
|
57
|
+
* blanket grant and tells the reader to check with the agency. The agency was checked at the strongest available place
|
|
58
|
+
* — the FGDC metadata NRCS ships inside the archive — and it says {@link SSURGO_PUBLIC_INFORMATION_SENTENCE}.
|
|
59
|
+
*/
|
|
60
|
+
export const SSURGO_LICENSE = "PDDL-1.0-USGov-NRCS";
|
|
61
|
+
/**
|
|
62
|
+
* The sentence that makes this layer shippable, verbatim from the `useconst` element of the FGDC metadata inside every
|
|
63
|
+
* survey-area archive.
|
|
64
|
+
*
|
|
65
|
+
* The ingest asserts it is present in each area's metadata. A survey area whose use constraints no longer say this is a
|
|
66
|
+
* licence change, and a build that absorbed one would ship an artifact under terms nobody checked.
|
|
67
|
+
*/
|
|
68
|
+
export const SSURGO_PUBLIC_INFORMATION_SENTENCE = "This is public information";
|
|
69
|
+
/**
|
|
70
|
+
* The use constraints in full, as the metadata states them. Carried so a reader can check the licence claim against the
|
|
71
|
+
* authority's own words rather than against this package's summary of them.
|
|
72
|
+
*/
|
|
73
|
+
export const SSURGO_USE_CONSTRAINTS = "The U.S. Department of Agriculture, Natural Resources Conservation Service, should be acknowledged as the data " +
|
|
74
|
+
"source in products derived from these data. This data set is not designed for use as a primary regulatory tool " +
|
|
75
|
+
"in permitting or citing decisions, but may be used as a reference source. This is public information and may be " +
|
|
76
|
+
"interpreted by organizations, agencies, units of government, or others based on needs; however, they are " +
|
|
77
|
+
"responsible for the appropriate application.";
|
|
78
|
+
/**
|
|
79
|
+
* What a reading is NOT, in the authority's own words. Carried on every reading, because a caller cannot see from a
|
|
80
|
+
* capability class that the survey declines to speak about a specific site.
|
|
81
|
+
*
|
|
82
|
+
* The first two sentences are why §3.1 of the survey forbids a point-level determination: the map is authoritative
|
|
83
|
+
* about an area at its own scale and explicitly declines to be authoritative about a point.
|
|
84
|
+
*/
|
|
85
|
+
export const SSURGO_PRODUCT_LIMITS = [
|
|
86
|
+
"The depicted soil boundaries, interpretations, and analysis derived from them do not eliminate the need for onsite sampling, testing, and detailed study of specific sites for intensive uses. Thus, these data and their interpretations are intended for planning purposes only.",
|
|
87
|
+
"Photographic or digital enlargement of these maps to scales greater than at which they were originally mapped can cause misinterpretation of the data. If enlarged, maps do not show the small areas of contrasting soils that could have been shown at a larger scale.",
|
|
88
|
+
"This data set is not designed for use as a primary regulatory tool in permitting or citing decisions, but may be used as a reference source.",
|
|
89
|
+
"Digital data files are periodically updated. Files are dated, and users are responsible for obtaining the latest version of the data.",
|
|
90
|
+
"The difference in positional accuracy between the soil boundaries and special soil features locations in the field and their digitized map locations is unknown.",
|
|
91
|
+
];
|
|
92
|
+
/**
|
|
93
|
+
* The coverage statement a `designated` basis rests on: what NRCS declares complete inside a published survey area.
|
|
94
|
+
*
|
|
95
|
+
* It is the mapping at the survey's own scale, NOT a site-specific determination — which is why the observation reports
|
|
96
|
+
* what the survey assigns to the map unit covering a location and never whether the land can be farmed.
|
|
97
|
+
*/
|
|
98
|
+
export const SSURGO_COVERAGE_STATEMENT = "Soil surveys are published by survey area. Inside a published survey area the soil mapping is complete at the " +
|
|
99
|
+
"survey's own scale; land outside any published survey area has no soil map unit at all.";
|
|
100
|
+
/**
|
|
101
|
+
* Where the product's identity and cadence are published.
|
|
102
|
+
*/
|
|
103
|
+
export const SSURGO_STATEMENT_URL = "https://www.nrcs.usda.gov/conservation-basics/natural-resource-concerns/soil/annual-soils-refresh";
|
|
104
|
+
/**
|
|
105
|
+
* The dataset identifier written into `layer_manifest.source`.
|
|
106
|
+
*/
|
|
107
|
+
export const SSURGO_SOURCE = "nrcs.usda.gov/SSURGO";
|
|
108
|
+
/**
|
|
109
|
+
* The projection every SSURGO survey-area shapefile declares. The `.prj` is an ESRI WKT naming `GCS_WGS_1984`, which
|
|
110
|
+
* GDAL resolves to this authority code — so no reprojection is needed before H3, and a survey area declaring anything
|
|
111
|
+
* else is a product change rather than a variation to absorb.
|
|
112
|
+
*/
|
|
113
|
+
export const SSURGO_SOURCE_EPSG = 4326;
|
|
114
|
+
/**
|
|
115
|
+
* Whether a farmland classification's criteria are set nationally or by a state or local agency.
|
|
116
|
+
*
|
|
117
|
+
* 7 CFR 657.5 defines prime and unique farmland against nine national criteria; (c) and (d) delegate statewide and
|
|
118
|
+
* local importance. A consumer comparing two states may compare the national categories and must not compare the
|
|
119
|
+
* delegated ones.
|
|
120
|
+
*/
|
|
121
|
+
export const FarmlandScope = {
|
|
122
|
+
/**
|
|
123
|
+
* Criteria set by 7 CFR 657.5(a)–(b). Comparable across the country.
|
|
124
|
+
*/
|
|
125
|
+
Federal: "federal",
|
|
126
|
+
/**
|
|
127
|
+
* Criteria "determined by the appropriate State agency or agencies" — 7 CFR 657.5(c).
|
|
128
|
+
*/
|
|
129
|
+
State: "state",
|
|
130
|
+
/**
|
|
131
|
+
* Criteria "identified by the local agency or agencies concerned" — 7 CFR 657.5(d).
|
|
132
|
+
*/
|
|
133
|
+
Local: "local",
|
|
134
|
+
/**
|
|
135
|
+
* The value states no farmland importance at all.
|
|
136
|
+
*/
|
|
137
|
+
None: "none",
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Which scope a declared `farmlndcl` value falls under, decided on the phrase the regulation itself uses.
|
|
141
|
+
*
|
|
142
|
+
* Matching on the phrase rather than on an enumerated list of the 28 values is deliberate: the domain grows — the
|
|
143
|
+
* conditional tail is generated by combining a base category with a condition — and a new `Farmland of statewide
|
|
144
|
+
* importance, if …` must land in {@link FarmlandScope.State} on the day it appears rather than silently defaulting to
|
|
145
|
+
* the comparable bucket.
|
|
146
|
+
*/
|
|
147
|
+
export function farmlandScope(value) {
|
|
148
|
+
if (!value)
|
|
149
|
+
return FarmlandScope.None;
|
|
150
|
+
const lowered = value.toLowerCase();
|
|
151
|
+
// FIRST, because it CONTAINS the phrase the federal test looks for. `Not prime farmland` is a declared value stating
|
|
152
|
+
// no farmland importance at all, and a substring test that ran the other way round would call it federally comparable
|
|
153
|
+
// prime farmland — which it is the exact negation of. It is also the most common value in the domain: 192,120 of the
|
|
154
|
+
// 339,191 national map units carry it.
|
|
155
|
+
if (lowered.startsWith("not prime farmland"))
|
|
156
|
+
return FarmlandScope.None;
|
|
157
|
+
if (lowered.includes("statewide importance"))
|
|
158
|
+
return FarmlandScope.State;
|
|
159
|
+
if (lowered.includes("local importance"))
|
|
160
|
+
return FarmlandScope.Local;
|
|
161
|
+
if (lowered.includes("prime farmland") || lowered.includes("unique importance"))
|
|
162
|
+
return FarmlandScope.Federal;
|
|
163
|
+
return FarmlandScope.None;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Map-unit symbols NRCS uses for a delineation it has drawn and has no soil mapping behind.
|
|
167
|
+
*
|
|
168
|
+
* These are polygons rather than holes — the same wall-to-wall discipline that makes them separable from land outside a
|
|
169
|
+
* survey area entirely. Measured nationally through Soil Data Access: 37 map units carry `NOTCOM` (`No Digital Data
|
|
170
|
+
* Available`) and 7 carry `NOTPUB` (`Not Public Information`).
|
|
171
|
+
*/
|
|
172
|
+
export const SSURGO_NO_MAPPING_SYMBOLS = new Set(["NOTCOM", "NOTPUB"]);
|
|
173
|
+
/**
|
|
174
|
+
* Map-unit names for the same case, where the symbol does not carry it. Measured nationally: 72 map units are named
|
|
175
|
+
* `Area not surveyed, access denied`.
|
|
176
|
+
*
|
|
177
|
+
* Matched case-insensitively on the whole name. A prefix match would catch a future `Area not surveyed, access denied —
|
|
178
|
+
* pending` and would also catch nothing else, but it would equally catch a real soil name beginning with those words,
|
|
179
|
+
* and there is no such thing to be gained by guessing.
|
|
180
|
+
*/
|
|
181
|
+
export const SSURGO_NO_MAPPING_NAMES = new Set([
|
|
182
|
+
"area not surveyed, access denied",
|
|
183
|
+
"not public information",
|
|
184
|
+
"no digital data available",
|
|
185
|
+
]);
|
|
186
|
+
/**
|
|
187
|
+
* The interpretation rule whose overall value this layer carries, exactly as `cointerp.mrulename` spells it.
|
|
188
|
+
*
|
|
189
|
+
* Its `interphr` is an index in [0, 1] — measured 0.001 to 0.991 nationally, 0.022 to 0.990 on `IA153` — and it is
|
|
190
|
+
* never blended with the capability class: they are two ratings from one authority answering different questions, and
|
|
191
|
+
* combining them would produce a number NRCS does not publish.
|
|
192
|
+
*/
|
|
193
|
+
export const NCCPI_V3_RULE_NAME = "NCCPI - National Commodity Crop Productivity Index (Ver 3.0)";
|
|
194
|
+
/**
|
|
195
|
+
* The interpretation depth at which a rule reports its own overall value. Sub-rules sit at greater depths and are the
|
|
196
|
+
* submodels (corn, soybeans, small grains, cotton), which this layer does not carry.
|
|
197
|
+
*/
|
|
198
|
+
export const COINTERP_OVERALL_RULE_DEPTH = "0";
|
|
199
|
+
/**
|
|
200
|
+
* How the per-cell shares were produced, recorded on every row.
|
|
201
|
+
*
|
|
202
|
+
* The survey names this as a required record because the weighting mixes two different things — polygon geometry, which
|
|
203
|
+
* the survey does know, and component percentages, which are a proportion without a location. "60% of this cell's area
|
|
204
|
+
* lies in map units whose components are class 2" and "the components in this cell sum to 60% class 2" are different
|
|
205
|
+
* claims, and a reader holding only a share cannot tell which one it is holding.
|
|
206
|
+
*/
|
|
207
|
+
export const SOIL_SHARE_WEIGHTING = "cell_area_x_comppct_r";
|
|
208
|
+
/**
|
|
209
|
+
* The one-sentence expansion of {@link SOIL_SHARE_WEIGHTING}, stored beside it so the artifact explains itself.
|
|
210
|
+
*/
|
|
211
|
+
export const SOIL_SHARE_WEIGHTING_DESCRIPTION = "Each map-unit delineation contributes the area of the cell it covers; that area is split across the delineation's " +
|
|
212
|
+
"components in proportion to comppct_r, the component's representative percentage of its map unit. Component " +
|
|
213
|
+
"percentages are a proportion without a location, so a share states how much of the cell's area lies in map units " +
|
|
214
|
+
"whose components carry a rating — not where within the cell that rating applies.";
|
|
215
|
+
//# sourceMappingURL=vocabulary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../lib/vocabulary.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mailwoman/soil",
|
|
3
|
+
"version": "9.2.0",
|
|
4
|
+
"description": "USDA NRCS SSURGO soil capability — acquisition, build, and the soil.db layer reader",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"farmland",
|
|
7
|
+
"geospatial",
|
|
8
|
+
"h3",
|
|
9
|
+
"land-capability",
|
|
10
|
+
"nrcs",
|
|
11
|
+
"soil",
|
|
12
|
+
"ssurgo"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://github.com/sister-software/mailwoman",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/sister-software/mailwoman/issues"
|
|
17
|
+
},
|
|
18
|
+
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
19
|
+
"contributors": [
|
|
20
|
+
{
|
|
21
|
+
"name": "Teffen Ellis",
|
|
22
|
+
"email": "teffen@sister.software"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/sister-software/mailwoman.git",
|
|
28
|
+
"directory": "packages/soil"
|
|
29
|
+
},
|
|
30
|
+
"files": [
|
|
31
|
+
"out/**/*.js",
|
|
32
|
+
"out/**/*.js.map",
|
|
33
|
+
"out/**/*.d.ts",
|
|
34
|
+
"out/**/*.d.ts.map",
|
|
35
|
+
"README.md",
|
|
36
|
+
"*.ts",
|
|
37
|
+
"*.tsx",
|
|
38
|
+
"**/*.ts",
|
|
39
|
+
"**/*.tsx",
|
|
40
|
+
"!*.test.ts",
|
|
41
|
+
"!*.test.tsx",
|
|
42
|
+
"!**/*.test.ts",
|
|
43
|
+
"!**/*.test.tsx",
|
|
44
|
+
"!test/**"
|
|
45
|
+
],
|
|
46
|
+
"type": "module",
|
|
47
|
+
"imports": {
|
|
48
|
+
"#*": {
|
|
49
|
+
"types": "./out/*.d.ts",
|
|
50
|
+
"node": "./out/*.js",
|
|
51
|
+
"default": "./out/*.js"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"exports": {
|
|
55
|
+
"./package.json": "./package.json",
|
|
56
|
+
".": {
|
|
57
|
+
"types": "./out/index.d.ts",
|
|
58
|
+
"node": "./out/index.js",
|
|
59
|
+
"default": "./out/index.js"
|
|
60
|
+
},
|
|
61
|
+
"./scripts/*": {
|
|
62
|
+
"types": "./out/scripts/*.d.ts",
|
|
63
|
+
"node": "./out/scripts/*.js",
|
|
64
|
+
"default": "./out/scripts/*.js"
|
|
65
|
+
},
|
|
66
|
+
"./schema": {
|
|
67
|
+
"types": "./out/schema.d.ts",
|
|
68
|
+
"node": "./out/schema.js",
|
|
69
|
+
"default": "./out/schema.js"
|
|
70
|
+
},
|
|
71
|
+
"./vocabulary": {
|
|
72
|
+
"types": "./out/vocabulary.d.ts",
|
|
73
|
+
"node": "./out/vocabulary.js",
|
|
74
|
+
"default": "./out/vocabulary.js"
|
|
75
|
+
},
|
|
76
|
+
"./test-kit": {
|
|
77
|
+
"types": "./out/test-kit.d.ts",
|
|
78
|
+
"node": "./out/test-kit.js",
|
|
79
|
+
"default": "./out/test-kit.js"
|
|
80
|
+
},
|
|
81
|
+
"./sdk": {
|
|
82
|
+
"types": "./out/sdk/index.d.ts",
|
|
83
|
+
"node": "./out/sdk/index.js",
|
|
84
|
+
"default": "./out/sdk/index.js"
|
|
85
|
+
},
|
|
86
|
+
"./sdk/acquire": {
|
|
87
|
+
"types": "./out/sdk/acquire.d.ts",
|
|
88
|
+
"node": "./out/sdk/acquire.js",
|
|
89
|
+
"default": "./out/sdk/acquire.js"
|
|
90
|
+
},
|
|
91
|
+
"./sdk/build-soil": {
|
|
92
|
+
"types": "./out/sdk/build-soil.d.ts",
|
|
93
|
+
"node": "./out/sdk/build-soil.js",
|
|
94
|
+
"default": "./out/sdk/build-soil.js"
|
|
95
|
+
},
|
|
96
|
+
"./sdk/cell-tiers": {
|
|
97
|
+
"types": "./out/sdk/cell-tiers.d.ts",
|
|
98
|
+
"node": "./out/sdk/cell-tiers.js",
|
|
99
|
+
"default": "./out/sdk/cell-tiers.js"
|
|
100
|
+
},
|
|
101
|
+
"./sdk/cells": {
|
|
102
|
+
"types": "./out/sdk/cells.d.ts",
|
|
103
|
+
"node": "./out/sdk/cells.js",
|
|
104
|
+
"default": "./out/sdk/cells.js"
|
|
105
|
+
},
|
|
106
|
+
"./sdk/client": {
|
|
107
|
+
"types": "./out/sdk/client.d.ts",
|
|
108
|
+
"node": "./out/sdk/client.js",
|
|
109
|
+
"default": "./out/sdk/client.js"
|
|
110
|
+
},
|
|
111
|
+
"./sdk/download": {
|
|
112
|
+
"types": "./out/sdk/download.d.ts",
|
|
113
|
+
"node": "./out/sdk/download.js",
|
|
114
|
+
"default": "./out/sdk/download.js"
|
|
115
|
+
},
|
|
116
|
+
"./sdk/ingest": {
|
|
117
|
+
"types": "./out/sdk/ingest.d.ts",
|
|
118
|
+
"node": "./out/sdk/ingest.js",
|
|
119
|
+
"default": "./out/sdk/ingest.js"
|
|
120
|
+
},
|
|
121
|
+
"./sdk/ingest-chunk": {
|
|
122
|
+
"types": "./out/sdk/ingest-chunk.d.ts",
|
|
123
|
+
"node": "./out/sdk/ingest-chunk.js",
|
|
124
|
+
"default": "./out/sdk/ingest-chunk.js"
|
|
125
|
+
},
|
|
126
|
+
"./sdk/measure-resolutions": {
|
|
127
|
+
"types": "./out/sdk/measure-resolutions.d.ts",
|
|
128
|
+
"node": "./out/sdk/measure-resolutions.js",
|
|
129
|
+
"default": "./out/sdk/measure-resolutions.js"
|
|
130
|
+
},
|
|
131
|
+
"./sdk/reduce": {
|
|
132
|
+
"types": "./out/sdk/reduce.d.ts",
|
|
133
|
+
"node": "./out/sdk/reduce.js",
|
|
134
|
+
"default": "./out/sdk/reduce.js"
|
|
135
|
+
},
|
|
136
|
+
"./sdk/survey-area": {
|
|
137
|
+
"types": "./out/sdk/survey-area.d.ts",
|
|
138
|
+
"node": "./out/sdk/survey-area.js",
|
|
139
|
+
"default": "./out/sdk/survey-area.js"
|
|
140
|
+
},
|
|
141
|
+
"./sdk/tabular": {
|
|
142
|
+
"types": "./out/sdk/tabular.d.ts",
|
|
143
|
+
"node": "./out/sdk/tabular.js",
|
|
144
|
+
"default": "./out/sdk/tabular.js"
|
|
145
|
+
},
|
|
146
|
+
"./sdk/verify": {
|
|
147
|
+
"types": "./out/sdk/verify.d.ts",
|
|
148
|
+
"node": "./out/sdk/verify.js",
|
|
149
|
+
"default": "./out/sdk/verify.js"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"publishConfig": {
|
|
153
|
+
"access": "public",
|
|
154
|
+
"exports": {
|
|
155
|
+
"./package.json": "./package.json",
|
|
156
|
+
".": {
|
|
157
|
+
"types": "./out/index.d.ts",
|
|
158
|
+
"node": "./out/index.js",
|
|
159
|
+
"default": "./out/index.js"
|
|
160
|
+
},
|
|
161
|
+
"./scripts/*": {
|
|
162
|
+
"types": "./out/scripts/*.d.ts",
|
|
163
|
+
"node": "./out/scripts/*.js",
|
|
164
|
+
"default": "./out/scripts/*.js"
|
|
165
|
+
},
|
|
166
|
+
"./schema": {
|
|
167
|
+
"types": "./out/schema.d.ts",
|
|
168
|
+
"node": "./out/schema.js",
|
|
169
|
+
"default": "./out/schema.js"
|
|
170
|
+
},
|
|
171
|
+
"./vocabulary": {
|
|
172
|
+
"types": "./out/vocabulary.d.ts",
|
|
173
|
+
"node": "./out/vocabulary.js",
|
|
174
|
+
"default": "./out/vocabulary.js"
|
|
175
|
+
},
|
|
176
|
+
"./test-kit": {
|
|
177
|
+
"types": "./out/test-kit.d.ts",
|
|
178
|
+
"node": "./out/test-kit.js",
|
|
179
|
+
"default": "./out/test-kit.js"
|
|
180
|
+
},
|
|
181
|
+
"./sdk": {
|
|
182
|
+
"types": "./out/sdk/index.d.ts",
|
|
183
|
+
"node": "./out/sdk/index.js",
|
|
184
|
+
"default": "./out/sdk/index.js"
|
|
185
|
+
},
|
|
186
|
+
"./sdk/acquire": {
|
|
187
|
+
"types": "./out/sdk/acquire.d.ts",
|
|
188
|
+
"node": "./out/sdk/acquire.js",
|
|
189
|
+
"default": "./out/sdk/acquire.js"
|
|
190
|
+
},
|
|
191
|
+
"./sdk/build-soil": {
|
|
192
|
+
"types": "./out/sdk/build-soil.d.ts",
|
|
193
|
+
"node": "./out/sdk/build-soil.js",
|
|
194
|
+
"default": "./out/sdk/build-soil.js"
|
|
195
|
+
},
|
|
196
|
+
"./sdk/cell-tiers": {
|
|
197
|
+
"types": "./out/sdk/cell-tiers.d.ts",
|
|
198
|
+
"node": "./out/sdk/cell-tiers.js",
|
|
199
|
+
"default": "./out/sdk/cell-tiers.js"
|
|
200
|
+
},
|
|
201
|
+
"./sdk/cells": {
|
|
202
|
+
"types": "./out/sdk/cells.d.ts",
|
|
203
|
+
"node": "./out/sdk/cells.js",
|
|
204
|
+
"default": "./out/sdk/cells.js"
|
|
205
|
+
},
|
|
206
|
+
"./sdk/client": {
|
|
207
|
+
"types": "./out/sdk/client.d.ts",
|
|
208
|
+
"node": "./out/sdk/client.js",
|
|
209
|
+
"default": "./out/sdk/client.js"
|
|
210
|
+
},
|
|
211
|
+
"./sdk/download": {
|
|
212
|
+
"types": "./out/sdk/download.d.ts",
|
|
213
|
+
"node": "./out/sdk/download.js",
|
|
214
|
+
"default": "./out/sdk/download.js"
|
|
215
|
+
},
|
|
216
|
+
"./sdk/ingest": {
|
|
217
|
+
"types": "./out/sdk/ingest.d.ts",
|
|
218
|
+
"node": "./out/sdk/ingest.js",
|
|
219
|
+
"default": "./out/sdk/ingest.js"
|
|
220
|
+
},
|
|
221
|
+
"./sdk/ingest-chunk": {
|
|
222
|
+
"types": "./out/sdk/ingest-chunk.d.ts",
|
|
223
|
+
"node": "./out/sdk/ingest-chunk.js",
|
|
224
|
+
"default": "./out/sdk/ingest-chunk.js"
|
|
225
|
+
},
|
|
226
|
+
"./sdk/measure-resolutions": {
|
|
227
|
+
"types": "./out/sdk/measure-resolutions.d.ts",
|
|
228
|
+
"node": "./out/sdk/measure-resolutions.js",
|
|
229
|
+
"default": "./out/sdk/measure-resolutions.js"
|
|
230
|
+
},
|
|
231
|
+
"./sdk/reduce": {
|
|
232
|
+
"types": "./out/sdk/reduce.d.ts",
|
|
233
|
+
"node": "./out/sdk/reduce.js",
|
|
234
|
+
"default": "./out/sdk/reduce.js"
|
|
235
|
+
},
|
|
236
|
+
"./sdk/survey-area": {
|
|
237
|
+
"types": "./out/sdk/survey-area.d.ts",
|
|
238
|
+
"node": "./out/sdk/survey-area.js",
|
|
239
|
+
"default": "./out/sdk/survey-area.js"
|
|
240
|
+
},
|
|
241
|
+
"./sdk/tabular": {
|
|
242
|
+
"types": "./out/sdk/tabular.d.ts",
|
|
243
|
+
"node": "./out/sdk/tabular.js",
|
|
244
|
+
"default": "./out/sdk/tabular.js"
|
|
245
|
+
},
|
|
246
|
+
"./sdk/verify": {
|
|
247
|
+
"types": "./out/sdk/verify.d.ts",
|
|
248
|
+
"node": "./out/sdk/verify.js",
|
|
249
|
+
"default": "./out/sdk/verify.js"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"imports": {
|
|
253
|
+
"#*": {
|
|
254
|
+
"types": "./out/*.d.ts",
|
|
255
|
+
"node": "./out/*.js",
|
|
256
|
+
"default": "./out/*.js"
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"scripts": {
|
|
261
|
+
"test": "vitest run"
|
|
262
|
+
},
|
|
263
|
+
"dependencies": {
|
|
264
|
+
"@mailwoman/core": "9.2.0",
|
|
265
|
+
"@mailwoman/spatial": "9.2.0",
|
|
266
|
+
"@mailwoman/sqlite": "9.2.0",
|
|
267
|
+
"entities": "^8.0.0",
|
|
268
|
+
"h3-js": "^4.5.0",
|
|
269
|
+
"kysely": "^0.29.5",
|
|
270
|
+
"path-ts": "^2.3.0",
|
|
271
|
+
"spliterator": "^6.4.1"
|
|
272
|
+
},
|
|
273
|
+
"engines": {
|
|
274
|
+
"node": ">=24.18.0"
|
|
275
|
+
}
|
|
276
|
+
}
|