尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Analitički alat za planere granične policije: interaktivna karta Staza uz granicu Hrvatske i Bosne i Hercegovine te procjena Rizika prelaska po Segmentima granice, izračunata iz otvorenih podataka (OpenStreetMap).
Status: pokrivena je cijela granica HR–BiH (oko 1000 km, od Une kod Hrvatske Kostajnice do Konavala). Pilot odsječak (Dvor na Uni – Korenica – Donji Lapac) i dalje se može izračunati zasebno (--podrucje pilot). Granice HR–Srbija i HR–Crna Gora nisu uključene.
Potrebni su Python 3.11, Node i internet (pri prvom dohvatu podataka i za podloge karte). Pri prvom izračunu preuzima se oko 360 MB.
# 1. izračun (jednom, i kad se podaci žele osvježiti)
cd pipeline
pip install -e ".[dev]"
python -m granice refresh # ponovno preuzimanje Geofabrik izvadaka (oko 360 MB) i izračun
python -m granice compute # samo izračun iz već preuzetih podataka (data/raw/)
python -m granice mjesta # naselja uz granicu (data/out/mjesta.json): imena područja na popisu, bez čekanja na Nominatim
python -m granice stanovnistvo # broj stanovnika 2011. uz naselja (DZS, data.gov.hr)
python -m granice zasticena # zaštićena područja i Natura 2000 uz granicu (HAOP, data.gov.hr)
python -m granice promet # promet na prijelazima (DZS)
# 2. web
cd ../web
npm install
npm run vendor # kopira MapLibre i PMTiles u web/vendor (rad bez interneta)
# 3. prikaz, samo na ovom računalu (127.0.0.1)
cd ..
python -m granice serve # http://127.0.0.1:8000/web/
Zadani izvor su Geofabrik izvaci Hrvatske i BiH (data/raw/geofabrik/, čita ih pyosmium): cijela granica se izračuna za nekoliko minuta i ne ovisi o javnom poslužitelju. --izvor overpass dohvaća isto s Overpass API-ja u pločicama od pola stupnja (sporo, sat vremena i više, jer javni poslužitelji često vraćaju 502; odgovori se spremaju u data/raw/, pa se prekinuti dohvat nastavlja). --podrucje pilot računa samo Pilot odsječak, brže je za pokusne izmjene. Parametri izračuna mijenjaju se opcijama, npr. python -m granice compute --segment-length-m 250 --near-distance-m 80. Koliko daleko od granice ceste ulaze u izračun bira se na stranici, u izborniku „Ceste do … od granice”: izračun se unaprijed radi za 50 do 2000 m u koracima od 50 m (CORRIDOR_CHOICES_M u granice/config.py, oko 6 s po vrijednosti), a izbornik nudi upravo izračunate vrijednosti (pojasevi_m u meta.json). Dio karte dalje od toga je pod maglom. --max-border-distance-m zadaje samo vrijednost s kojom se stranica otvara (zadano 500 m). Zadane vrijednosti i značenja: docs/ugovor-izlaza.md.
Provjere:
cd pipeline && python -m pytest && python -m mypy granice tests && python -m ruff check .
cd web && npm run check-colors # validator boja karte (crveni raspon, ceste, krugovi; daltonizam, kontrast, svijetla i tamna tema)
U bočnoj traci bira se podloga: Karta, Reljef (topografska s izohipsama), Satelitska snimka ili Bez podloge. Izbor se pamti u pregledniku. Podloge se dohvaćaju s vanjskih servisa (OpenFreeMap, OpenTopoMap, Esri), pa treba internet, a ti servisi vide koji se dio granice gleda (ADR 0002). Popis i adrese su u web/config.js.
Bez interneta radi stranica na običnoj pozadini sa Stazama, granicom i rizikom. Za lokalnu kartu izradite Protomaps PMTiles izvadak koridora i spremite ga kao data/basemap.pmtiles; tada se nudi "Karta (lokalno, bez interneta)" i zadana je:
pmtiles extract https://build.protomaps.com/<datum>.pmtiles data/basemap.pmtiles --bbox=15.0,44.2,16.9,45.4
(pmtiles je go-pmtiles; aktualni naziv datoteke je na maps.protomaps.com/builds.) Za nazive mjesta na lokalnoj karti treba i lokalni skup fontova u data/fonts/{fontstack}/{range}.pbf (protomaps/basemaps-assets); bez njih se crta bez natpisa.
Netlify je spojen s GitHub repozitorijem i stranicu slaže sam nakon svakog pusha na main (naredba i mapa su u netlify.toml). Izračun se na Netlifyju ne pokreće: izračunati slojevi (data/out/) su u gitu, pa se nova verzija podataka objavljuje ovako:
python -m granice compute # ili refresh, ako treba svježi OSM
git add data/out && git commit -m "Osvježi izračunate slojeve" && git push
Netlify zatim pokrene npm ci && npm run vendor && npm run build u web/ i objavi web/dist/: stranicu, vendor/, šest slojeva u data/ i _headers (noindex, podaci se uvijek provjeravaju, ali se ne preuzimaju ponovno ako se nisu promijenili). Isto se može provjeriti lokalno: cd web && npm install && npm run vendor && npm run build.
Što to znači (ADR 0003): svatko s URL-om vidi kartu rizika. Izračunati slojevi su OSM izvedena baza, pa se objavljuju pod ODbL-om; stranica uz atribuciju nudi njihovo preuzimanje. Podloge (ADR 0002) dolaze s vanjskih servisa, a uvjete Esri i OpenTopoMap za javnu stranicu treba provjeriti; ako ne odgovaraju, uklonite unose satelit i reljef iz web/config.js prije npm run build.
docs/DESIGN.md: dogovoreni dizajn (opseg, izračun rizika, prikaz, tehnika, redoslijed gradnje)docs/ugovor-izlaza.md: oblik podataka između izračuna i webadocs/podaci-i-licence.md: istraživanje otvorenih izvora podataka, licencija i ograničenjaGLOSSARY.md: jezik domene (Staza, Segment granice, Rizik prelaska...)docs/adr/: zapisi arhitekturnih odluka (0001 samo OSM podaci, 0002 online podloge, 0003 javna objava)pipeline/: Python izračun. risk.py je čista funkcija (jezgra, testirana), osm.py dohvat iza sučelja OsmSource, prepare.py priprema Staza i granice, export.py zapisuje slojeve.web/: statična stranica (MapLibre GL), bez backenda i baze.data/: sirovi OSM (raw/) i izračunati slojevi (out/), izvan verzioniranja.Procjena je indikativna i nije validirana terenskim podacima. Alat se objavljuje javno (ADR 0003). serve je razvojni poslužitelj i sluša samo na 127.0.0.1.