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

Statistics (service functions, Ski statistics) - Identify when a user enters a chairlift #61

Closed
JSM2512 opened this issue Mar 14, 2024 · 4 comments · Fixed by JSM2512/OpenTracks-Winter-SOEN-6431_2024#26 or #172
Assignees
Labels
Enhancement New feature or request Group 4 High Priority High priotity features
Milestone

Comments

@JSM2512
Copy link
Collaborator

JSM2512 commented Mar 14, 2024

Description
This feature can accurately detect when a user enters a chairlift during a skiing session. This functionality is crucial for providing detailed activity tracking and statistics related to chairlift usage.

Solution
we employ a threshold value, denoting when elevation remains constant for a predefined duration. Once this threshold is met, and elevation subsequently increases at a consistent pace, it signifies the user's entry onto the chairlift. pinpointing the exact moment just before the elevation begins to rise enables accurate determination of chairlift entry time.

Describe alternatives you've considered:

  • The period between meeting the threshold and the onset of elevation increase constitutes the time of chairlift entry.

Additional context
We can use the track point and pervious track points in order to determine the elevation changes, which could help in indication that a user entered a chairlift.

@JSM2512 JSM2512 added Enhancement New feature or request High Priority High priotity features Group 4 labels Mar 14, 2024
@JSM2512 JSM2512 self-assigned this Mar 14, 2024
@LeeshaShah99
Copy link
Contributor

Solution
We will include a boolean flag value just before the elevation begins to rise, which serves as a crucial indicator for accurately determining the chairlift entry time. This flag helps precisely identify the moment when the user transitions from stationary to ascending, providing a more refined measure of chairlift entry.

Alternatives
We calculate the average duration of this interval, providing insights into typical chairlift entry times.

Additional context
This feature could utilize user data more effectively to prompt timely maintenance actions for chairlifts, thereby enhancing user experience by ensuring smooth and safe operations.

@JSM2512
Copy link
Collaborator Author

JSM2512 commented Apr 8, 2024

Contribution Description:
The assigned responsibility was to develop the isEnteringChairlift method, which determines if a user is entering a chairlift during a skiing session.It takes 2 parameters : the current tracking point and the threshold value. The method utilises elevation data from track points to analyse changes in elevation and compares them against a predefined threshold value. If the elevation change remains the same or within the threshold for a set duration, it indicates the user's entry onto the chairlift.
Outcome:
The implemented method successfully achieves the desired functionality. It iterates through recent track points, calculates the elevation change between each point and the current track point, and checks if the change exceeds the predefined threshold. Upon meeting the criteria for elevation consistency, the method accurately identifies chairlift entry.

Commit Link : JSM2512@d345227

Screen Capture
image

NOTE : This function is a utility function and to be used by other team members, so there can be no output for this function until it is used for it's functionality.

@LeeshaShah99
Copy link
Contributor

Contribution Description:
The assigned responsibility was to develop the filterRecentTrackPoints method, which filters out recent track points based on a time criterion relative to the provided current track point. This method is crucial for various tracking and analysis tasks, such as identifying recent activity or updating user positions in real-time applications.

Outcome:
The implemented method successfully achieves the desired functionality. It iterates through the provided track points, calculates the time difference between each point and the current track point, and includes only those points that fall within the specified time window (in this case, the last 20 seconds). This filtering process ensures that only recent track points are retained for further processing or analysis, facilitating tasks such as live tracking or identifying recent user movements.

Commit Link: JSM2512@d44fdd9

Screen Capture:
WhatsApp Image 2024-04-08 at 3 21 29 PM

@JSM2512
Copy link
Collaborator Author

JSM2512 commented Apr 8, 2024

This issue #61 is closed and merged by this PR request
PR : #172

@JSM2512 JSM2512 closed this as completed Apr 8, 2024
thanhpd added a commit that referenced this issue Apr 26, 2024
Feat/90: Add, edit, save, validate Weight
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment