WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.