🧭 AKT MAMUT – Manual: EXPEDITIONS + CHALLENGES
Aktualna wersja workflow po przejściu na strukturę data + site.
📁 Struktura projektu
AKT-MAMUT
├─ data
│ ├─ backups
│ ├─ creds
│ ├─ gpx
│ ├─ geojson
│ │ └─ RAW
│ ├─ generate_geojson.py
│ └─ generate_challenges.py
│
└─ site
├─ assets
├─ challenges
│ ├─ index.html
│ └─ data
├─ expeditions
│ ├─ index.html
│ ├─ expeditions.js
│ ├─ markers.js
│ ├─ expeditions.geojson
│ └─ markers.json
├─ manual
├─ pages
└─ statistics
Zasada: data = generowanie i dane wejściowe, site = publikacja i lokalny podgląd / Netlify.
📱 Krok 1 – Locus Map
- Zarejestruj trasę.
- Edytuj trasę:
Moja biblioteka → <TRAIL NAME>
- Nazwij zgodnie ze standardem, np.:
2025-06-18 07:26 Nemira Mare
- Aktualizuj wysokość:
Narzędzia → Aktualizacja wysokości
- Wyeksportuj GPX.
OneDrive/AKT-MAMUT/data/locus
🛠️ Krok 2 – GPX Track Editor
- Otwórz plik GPX.
- Standaryzacja punktów:
Filter → By value → Min distance = 10 m
- Usunięcie nieścisłości:
Filter → Local inconsistencies
- Usuń zbędne punkty:
Filter → Delete filtered points
- Zapisz plik.
OneDrive/AKT-MAMUT/data/locus
🌍 Krok 3 – Wikiloc
- Otwórz
wikiloc.com
- Zaloguj się.
- Załaduj plik GPX.
- Otwórz szczegóły trasy.
- Pobierz plik GPX (oryginalny).
OneDrive/AKT-MAMUT/data/gpx
📊 Krok 4 – Google Sheets: AKT Mamut Expeditions
- Otwórz arkusz
AKT Mamut Expeditions.
- Dodaj nowy wiersz.
- Trail GPX = link do trasy Wikiloc
- Distance = długość śladu
- Up = suma przewyższeń
- Time = czas
- GPX = nazwa pliku z katalogu
data/gpx
⚙️ Krok 5 – Pipeline EXPEDITIONS
Uruchom:
update_map.bat
Pipeline wykonuje:
1. Pobranie danych z Google Sheets
2. Backup arkusza do CSV (tylko gdy arkusz się zmienił)
3. Audyt GPX vs Google Sheets
4. Generowanie brakujących RAW GeoJSON
5. Scalanie do expeditions.geojson
6. Generowanie markers.json
7. Kopiowanie plików do site/expeditions
8. git add w repo site
Powstają dwa pliki dla mapy:
expeditions.geojson – pełne trasy (kółka + ogonki)
markers.json – lekkie dane do szybkiego startu mapy
Lokalizacje:
data/geojson/expeditions.geojson
data/geojson/markers.json
site/expeditions/expeditions.geojson
site/expeditions/markers.json
Mapa działa w dwóch etapach:
1. markers.js + markers.json → szybkie kółka
2. expeditions.js + expeditions.geojson → pełne trasy z ogonkami
🧪 Krok 6 – Test lokalny strony
Serwer lokalny uruchamiaj zawsze z katalogu
site:
cd OneDrive/AKT-MAMUT/site
python -m http.server 8000
Otwórz:
http://localhost:8000
Uwaga: nie uruchamiaj lokalnego podglądu z katalogu AKT-MAMUT, bo ścieżki absolutne typu /assets/... przestaną działać.
🚀 Krok 7 – Publikacja EXPEDITIONS
W VS Code:
Source Control
Commit
Push
Netlify automatycznie zaktualizuje stronę:
https://aktmamut.eu
🏔️ Krok 8 – CHALLENGES: dane i konfiguracja
Challenges są generowane z Google Sheets. Zakładka
CONFIG zawiera tabelę:
key | sheet | name | active
ro | RO | Romanian Peak Challenge | 1
sk | SK | Slovakian Peak Challenge | 1
hu | HU | Hungarian Peak Challenge | 1
cz | CZ | Czech Peak Challenge | 1
...
Znaczenie kolumn:
key – identyfikator mapy w URL, np. ro, sk
sheet – nazwa zakładki Google Sheets z danymi
name – nazwa challenge
active – 1 = włączony, 0 = pomijany
Dzięki CONFIG nie trzeba już edytować kodu przy zmianie nazwy zakładki lub wyłączaniu challenge.
⚙️ Krok 9 – Pipeline CHALLENGES
Uruchom:
python data/generate_challenges.py
Skrypt:
1. Pobiera CONFIG
2. Wybiera tylko challenge z active = 1
3. Pobiera odpowiednie zakładki Google Sheets
4. Buduje pliki challenges-*.json
5. Nadpisuje tylko te pliki, które faktycznie się zmieniły
Pliki wynikowe:
site/challenges/data/challenges-ro.json
site/challenges/data/challenges-sk.json
site/challenges/data/challenges-hu.json
site/challenges/data/challenges-cz.json
...
Challenge z active = 0 są pomijane. Przykład: raba.
🗺️ Krok 10 – Podgląd CHALLENGES
Mapy challenges otwierasz przez parametr
region:
/challenges/index.html?region=ro
/challenges/index.html?region=sk
/challenges/index.html?region=hu
/challenges/index.html?region=cz
Przykłady:
https://aktmamut.eu/challenges/index.html?region=ro
https://aktmamut.eu/challenges/index.html?region=sk
🧷 Szybkie komendy
# instalacja bibliotek
python -m pip install -r requirements.txt
# expeditions
cd data
update_map.bat
# challenges
python generate_challenges.py
# lokalny podgląd strony:
cd ../site
python -m http.server 8000