Skip to content

GBFS: Provider selection performance #826

Open
@pablohoch

Description

@pablohoch

Currently (as of #824), all GBFS providers that are in a radius reachable by car are chosen for routing direct routes. For bike products, this may include providers that are too far away and can't produce routes within the time limit.

To improve routing performance, the radius used to select the products should depend on the form factor (car vs. bike).

Possible solutions include:

  • Instead of a provider r-tree, use two product-specific r-trees: One for car products and one for the rest (bike, scooter etc). Then the correct radius can be used for lookup in each r-tree.
  • Store a bounding box for each product. After lookup in the single provider r-tree, check the distance to the bounding box based on the product form factor to filter the results.

In both cases, the r-trees or bounding boxes need to be updated during the GBFS feed update whenever a vehicle is added/removed/moved, vehicles become available at a station, or the partitioning changes etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions