-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Description
The SoilID API’s legacy depth‐handling logic only requires a bottom_depth (e.g. 1 for the 0–1 cm interval, 10 for the 1–10 cm interval, …) and infers the top_depth automatically. The new LandPKS app offers three soil depth interval options—legacy (BLM), NRCS/FAO standard, or custom intervals—but the API still expects only bottom depth ('horizonDepth'). As a result, custom intervals can’t be processed correctly because their top_depth cannot be correctly derived.
Steps to Reproduce
- In the LandPKS app, select Custom depth intervals.
- Define a set of custom intervals, for example:
[ { "bottom_depth": 5 }, { "bottom_depth": 20 } ] - Submit these intervals in a call to the SoilID API endpoint (e.g.
POST /rank_soils). - Observe that the API either:
- Returns a malformed result (missing or incorrect interval boundaries), or
- Silently ignores the custom depths and falls back to legacy defaults.
Expected behavior
- The API should require both
top_depthandbottom_depthfor all depth intervals. - If either boundary is missing for an interval, the API should return a clear validation error, e.g.:
HTTP/1.1 400 Bad Request { "error": "`top_depth` and `bottom_depth` are required for custom intervals" }
Actual behavior
- Custom intervals sent with only
bottom_depthare processed using legacy defaults, leading to incorrect or missing soil‐ranking results. - No validation error is returned to inform the client that
top_depthis missing.
Additional Notes
*It is unclear to me whether this issue has already been addressed in the production code currently used to support the new app.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels