openmobilityfoundation / mobility-data-specification

A data standard to enable right-of-way regulation and two-way communication between mobility companies and local governments.
https://www.openmobilityfoundation.org/about-mds/
Other
676 stars 232 forks source link

Duplicate points in the route for Trips endpoint. How to handle? #781

Closed bhargav-lime closed 1 year ago

bhargav-lime commented 1 year ago

As part of the MDS Provider Trips endpoint, we report route taken for the trip. However, based on the user's on the field scenarios, vehicle/user may not have moved for a brief window of time (for example, waiting at the traffic light). In such scenarios, due to the configured sampling rate, there is a possibility that there can be duplicates of points.

When reporting the data to agencies, how do we handle this?

  1. Report data as is without any modification
  2. Do we modify the data and remove duplicates?

The Spec does not specify how to handle such situation based on my reading. Correct me if I am mistaken and point me to the right document.

schnuerle commented 1 year ago

I believe most providers would just keep reporting the same or very similar location as pings over a regular time period. I also don't see this spelled out in the spec - this may have been intentional to leave it up to the SLAs and implementors to define, but either way I do think it could be clarified in the spec. I'd like to see if others like @quicklywilliam @marie-x @avatarneil @jiffyclub @ezmckinn have thoughts.

ezmckinn commented 1 year ago

I would advocate continuing to report a complete route, even if the vehicle has not moved and therefore 2 points have the same location. My rationale is:

  1. If anyone is using route data to calculate speed, then it is useful to know if a scooter had a speed of 0 mph over a given time period. There are plenty of good policy applications for this, such as identifying traffic signals where scooter users wait a long time, or a place where riders stop to take in a view or something.

  2. Less development work to just pass the full route data along rather than judging which points are duplicate.

  3. Deciding which route points are true duplicates, based on their location, would end up being a somewhat arbitrary decision, given how GPS error changes in different locations. The end result would be noisier, less complete data.