Use Case: Measuring Distance

Summary

  • Scope: All Layers
  • Level: User Goal
  • Actors: User, App
  • Brief: The user can measure the distance between different elements in their map.
  • Status: Assigned
  • Simplification: Measuring only in frontend (not via backend as described in Non-functional Constraints)
  • Assignee: Moritz

Scenarios

  • Precondition: The user has opened the app and has selected any layer (e.g. plants).
  • Main success scenario:
    • The user selects the "Measure Distance" button.
    • The user clicks on the first point they want to measure the distance from.
    • The user clicks on the multiple elements between which the user wants to create the path of the length measurement.
    • The app displays the total sum of elements in one path in both units (meters, feet).
    • New measurement paths can be started while keeping the previous measurements on the display.
    • When status bar is closed, measurements are still displayed and the work from the previous layer can be continued.
    • Once the "Measure Distance" button is pressed again, all measurements are permanently removed.
  • Error scenario:
    • There is an error in the app's distance measurement function and the displayed distance would not be accurate. In this case, the app displays an error message and allows the user to try again.
  • Postcondition: No change on the elements of the map.
  • Non-functional Constraints:
    • The app must accurately measure the distance between elements in the selected unit (based on GIS data).note
    • Measurement points are neither persisted nor is undo available.