Zmiany w aktywnościach i nowy algorytm weryfikacji przewyższenia

Kilka słów o nowościach i zmianach:

  • spędziłem kilka dniówek nad nowym algorytmem weryfikacji przewyższeń (więcej o temacie w rozwinięciu)
  • własny serwer "przewyższeń" (podający przewyższenie dla dowolnej lokalizacji) i w związku z tym rezygnacja z Google (oby dwa rozwiązania nie są idealne i zawierają błędne dane,  a skoro tak jest to po co płacić za Google)
  • aktywności poddawane są algorytmowi weryfikacji tylko i wyłącznie gdy wykryte zostało nienaturalne nachylenie terenu ("więcej" niż pionowa ściana) i nie można tego nachylenia/odcinka naprawić prostszymi metodami, automatycznej korekty/weryfikacji nie można wycofać; dymek informuje o liczbie problematycznych punktów, jeśli takie istnieją
  • można sobie ręcznie zweryfikować pion, algorytm nie jest uruchamiany automatycznie poza tym powyższym rzadkim przypadkiem, taką ręczną weryfikację można wycofać
  • weryfikacja powoduje, że dystans (a raczej punkty wchodzące w zbiór odcinka) jak i piony odcinków aktywności (kilometrówki lub odcinki zdefiniowane w treningu) są przeliczane, bez weryfikacji te dane pochodzą bezpośrednio z pliku FIT (jeśli takie dane istnieją oczywiście)
  • kilka dni to rzeźbiło, ale wszystkie aktywności zostały "zresetowane" (FIT przetworzony od nowa, co odświeżyło przy okazji wykresy i statystyki oraz usunęło stare korekty) i jeśli była taka potrzeba (warunek opisany powyżej) to weryfikacja uruchomiona
  • dodając do aktywności zdjęcie, które zawiera dane geolokalizacji, wyświetli się ono też na mapie
  • podświetlane "kilometrówki" na wykresie przewyższenia (po najechaniu myszką na tabelkę z lewej strony mapy)
  • bardziej dogadaliśmy się z różnymi bibliotekami co np. pozwoliło na wykresie przewyższenia w aktywnościach wyświetlać prawidło dystans (odpowiada dystansowi obliczonemu przez zegarek lub algorytm weryfikacji), to będzie też niedługo zauważalne przy trasach zawodów i rozpisce międzyczasów
  • w statystykach aktywności pojawiają się czasy rekordów na różnych dystansach (klasyczne odcinki od 400 m do 100 mil), są to aproksymacje, tzn. jeśli z zarejestrowanych danych wynika, że rekord padł na np. 10001.5 m to skalujemy go do pełnych 10k metrów
  • rekordy te będą (lub już są) wyświetlane na głównej stronie profilu aktywności
  • na każdą aktywność (teraz też własną) można nałożyć flagę, aktywność taka nie będzie wtedy liczona w wyzwaniach, a jej rekordowe osiągnięcia nie będą uwzględnianie, przyda się przy dramatach z GPS
  • od dłuższego czasu działa pobieranie archiwum (Garmin / Suunto), Polar nie daje takiej możliwości swoim fanom, jeśli dobrze pamiętam to ustawiłem limit daty pobierania do stycznia 2020, jeśli dysk mi się nie zapcha (albo będą pieniądze z Premium na migrację na większą maszynę) to sukcesywnie będą pobierane starsze dane
  • niektórzy już to wiedzą z ogłoszenia na niebieskiej stronce, Coros nie będzie implementowany w znanym mi horyzoncie czasowym, nie mają dla nas czasu więc nic nie zrobimy; pozostaje ręczny upload FIT'ów
  • wszystkie te zmiany przybliżają nas do wprowadzenia długo wyczekiwanych "segmentów"!


Rozwinięcie odnośnie algorytmu weryfikacji przewyższeń:

  • algorytm liczy dystans i przewyższenie w odcinkach 10 metrowych, czasami dłuższych, to zależy od dokładności danych jakie przetwarza, ale najczęściej dokładność pozwala na użycie odcinków 10 metrów, więc jest to całkiem dokładne
  • dla lepszej perspektywy, 1 m pionu na takim odcinku oznacza 10% nachylenie terenu
  • jeśli dane wejściowe są poprawne to nie ma wątpliwości, że algorytm radzi sobie świetnie i jest do bólu precyzyjny (dokładność rzędu dziesiątych metra)
  • problem pojawi się, gdy nasze dane zawierają błędy i różne nienaturalne odczyty
  • nienaturalne odczyty to np. 10 m przewyższenia na 10 metrowym odcinku (absurdalne nachylenie terenu)
  • algorytm skupia się teraz na wykrywaniu tych błędów i ich eliminacji w miarę możliwości
  • mamy teraz własny serwer przewyższeń, z którego możemy korzystać bez ograniczeń (jeśli ktoś chce dostęp do API to może napisać)
  • ostatecznie posiadając kilka zbiorów danych (źródło, API, różne aproksymacje), algorytm jest w stanie określić, który zbiór jest prawdopodobnie najbardziej zbliżony do poprawnego i dopiero na takim zbiorze wykonywane są obliczenia
  • rozwiązanie doskonale rozpoznaje dziwne dane z zegarków bez barometrów, które w moich obserwacjach często charakteryzowały się dużą amplitudą wysokości w kolejnych punktach pomiaru przez co suma przewyższenia w terenie relatywnie płaskim potrafiła szokować (np.  ~3k pionu na ~25 km trasie na polskim pomorzu)
  • niekiedy dane, które dostarczają różne API do weryfikacji wysokości dla danej lokalizacji też nie są specjalnie poprawne, np. na lokalnej Ślęży, czarny szlak na północnym stoku wygląda raczej tak jak czarna linia na załączonym obrazku (2 km odcinek) niż ta fioletowa/czerwona (każdy kto kojarzy okolice przedostatniego małego podbiegu w okolicach 19 km zimowego półmaratonu przyzna tu rację); takich kwiatków w różnych API jest więcej i trzeba było nauczyć się je identyfikować
  • oczywiście algorytm podda się przy dłuższej awarii GPS (barometryczny pomiar wysokości nie będzie odpowiadał nawet zbliżonej poprawnej lokalizacji - to te wszystkie pomiary GPS z "równą linią" na mapie)
  • wszystkie testy na w miarę różnych urządzeniach i dziwnych trasach dawały IMVHO poprawne wyniki, na tyle, że chętnie poddałbym już dziś re-weryfikacji wszystkie trasy zawodów, ale jeszcze poobserwuję zachowanie algorytmu, może coś przegapiłem (trasy zawodów są o wiele "prostsze" do oceny niż trasy aktywności)
  • pewne jest, że trasy zawodów "zyskają" kilka metrów dystansu (mniejsze ścinanie zakrętów w nowym algorytmie), pewne nie jest czy przełoży się to na inne wyceny zawodów; przypuszczam, że wątpię...
  • kontrolne zdanie sprawdzające kto doczytał
Komentáře 16
  • Fotka
    Profil Anonimowy
    Lets make Ranking Great Again
    8 led 2021
  • Fotka
    Do czytałem 🥵😎
    8 led 2021
  • Fotka
    Piknie ście to naryktowali Panocku! Zatwierdzam!
    8 led 2021
  • Fotka
    Dzięki za kolejną porcję dobrej "roboty" 😁.
    8 led 2021
    • Fotka
      Jak tylko się jakieś zawody w 2023 roku odbędą to ten cudzysłów znajdzie odzwierciedlenie w Pana wycenie 😛
      8 led 2021
  • Fotka
    Przestałem czytać przy jakiś "fit przetworach", przecież to barbarzyństwo!
    8 led 2021
  • Fotka
    "rozwiązanie doskonale rozpoznaje dziwne dane z zegarków bez barometrów, które w moich obserwacjach często charakteryzowały się dużą amplitudą wysokości w kolejnych punktach pomiaru przez co suma przewyższenia w terenie relatywnie płaskim potrafiła szokować (np. ~3k pionu na ~25 km trasie na polskim pomorzu)" Spokojnie da się tyle pionów zrobić na takiej trasie na polskim pomorzu 😉
    8 led 2021
    • Fotka
      Lubię takie prowokacje 😉 To chyba nawet w Tatrach nie jest takie oczywiste, 3x Ciemniak bez ostatniego zbiegu wypełniłby zadanie...
      8 led 2021
    • Fotka
      Ja nie mówię, że taka trasa miałaby duży sens, ale jakby biegać/wspinać po najbardziej "hardkorowej" dolince zielonego pieszego w TPK w tę i z powrotem to by można coś takiego ulepić 😉 I żeby nie było, że wymyślam jakieś latanie po nieużytkach leśnych: ten fragment jest używany w kilku ultra 😀
      8 led 2021
    • Fotka
      Na tej absurdalnej trasie potrzebujesz zapętlić 230m wysoki podbieg na odcinku kilometra, obawiam się, że brak takiej formacji w parkach na pomorzu 😛 (13x230m / 13x2km)
      8 led 2021
  • Fotka
    Ale ale! A kto powiedział, że 230 m podbiegu ma być ciągiem na 1 km? 😀 https://i.imgur.com/Ci474Gh.png Szalone 108 podbiegów da ok. 4,6 km na 12,5 km (a drugie 12,5 km to zbiegi) (nie wiem oczywiście na ile dane z geoportalu są dokładne - głównie jeżeli chodzi o liczony dystans na dużym wzniesieniu)
    9 led 2021
    • Fotka
      No nikt nie powiedział, tak było najprościej wyliczyć potrzebną górkę. No ale jeśli te dane się zgadzają to zwracam honor, faktycznie "spokojnie da się"!
      9 led 2021
    • Fotka
      Tak na prawdę potrzebne jest minimum nachylenie 23% żeby się wyrobić...
      9 led 2021
  • Fotka
    Doczytałem do końca, ale jak to na studiach bywa: "teoria może nie być do końca zrozumiała, byleby w praktyce taka się okazała" 👌😁 Akceptuję i szacunek za czas poświęcony na robotę.
    11 led 2021

Menu