Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support I/O literal with unit of measure #430

Closed
7 tasks done
fmigneault opened this issue Apr 28, 2022 · 1 comment · Fixed by #580
Closed
7 tasks done

Support I/O literal with unit of measure #430

fmigneault opened this issue Apr 28, 2022 · 1 comment · Fixed by #580
Assignees
Labels
triage/feature New requested feature.

Comments

@fmigneault
Copy link
Collaborator

fmigneault commented Apr 28, 2022

Description

Literals can be provided either directly, or nested under value field during execution.
This nested value allows adding other informational fields next to it.

A common use of extra fields is to provide a unit of measure (uom) defining the "scale" of the specified value, as well as a reference describing the unit itself. This case is sufficiently common to be present in both recent OGC-API examples and PyWPS literals implementations parameters (see references).

ToDo

  • Detect the uom specified for a literal during execution to include it (ie: add it to the LiteralInput).
  • Consider parsing of OpenAPI object as literal in this specific case.
    With [Feature] Support I/O schema field definition #245, object are either converted to bounding box or complex input/output. This is a new variant that would have to be considered for process description and deployment.
  • Process "known" uom (see URN shortcuts) when applicable.
  • Given that uom is the only "known" field, the value itself could be define is many ways (value, measure, measurement, etc.). Since it is required, consider using the required field within the schema to identify where the value is. Otherwise, fallback to those "common" names (?) or raise directly at deployment time that the required field should be specified.
    • During process deployment
    • During process execution
  • Determine given a provided unit of measure during execution, how should this be passed to CWL?
    Since CWL is simply a script command, it only passes the value. Converting/scaling the value is not necessarily trivial for more complex or non-metric units.

References

@fmigneault fmigneault added the triage/feature New requested feature. label Apr 28, 2022
@fmigneault fmigneault self-assigned this Apr 28, 2022
fmigneault added a commit that referenced this issue Apr 29, 2022
#430) + partial support of bbox from OAS schema (relates to #51) + fix parsing of links in deploy body
@fmigneault
Copy link
Collaborator Author

fmigneault commented Oct 17, 2023

UoM support blocked by geopython/pywps#685 for non-OGC units.
Also blocked by geopython/pywps#686 to fix reporting of UOMs properly in WPS XML representation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage/feature New requested feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants