c2corg / c2corg/v6_api

Automatic route detection

Open
#639 0 comments 0 reactions 0 assignees View on GitHub
enhancement Ressouces estimation
Dominant language
Python
Stars
26
Forks
28
Avg merge
4h
Merged PRs (30d)
9

Description

This issue describes an algorithm for detecting a route given a GPS track. It is tuned to the definition of a route in the C2C data base. A route is described by a set of waypoints (access, hut, summit, pass, lake...). A user following a route goes from one waypoint to the other. The algorithm try to detect the most probable route, given the set of associated waypoints and the GPS track.

The algorithm is split in 2 steps:

- Pre-processing: get the list of waypoints and routes in the area (bbox) defined by the GPS track. The operations are described in Algorithm 1.
- Likelihood computation: for each potential route, the algorithm compute a likelihood score which is then used to sort routes and propose the most probable ones to the user. The operations are described in Algorithm 2.

Note: a special care should be given to route which are associated with several access points. This happens regularly. For instance, a summit could be reached from 2 parkings but with a large part of the way being common. As a result, only one route is created in the DB but the 2 parkings are associated to the route. In this case, the route should be duplicated in order to have as many routes as access points. Each duplicated route contains the access point and all the other non access point waypoints.

![algorithm 1](https://cloud.githubusercontent.com/assets/19892089/23206098/aa3b04e8-f8ec-11e6-935b-86c064fa0114.jpg)

![algorithm 2](https://cloud.githubusercontent.com/assets/19892089/23206257/39952dbc-f8ed-11e6-8102-30c581002845.jpg)

![distance](https://cloud.githubusercontent.com/assets/19892089/23206261/3d06fc32-f8ed-11e6-8207-3bb1d1b89ec5.jpg)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.