W Astrafox cenimy sobie bardzo aktywność fizyczną. A nie bylibyśmy sobą, gdyby uprawiając jakiś sport, nie chcielibyśmy analizować danych na temat naszego progresu. Tak też postanowiliśmy zebrać wszystkie dane zgromadzone w Stravie i podłączyć do nich Tableau, w celu wykonania analiz. Jak się okazało nie było to wcale proste zadanie.
Pierwszym krokiem było pobranie danych. Na szczęście Strava ma swoje API i z niego postanowiliśmy skorzystać. Aby Tableau mogło pobrać dane z API, potrzebuje „tłumacza” jakim jest Web Data Connector, w skrócie WDC. Ponieważ nikt nie miał czasu na odkrywanie koła na nowo, rozpoczęły się poszukiwania w Internecie gotowego konektora. Po sprawdzeniu kilku gotowych rozwiązań, udało się znaleźć działający WDC takashibinns.
Niestety po dokładniejszych testach okazało się, że nie wszystkie dane są pobierane, lub przy większej ilości danych konektor się zawiesza i nie zwraca informacji. Postanowiliśmy skorzystać z tego, iż Takashi udostępnił kod swojego WDC i zezwolił na jego modyfikację. Wprowadziliśmy trochę swoich usprawnień. Listę zmian, które zastosowaliśmy znajdziesz poniżej:
- pobieranie danych ROUTS,
- pobieranie danych STAR SEGMENTS,
- dodany filtr dat dla ACTIVITIES, oraz STREAM ACTIVITIES, co pozwala zmniejszyć ilość pobieranych danych, tak by nie przekroczyć restrykcyjnych ograniczeń API Stravy,
- w chwili przekroczenia ograniczeń API, WDC zwraca komunikat informujący o przyczynie błędu, a nie jak było wcześniej, w nieskończoność „pobierał” i zawieszał Tableau Desktop,
- wyeliminowany został problem przepełnienia pamięci przy pobieraniu większej ilości danych (najczęściej problem pojawiał się przy pobieraniu streamów i skutkował całkowitym brakiem danych).
Zmodyfikowany przez nas WDC udostępniamy całej społeczności Tableau i Strava do wykorzystania na potrzeby własnych analiz. Znajduje się on pod tym adresem: https://t.astrafox.pl:8444/StravaWDC/index.html