Repo ja töövoog.md 3.9 KB

Repo ja töövoog

Projektid (Git: gogs.odamus.com, kasutaja ardo)

ardo/liiklusatlas (aktive, veebirakendus + pipeline)

  • pipeline/ — analüüsiahel:
    • run_municipality.py — orkestreerija ühele vallale
    • ads_buildings.py, ads_ky.py — ADS-i hooned + katastriüksused (Maa- ja Ruumiamet)
    • building_population.py — hoonepõhine rahvastik + kalibreerimine + ADS KÜ-omistamine (ads_ky aadress-kinnistu link)
    • gravity_exit_analysis.py — gravitatsioonijaotus, haavatavus, kriitilised lõigud
    • export_qgis.py — gpkg eksport (omand, kasutus, reisitee, tupikud, väljapääsud)
    • teeregister_omand.py, teeregister_leping.py, kataster_laadimine.py — omand/kasutus allikad
    • offer.py — hinnapakkumise PDF
  • preprocess_web.py — gpkg → GeoJSON kihid + raporti materjalid
  • municipalities.py — 79 KOV-i register (status + public märge)
  • server.py — FastAPI + demo-koodi kaitse (ATLAS_ACCESS_TOKEN) + logimine
  • report.py — PDF-raport (kokkuvõte, kriitilised lõigud, liikluskoormuse tabel)
  • web/index.html — MapLibre kaart (demo-koodi sisend, kaitstud vallad lukus)
  • web/tutvustus.html — referentsileht (avalik Valga, teised kaitstud 🔒)
  • data/ — genereeritud GeoJSON + raportifailid (commititud), data/logs/access.log

ardo/Obsidian — doktoritöö märkmed (koopiad)

ardo/ohmu-cron — serverite varundusskriptid

Lokaalne struktuur

Project/
  liiklussagedus/            # analüüsi algandmed + tulemused (ei ole git-is)
    results/                 # {prefix}_*.csv, {prefix}_*.png, {prefix}_qgis.gpkg
    results/validation/      # kataster, ADS, KÜ, teeregister gpkg-d
    cache/                   # OSMnx vahemälu
    data/                    # WorldPop raster
  liiklusatlas/              # GIT: veebirakendus + pipeline

Analüüsitöövoog (uue valla lisamine)

# 0. Vajadusel: ADS hooned + KÜ + kataster + teeregister (automaatselt, kui puuduvad)
# 1. Täisanalüüs (võtab 5–15 min olenevalt vallast)
PYTHONPATH=. .venv/bin/python3 liiklusatlas/pipeline/run_municipality.py <vall_id>

# 2. Veebiandmete genereerimine (GeoJSON + raport)
PYTHONPATH=. .venv/bin/python3 liiklusatlas/preprocess_web.py <vall_id>

# 3. Commit + push
cd liiklusatlas && git add -A && git commit -m "..." && git push

# 4. Redeploy (koodimuutus → image build; andmed → pull + restart)
ssh ohmu     # cd /data/docker/liiklusatlas && git pull && docker-compose build && docker-compose up -d --force-recreate
ssh hetzner  # cd ~/swarm/.../liiklusatlas && git pull && docker build -t liiklusatlas:latest . && export ATLAS_ACCESS_TOKEN=<kood> && docker stack deploy --compose-file=stack-prod.yml atlas && docker service update --force atlas_liiklusatlas

Avalik/kaistud mudel + token + logimine

  • municipalities.py: Valga public: True, teised False. Manifest kannab access: public|protected.
  • server.py: kaitstud valla /api/maps/{vald}, /api/maps/{vald}/{layer}, /api/report.pdf nõuavad ATLAS_ACCESS_TOKEN (?token= või X-Access-Token), muidu 403.
  • data/logs/access.log — iga andmepäring (aeg, IP, vald, kiht, staatus, UA, kas koodiga).
  • Token .env-is (ohmu) ja eksporditud shellis (hetzner).env on .gitignore-is (ei leki).

Valla-id → analüüsiparameetrid

pipeline/run_municipality.py KNOWN-tabelis: vall_id → (place, prefix, area_km2, official_pop). Teadmata vallad: proovib teedellm.config.MUNICIPALITIES registrit.

Väljundfailide konventsioon

  • Analüüs: liiklussagedus/results/{prefix}_*
  • Veeb: liiklusatlas/data/web/{vall_id}/, liiklusatlas/data/report/{vall_id}/
  • Raporti failid saavad standardnimed (valgapop*.png jne), sisu on valla-spetsiifiline

Seos

[[Liiklussageduse kaudne hindamine/04_Tehniline/Veebirakendus]] [[Liiklussageduse kaudne hindamine/04_Tehniline/Deploy ja infrastruktuur]]