Skip to content

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

  1. 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:
    1. location
      1. k-nearest
      2. bounding sphere
      3. axis-alinged bounding box
    2. duration (begin and end timestamp)
    3. By metadata (think of track numbers)
  2. The data reference also includes the advanced query options to be implemented in #451 (closed):
    1. There shall be the option to filter by specific measurement values
      1. bigger, smaller, equal operator for numeric values
    2. There shall be a limit option to allow the user to quickly experiment with queries
      1. the limit number will be provided by user
    3. There shall be a skipping option for smaller result sets (e.g. only ever 50th point)
      1. Can be based on point-IDs, even if an even distribution can't be easily guaranteed
      2. the modulo number will be provided by user
    4. There can be one condition per criteria and they are all linked with AND
  3. Spatial Data references have the properties and functionalieties like the other types of references
    1. Reference relates data object to spatial container (1:1)
    2. Reference has a name, ID, Created at and Created By information
    3. Spatial Data references can be created, viewed, and deleted.
    4. the reference can be used to retrieve the refrenced data via API

Special Testing hints

💣 Out of Scope

  1. View metrics on references: It shall be possible to view information on the resulting dataset, consisting of metrics:
    1. number of points
    2. min-max coordinates
    3. min-max timestamp
    4. 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 SpatialDataPointRest for an already used validation of these values

🤔 Risks & Open Questions

Edited by Maximilian Heykeroth
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information