DOI QR코드

DOI QR Code

Android Application for Connecting Cycling Routes on Strava Segments

  • Received : 2018.11.01
  • Accepted : 2019.04.20
  • Published : 2019.06.30

Abstract

Relatively few countries provide separate bicycle lanes for cyclists. Hence, tools for suggesting cycling routes are essential for a safe and pleasant cycling experience. This study aims to develop a mobile application to build cycling routes based on user preferences, specifically location, search radius, ride distance, and number of optimal routes. Our application calls the Strava API to retrieve Strava cycling segments crowdsourced from the cycling community. Then, it creates a graph consisting of the start and end points of these segments. Beginning from a user-specified location, the depth-first search algorithm (DFS) is applied to find routes that conform to the user's preferences. Next, a set of optimal routes is obtained by computing a trade-off ratio for every discovered route. This ratio is calculated from the lengths of all segments and the lengths of all connecting paths. The connected routes can be displayed on a map on an Android device or exported as a GPX file to a bike computer. Future work must be performed to improve the design of the user interface and user experience.

Keywords

E1ICAW_2019_v17n2_142_f0001.png 이미지

Fig. 1. GPS Exchange Format [6].

E1ICAW_2019_v17n2_142_f0002.png 이미지

Fig. 2. Strava route segments [12].

E1ICAW_2019_v17n2_142_f0003.png 이미지

Fig. 3. Sample response to an exploreSegments command [13].

E1ICAW_2019_v17n2_142_f0004.png 이미지

Fig. 4. Depth-first search algorithm [18].

E1ICAW_2019_v17n2_142_f0005.png 이미지

Fig. 5. Our overall system.

E1ICAW_2019_v17n2_142_f0006.png 이미지

Fig. 6. Grid with four squares to find Strava segments [20].

E1ICAW_2019_v17n2_142_f0007.png 이미지

Fig. 7. Acquiring Route Segments algorithm.

E1ICAW_2019_v17n2_142_f0008.png 이미지

Fig. 8. Sample route graphs.

E1ICAW_2019_v17n2_142_f0009.png 이미지

Fig. 9. Radius Search algorithm.

E1ICAW_2019_v17n2_142_f0010.png 이미지

Fig. 10. Our application shown on a mobile phone [24].

Table 1. GPS data

E1ICAW_2019_v17n2_142_t0001.png 이미지

References

  1. M. Loidl and H. H. Hochmair, "Do online bicycle routing portals adequately address prevalent safety concerns?," Safety, vol. 4, no. 9, pp. 1-13, 2018. DOI: 10.3390/safety4010009.
  2. M. Schmidt and P. Weiser, "Web mapping services: development and trends," in Online Maps with APIs and WebServices, Berlin, Heidelberg: Springer, pp. 13-21, 2012. DOI: 10.1007/978-3-642-27485-5_2.
  3. S. Hu and T. Dai, "Online map application development using Google Maps API, SQL database, and ASP.NET," International Journal of Information and Communication Technology Research, vol. 3, no. 3, pp. 102-110, 2013.
  4. A. Pinandito, A. P. Kharisma, and R. S. Perdana, "Framework design for map-based navigation in Google Android platform," Journal of Telecommunication, vol. 10, no. 1-8, pp. 35-40 , 2018.
  5. Strava, en.wikipedia.org, 2017, [online] Available: https://en.wikipedia.org/wiki/Strava.
  6. USAF, "Global positioning system standard positioning service signal specification," US Government, 1995.
  7. GPX: the GPS exchange format, 2017, [online] Available: http://www.topografix.com/gpx.asp.
  8. The GPS exchange format, 2017, [online] Available: http://www.topografix.com/gpx_for_users.asp.
  9. GPS exchange format, 2017, [online] Available: https://en.wikipedia.org/wiki/GPS_Exchange_Format.
  10. HTTP/1.1: Request, 2017, [online] Available: https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.
  11. J. Lennon, "Introduction to JSON," in Beginning CouchDB, New York, NY: Apress, pp. 87-105, 2009. DOI: 10.1007/978-1-4302-7236-6_6.
  12. C. Bell, Strava Segments, [online] Available: https://www.doogal.co.uk/strava.php.
  13. Explore segments, Strava Developer, [online] Available: http://developers.strava.com/docs/reference/#api-Segments-exploreSegments.
  14. Polyline, Google APIs for Android, 2017, [online] Available: https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline.
  15. Encoded polyline algorithm format, Google Maps APIs, 2017, [online] Available: https://developers.google.com/maps/documentation/utilities/polylinealgorithm.
  16. Best practices using google maps APIs web services, Google Map Platform, [online] Available: https://developers.google.com/maps/documentation/roads/web-servise-best-practices.
  17. T. Cormen, C. Leiserson, R. Rivest, and C. Stein, Introduction to Algorithms, 3rd ed., Cambridge, MA: MIT Press and McGraw-Hill, 2009.
  18. R. Lafore, Data Structures and Algorithms in Java, 2nd ed. Indiana: Sams Publishing, 2002.
  19. Google direction library, 2017, [online] Available: http://www.akexorcist.com/2015/12/google-direction-library-for-android-th.html
  20. Developer guide, Google Maps Platform, [online] Available: https://developers.google.com/maps/documentation/directions/intro#RequestParameters.
  21. Polyline, [online] Available: https://docs.eegeo.com/eegeo.js/v0.1.680/docs/leaflet/L.Polyline/.
  22. M. Needham, Leaflet: Mapping Strava runs/polylines on Open Street Map, [online] Available: https://markhneedham.com/blog/2017/04/29/leaflet-strava-polylines-osm/.
  23. KML and GeoRSS layers, Google Maps Platform, [online] Available: https://developers.google.com/maps/documentation/javascript/kmllayer.
  24. W. Kao-Ian and I. Mulasastra, "Creating cycle routes on Strava segments", in Proceeding of the 2nd International Conference on Cultural Technology, Tokyo, Japan, pp. 143-146, 2018.