|
@@ -3,13 +3,21 @@
|
|
|
## Projektid (Git: gogs.odamus.com, kasutaja `ardo`)
|
|
## Projektid (Git: gogs.odamus.com, kasutaja `ardo`)
|
|
|
|
|
|
|
|
### `ardo/liiklusatlas` (aktive, veebirakendus + pipeline)
|
|
### `ardo/liiklusatlas` (aktive, veebirakendus + pipeline)
|
|
|
-- `pipeline/` — analüüsiahel (4 skripti + run_municipality.py)
|
|
|
|
|
|
|
+- `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
|
|
- `preprocess_web.py` — gpkg → GeoJSON kihid + raporti materjalid
|
|
|
-- `municipalities.py` — 79 KOV-i register
|
|
|
|
|
-- `server.py` — FastAPI (`/api/*`)
|
|
|
|
|
-- `report.py` — PDF-raport (reportlab)
|
|
|
|
|
-- `web/index.html` — MapLibre GL kaart
|
|
|
|
|
-- `data/` — genereeritud GeoJSON + raportifailid (commititud)
|
|
|
|
|
|
|
+- `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/Obsidian` — doktoritöö märkmed (koopiad)
|
|
|
|
|
|
|
@@ -21,6 +29,7 @@
|
|
|
Project/
|
|
Project/
|
|
|
liiklussagedus/ # analüüsi algandmed + tulemused (ei ole git-is)
|
|
liiklussagedus/ # analüüsi algandmed + tulemused (ei ole git-is)
|
|
|
results/ # {prefix}_*.csv, {prefix}_*.png, {prefix}_qgis.gpkg
|
|
results/ # {prefix}_*.csv, {prefix}_*.png, {prefix}_qgis.gpkg
|
|
|
|
|
+ results/validation/ # kataster, ADS, KÜ, teeregister gpkg-d
|
|
|
cache/ # OSMnx vahemälu
|
|
cache/ # OSMnx vahemälu
|
|
|
data/ # WorldPop raster
|
|
data/ # WorldPop raster
|
|
|
liiklusatlas/ # GIT: veebirakendus + pipeline
|
|
liiklusatlas/ # GIT: veebirakendus + pipeline
|
|
@@ -29,6 +38,7 @@ Project/
|
|
|
## Analüüsitöövoog (uue valla lisamine)
|
|
## Analüüsitöövoog (uue valla lisamine)
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
|
|
+# 0. Vajadusel: ADS hooned + KÜ + kataster + teeregister (automaatselt, kui puuduvad)
|
|
|
# 1. Täisanalüüs (võtab 5–15 min olenevalt vallast)
|
|
# 1. Täisanalüüs (võtab 5–15 min olenevalt vallast)
|
|
|
PYTHONPATH=. .venv/bin/python3 liiklusatlas/pipeline/run_municipality.py <vall_id>
|
|
PYTHONPATH=. .venv/bin/python3 liiklusatlas/pipeline/run_municipality.py <vall_id>
|
|
|
|
|
|
|
@@ -38,14 +48,22 @@ PYTHONPATH=. .venv/bin/python3 liiklusatlas/preprocess_web.py <vall_id>
|
|
|
# 3. Commit + push
|
|
# 3. Commit + push
|
|
|
cd liiklusatlas && git add -A && git commit -m "..." && git push
|
|
cd liiklusatlas && git add -A && git commit -m "..." && git push
|
|
|
|
|
|
|
|
-# 4. Redeploy
|
|
|
|
|
-ssh ohmu # cd /data/docker/liiklusatlas && git pull && docker-compose up -d --force-recreate
|
|
|
|
|
-ssh hetzner # cd ~/swarm/.../liiklusatlas && git pull && docker build -t liiklusatlas:latest . && docker service update --force atlas_liiklusatlas
|
|
|
|
|
|
|
+# 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
|
|
## Valla-id → analüüsiparameetrid
|
|
|
|
|
|
|
|
-`pipeline/run_municipality.py` KNOWN-tabelis: `vall_id → (place, prefix, area_km2)`.
|
|
|
|
|
|
|
+`pipeline/run_municipality.py` KNOWN-tabelis: `vall_id → (place, prefix, area_km2, official_pop)`.
|
|
|
Teadmata vallad: proovib `teedellm.config.MUNICIPALITIES` registrit.
|
|
Teadmata vallad: proovib `teedellm.config.MUNICIPALITIES` registrit.
|
|
|
|
|
|
|
|
## Väljundfailide konventsioon
|
|
## Väljundfailide konventsioon
|