Spatial Data: Reference endpoints for API users
Feature Request
🥅 Goal
As a shepard API user I want to be able to create data references on spatial data so that I can link specific views on spatial data with my data objects .
🏅 Acceptance Criteria
- Create references: The data reference on spatial data shall allow to store all the selection criteria that we implemented in #448 (closed), so that a precisely drilled-down, small amount of points can be linked to an individual data object. That includes:
- location
- k-nearest
- bounding sphere
- axis-alinged bounding box
- duration (begin and end timestamp)
- By metadata (think of track numbers)
- location
- The data reference also includes the advanced query options to be implemented in #451 (closed):
- There shall be the option to filter by specific measurement values
- bigger, smaller, equal operator for numeric values
- There shall be a limit option to allow the user to quickly experiment with queries
- the limit number will be provided by user
- There shall be a skipping option for smaller result sets (e.g. only ever 50th point)
- Can be based on point-IDs, even if an even distribution can't be easily guaranteed
- the modulo number will be provided by user
- There can be one condition per criteria and they are all linked with AND
- There shall be the option to filter by specific measurement values
- Spatial Data references have the properties and functionalieties like the other types of references
- Reference relates data object to spatial container (1:1)
- Reference has a name, ID, Created at and Created By information
- Spatial Data references can be created, viewed, and deleted.
- the reference can be used to retrieve the refrenced data via API
⭐ Special Testing hints
💣 Out of Scope
- View metrics on references: It shall be possible to view information on the resulting dataset, consisting of metrics:
- number of points
- min-max coordinates
- min-max timestamp
- information on measurement and metadata keys
==> shall be handeled in #133 (closed)
A semantic annotation can be added to reference ==> will be tackled later
Edit reference might be useful later
💡 Hints
- References should consist of valid Filters and valid "advanced query options"
- GeometryFilter, MetadataFilter should consist of valid Json when saved as a reference
- all used values (radius, skip, limit, ...) are validated, see
SpatialDataPointRestfor an already used validation of these values
🤔 Risks & Open Questions
Edited by Maximilian Heykeroth