Tehtud töö ajalugu.md 3.5 KB

Tehtud töö ajalugu

2026-08-04 — Veebiatlas + esimesed vallad

  • F0: Veebiatlase algversioon liiklusatlas (FastAPI + MapLibre GL + PDF-raport)
    • preprocess_web.py — gpkg → GeoJSON kihid
    • server.py — API /api/maps/*, /api/report.pdf
    • report.py — A4 PDF (reportlab)
    • web/index.html — MapLibre kaart
    • Gogs repo ardo/liiklusatlas loodud
    • Deploy: ohmu (dev, 8074) + hetzner (prod, atlas.see1.ee, traefik + Let's Encrypt)
    • DNS: A-kirje lisatud; AAAA eemaldatud (hetzner IPv6 katki)
  • F1: Valla valija (79 KOV-i), legend, KOV-selgitused; mitme valla andmestruktuur
    • municipalities.py — 79 KOV-i register
    • API /api/municipalities, /api/maps/{vald}/{layer}
  • F2: Üldistatud pipeline + Otepää vald
    • 4 analüüsiskripti üldistatud (--place/--prefix)
    • run_municipality.py — orkestreerija
    • Otepää vald analüüsitud (2. vald)
    • Raport valla parameetriga (?vald=)
  • F2b: Võru vald (3. vald) + pipeline parandused
    • --results-dir — väljund liiklussagedus/results/ (mitte pipeline/results)
    • gravity-le --skip-plot tugi
    • pipeline cache/data .gitignore-isse
  • Obsidian: Doktoritöö/Liiklussageduse kaudne hindamine/ loodud — struktureeritud märkmed metoodika ja tulemuste kohta
  • Parandused (veebiatlas): valla-spetsiifilised rühmakoodid (VAL_, OTE_, VOR_ — mitte VLG_), _pop_ failinimede ühtlustamine (population kirjutas {prefix}_catchment.csv, tarbijad otsisid {prefix}_pop_catchment.csv → väljapääsupunktide andmed puudusid Otepääl/Võrus), popup-id näitavad õiget valla nime + null-kaitse
  • Ühtne gravitatsioonipõhine süsteem: väljapääsupunktide rahvastik/liikumised arvutatakse nüüd gravitatsioonimudeliga (mitte ainult lähim-jaotusega):
    • valga_population_analysis.py kirjutab {prefix}_pop_node_population.csv (sõlme-taseme rahvastik)
    • gravity_exit_analysis.py §9 loeb selle, liidab iga sõlme rahvastiku selle gravitatsioonipõhise parima väljapääsupunkti alla → {prefix}_gravity_exit_population.csv (gravity_population, gravity_trips, nearest_population võrdluseks)
    • export_qgis.py määrab pop_catch/daily_trips gravitatsiooniväärtustega
    • Popup näitab "Elanikke (gravitatsioon)" + lähim-jaotuse võrdluse
    • Tulemus: suuremad keskused tõmbavad rahvastikku (nt Valga suurim väljapääs: gravity 1 682 vs nearest 83)

Tehtud otsused ja õppetunnid

  • Väljundi asukoht: pipeline skriptid peavad kirjutama liiklussagedus/results/, sest preprocess_web.py otsib sealt — kinnitada --results-dir igas etapis
  • Failinimede konventsioon: valga_population_analysis.py kirjutab {prefix}_pop_*.csv (prefiks saab _pop-lõpu), gravity/export otsivad sama mustrit. Valga töötas juhuslikult (ajalooline prefiks valga_pop); ühtlustada uute valdadega
  • gpkg-otsing: preprocess_web.py leidis voru_qgis.gpkg ka voru-linn jaoks — klapp ainult täpse nimega + -vald sufiksi erandiga, mitte -linn päisega
  • WorldPop alahindab hõreasustust: elanike arv catchment'is on tunduvalt väiksem tegelikust — vajab validatsiooni/kalibreerimist
  • Gravitatsioon switched = 0: madala tihedusega valdades ei muuda gravitatsioonikorrektsioon valikuid — tuleb uurida, kas alpha on liiga väike või on see geograafiline reaalsus
  • AAAA kirje: ei tohi lisada, kui server kuulab ainult IPv4-l

Tuleviku sammud

  • Teaduskirjanduse kogumine (n8n)
  • Valideerimine riigiteede loendustega
  • Põhiartikli koostamine (3 valda)
  • Müügipaketi ettevalmistus