🚀 QGIS2VectorTiles v3.2 is here!

đŸ§© Centroid Fill symbol layers now match QGIS behavior in the output web viewer - on the largest part or on every part.

đŸ–Œïž New Icon Quality setting for sharper sprites than ever.

đŸ”„ Still using ESRI's VTPK? Switch to an open, free, and fully customizable workflow.

â€ïžâ€đŸ”„ Go #FOSS ! Boost, rate, and spread the word!

🔗 https://gallpeters.github.io/QGIS2VectorTiles/

#opensource #maplibre #vectortiles #qgis #gdal #gis #openlayers #geoserver #maptiler #mapbox

on s'amuse comme des petits fours avec #vroom

#openstreetmap #maplibre #openfreemap

I achieved something I find cool today: Displaying cliffs on my #openMapTiles vector tile based #openStreetMap map (using tiles from #openFreeMap

Not really complicated, but I haven't seen them on any of the maps on #mapTiler, #osm, or any of the other vector maps I look at.

Example: An end of the white cliffs of Dover, of cause, and a screenshot of the #mapLibre style rules. It is simply a line + a dashed line offset to the right. And it looks about like in OSM Carto. :)

weeklyOSM 829 is out, covering the @maplibre May newsletter, a new OSRM Trip demo for solving real-world routing puzzles, HOT's seagrass mapping initiative, and SotM 2026 details. A good 5-minute read for anyone building on the open mapping stack.

#OpenStreetMap #MapLibre
https://weeklyosm.eu/archives/18636

weeklyOSM 829

04/06/2026-10/06/2026 [1] Playground map ‘Spieli’ | © m_fuhrmann | map data © by OpenStreetMap Contributors. Community Anne-Karoline Distel announced that a new video on mapping histori


weekly - semanario - hebdo - é€±ćˆŠ - tĂœdenĂ­k - Wochennotiz - ìŁŒê°„ - tygodnik

I'd like to hear #geo people's personal experiences with #Leaflet and #MapLibre - I only know the former but it looks like all the Cool Kids are using MapLibre these days? If I'm only trying to show tiled maps with markers, is there any benefit to a GL-based library?

The other question would be: How hard is it to switch from one to the other?

🚀 QGIS2VectorTiles v3.1 is out!

📍 Supports QGIS point label positions (on/around point).
⚡ Supports QGIS label priority.
đŸ›Ąïž Validation warnings for invalid expressions.
🎹 Better sprite buffers.
🐞 Bug fixes and stability improvements.

â€ïžâ€đŸ”„ Please rate and boost to support #FOSS
🔗https://gallpeters.github.io/QGIS2VectorTiles/

#opensource #maplibre #vectortile #qgis #gdal #gis #openlayers #geoserver #maptiler #mapbox

The Programmer’s Fulcrum: 12 June, 2026

This article originally appeared on The Fulcrum.

Welcome to this week’s The Programmer’s Fulcrum.

It’s your weekly curation of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism.

As usual, we aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional [
]

https://newsletter.mobileatom.net/the-programmers-fulcrum-12-june-2026/ #Abra #ActivityPub #AI #ATProto #Betula #Bonfire #BuildAwesome #Codeberg #CoopCloud #CSS #DeltaChat #Element #Eurosky #fediverse #Forgejo #Ghost #Holos #HTML #HTMX #Kagi #Kdenlive #Ladybird #Lamb #LibreOffice #Linux #MapLibre #Mastodon #Matrix #Mu #Nextcloud #OMN #OpenStreetMap #Owncast #p2p #PostmarketOS #RSS #SelfHosting #signal #Skypress #slixmpp
MapLibre GL JS

Self-Hosted Google Maps egy Raspberry Pi-n

Mindig is lenyƱgözött az a gondolat, hogy a sajĂĄt nĂ©gy falunk között is fusson egy olyan tĂ©rkĂ©p szolgĂĄltatĂĄs, ami nem fĂŒgg az internetkapcsolattĂłl. Egy olyan „Google Maps”, ami a sajĂĄt gĂ©pemen fut, a sajĂĄt adataimat hasznĂĄlja, Ă©s akkor is mƱködik, ha Ă©pp nincs net. Az inspiration a N.O.M.A.D. (Network of Offline Mapping and Discovery) projektbƑl jött, akik egy teljes offline szolgĂĄltatĂĄs stack-et ĂĄlmodtak meg. Az Ƒ nyomdokaikon haladva Ă©pĂ­tettem meg a sajĂĄt verziĂłmat, ami egy Raspberry Pi-n fut, Docker kontĂ©nerekben, Ă©s teljes MagyarorszĂĄgot lefedi.

A hardver – Mi ez a gĂ©p?

A szolgĂĄltatĂĄs a xorp-archive.xorp.hu nevƱ gĂ©pemen fut, ami nem egy ĂĄtlagos Raspberry Pi. Egy Raspberry Pi ARM64 architektĂșrĂĄjĂș eszköz, 8 GB RAM-mal, NVMe HAT kiegĂ©szĂ­tƑvel Ă©s egy 1 TB-os Crucial CT1000E100SSD8 NVMe SSD-vel. Ez nem a rĂ©gi SD kĂĄrtyĂĄs megoldĂĄs – az NVMe sebessĂ©ge Ă©s megbĂ­zhatĂłsĂĄga nĂ©lkĂŒlözhetetlen egy ilyen adatigĂ©nyes stack mƱködtetĂ©sĂ©hez. A gĂ©p Ubuntu 24.04 LTS-t futtat, a kernel pedig a Raspberry Pi-hez optimalizĂĄlt 6.8.0-1057-raspi.

1. åbra: A Raspberry Pi NVMe HAT-tal és SSD-vel. A képen a Raspberry Pi 5, a råhelyezett M.2 HAT+ és az NVMe SSD låtható.

Az ötlet – MiĂ©rt Ă©pĂ­tsĂŒnk offline tĂ©rkĂ©pet?

A vĂĄlasz egyszerƱ: szabadsĂĄg. Amikor nincs internet, vagy korlĂĄtozott a sĂĄvszĂ©lessĂ©g, a legtöbb tĂ©rkĂ©p szolgĂĄltatĂĄs hasznĂĄlhatatlannĂĄ vĂĄlik. Gondoljunk csak egy kirĂĄndulĂĄsra a Pilisbe, egy kĂŒlföldi utazĂĄsra roaming nĂ©lkĂŒl, vagy Ă©pp egy olyan helyzetre, ahol az adatvĂ©delem miatt nem szeretnĂ©nk kĂŒlsƑ szolgĂĄltatĂłkra bĂ­zni magunkat. Egy offline tĂ©rkĂ©p ezekre mind megoldĂĄst nyĂșjt.

A stack nĂ©gy fƑ komponensbƑl ĂĄll, amelyek Docker kontĂ©nerekben futnak:

  • OSM Tile Server – a tĂ©rkĂ©p csempĂ©k (tile-ok) kiszolgĂĄlĂĄsa
  • Photon – cĂ­mkeresĂ©s, geokĂłdolĂĄs
  • GraphHopper – ĂștvonaltervezĂ©s (autĂł, bicikli, gyalogos)
  • GraphHopper PT – tömegközlekedĂ©si ĂștvonaltervezĂ©s (MÁV, VolĂĄnbusz, BKK)
  • MapLibre GL UI – a webes felĂŒlet, ami összefogja az egĂ©szet

Az architektĂșra ĂĄttekintĂ©se

Minden kĂ©rĂ©s egyetlen belĂ©pĂ©si ponton, a map-ui kontĂ©neren keresztĂŒl törtĂ©nik, ami egy Nginx reverse proxykĂ©nt szolgĂĄl. Ez nemcsak egyszerƱbbĂ© teszi a konfigurĂĄciĂłt, hanem kikĂŒszöböli a CORS problĂ©mĂĄkat is, hiszen a böngĂ©szƑ szĂĄmĂĄra minden kĂ©rĂ©s ugyanarrĂłl az origin-rƑl Ă©rkezik.

BöngĂ©szƑ → port 8090 └── Nginx (map-ui kontĂ©ner) ├── /tile/{z}/{x}/{y}.png → OSM (8081) ├── /photon/api → Photon (2322) ├── /graphhopper/route → GraphHopper (8989) └── /graphhopper-pt/route → GraphHopper PT (8989)

A Docker Compose – Minden egyĂŒtt

A teljes stack egyetlen docker-compose-osm-extended.yml fåjlban van definiålva. Låssuk a lényeget (az IP címeket és elérési utakat természetesen megvåltoztattam a valósågban):

services: osm-import: image: overv/openstreetmap-tile-server container_name: osm-import command: import shm_size: 1gb environment: THREADS: 4 UPDATES: enabled volumes: - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf - /home/osm/data/hungary.poly:/data/region.poly - osm-db:/data/database - osm-tiles:/data/tiles osm: image: overv/openstreetmap-tile-server container_name: osm command: run shm_size: 1gb ports: - 8081:80 environment: UPDATES: enabled THREADS: 4 REPLICATION_URL: https://planet.openstreetmap.org/replication/minute/ volumes: - osm-db:/data/database - osm-tiles:/data/tiles photon: image: local/photon:1.1.0 container_name: photon command: ["-listen-ip", "0.0.0.0", "-cors-any"] ports: - 2322:2322 volumes: - /home/osm/photon:/data/photon graphhopper: image: local/graphhopper:9.1 container_name: graphhopper ports: - 8989:8989 volumes: - /home/osm/graphhopper:/data - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf graphhopper-pt: image: local/graphhopper:9.1 container_name: graphhopper-pt ports: - 8991:8989 volumes: - /home/osm/graphhopper-pt:/data - /home/osm/data/hungary-latest.osm.pbf:/data/region.osm.pbf - /home/osm/gtfs:/data/gtfs:ro entrypoint: ["java", "-Xmx6g", "-jar", "/app/graphhopper-web.jar", "server", "/app/config.yml"] map-ui: image: local/osm-ui:1.0 container_name: map-ui ports: - 8090:80 volumes: - /root/osm-ui:/usr/share/nginx/html:ro - /home/osm/map-ui/conf/default.conf:/etc/nginx/conf.d/default.conf:ro

1. OpenStreetMap Tile Server – A tĂ©rkĂ©p alapja

Az overv/openstreetmap-tile-server Docker image egy elƑre összeĂĄllĂ­tott környezet, ami tartalmazza az Apache webszervert, a renderd-et (a csempe renderelƑ dĂ©mont), a PostgreSQL-t PostGIS kiegĂ©szĂ­tƑvel, Ă©s a mod_tile-t, ami a csempe kiszolgĂĄlĂĄsĂ©rt felel. Ez a nĂ©gy komponens egyĂŒtt teszi lehetƑvĂ©, hogy a nyers OpenStreetMap adatokbĂłl szĂ©p, böngĂ©szhetƑ tĂ©rkĂ©pi csempĂ©ket (tile-okat) kapjunk.

Az import folyamat

Minden egy PBF fĂĄjllal kezdƑdik – ez a Protocol Buffer Binary Format, az OpenStreetMap adatok tömörĂ­tett formĂĄtuma. NekĂŒnk a MagyarorszĂĄgra vonatkozĂł kivonatra van szĂŒksĂ©gĂŒnk, ami a geofabrik.de-rĂłl szerezhetƑ be. Ez a fĂĄjl a /home/osm/data/hungary-latest.osm.pbf elĂ©rĂ©si Ășton talĂĄlhatĂł.

Az import az osm-import konténer egyszeri futtatåsåval történik:

# ElsƑ importĂĄlĂĄs (csak egyszer kell) docker compose -f docker-compose-osm-extended.yml run --rm osm-import # Ha frissĂ­teni kell a PBF-et, töröljĂŒk a rĂ©gi adatbĂĄzist Ă©s ĂșjraimportĂĄlunk docker compose -f docker-compose-osm-extended.yml down # ... Ășj PBF letöltĂ©se ... docker compose -f docker-compose-osm-extended.yml run --rm osm-import docker compose -f docker-compose-osm-extended.yml up -d osm

A kontĂ©ner a shm_size: 1gb beĂĄllĂ­tĂĄssal fut, mert az importĂĄlĂĄs Ă©s a renderelĂ©s sorĂĄn rengeteg megosztott memĂłriĂĄra van szĂŒksĂ©g a gyorsĂ­tĂłtĂĄrazĂĄshoz. Ez egy kritikus beĂĄllĂ­tĂĄs – ha kicsi a shared memory, a renderelĂ©s rendkĂ­vĂŒl lassĂș lesz.

3. ĂĄbra: Az OSM tile server folyamatos frissĂ­tĂ©se – a docker compose logs kimenete mutatja az osm2pgsql importĂĄlĂĄst Ă©s a percenkĂ©nti diff letöltĂ©st.

Folyamatos frissítés

A legmenƑbb funkciĂł a beĂ©pĂ­tett incrementĂĄlis frissĂ­tĂ©s. Az UPDATES: enabled környezeti vĂĄltozĂł hatĂĄsĂĄra a kontĂ©ner percenkĂ©nt letölti a minute diff fĂĄjlokat a planet.openstreetmap.org-rĂłl. Ez azt jelenti, hogy a tĂ©rkĂ©pĂŒnk gyakorlatilag valĂłs idƑben frissĂŒl – ha valaki mĂłdosĂ­t egy utat az OSM-ben, az pĂĄr percen belĂŒl megjelenik a sajĂĄt szerverĂŒnkön is. TermĂ©szetesen ha nincs internet, a script egyszerƱen csendben meghibĂĄsodik, Ă©s a kontĂ©ner tovĂĄbb szolgĂĄlja a mĂĄr meglĂ©vƑ csempĂ©ket.

2. Photon – CĂ­mkeresĂ©s geokĂłdolĂĄssal

A Photon egy nyĂ­lt forrĂĄskĂłdĂș geokĂłdolĂł motor, ami az OpenStreetMap adatokra Ă©pĂŒl. A mi stackĂŒnkben a local/photon:1.1.0 image fut, ami egy MagyarorszĂĄgra szabott adatbĂĄzissal dolgozik. Ez nem a teljes vilĂĄg – csak MagyarorszĂĄg, ami jelentƑsen csökkenti a keresĂ©si idƑt Ă©s a tĂĄrhely igĂ©nyt.

A Photon adatbåzis frissítése egy /root/photon-import.sh script segítségével történik, ami hetente egyszer fut (vasårnap 11:30-kor a cron-ban).

A script mƱködése:

  • Letölti a legĂșjabb MagyarorszĂĄg Photon dump fĂĄjlt(zst tömörĂ­tĂ©sben) a graphhopper.com-rĂłl
  • EllenƑrzi a metaadatokat (ETag, last-modified) – ha nem vĂĄltozott, kihagyja a letöltĂ©st
  • LeĂĄllĂ­tja a Photon kontĂ©nert
  • Egy ideiglenes Docker kontĂ©nerben dekompresszĂĄlja Ă©s importĂĄlja az adatbĂĄzist
  • FrissĂ­ti a szimbolikus linket az Ășj import könyvtĂĄrra
  • ÚjraindĂ­tja a Photon kontĂ©nert
  • EllenƑrzi a szolgĂĄltatĂĄs ĂĄllapotĂĄt egy egyszerƱ API hĂ­vĂĄssal
  • # A Photon import script lĂ©nyege (egyszerƱsĂ­tve): docker run --rm \ --entrypoint sh \ -v /home/osm/photon:/data/photon \ -v /home/osm/photon-dumps:/data/dumps \ local/photon:1.1.0 \ -lc "zstd -d --stdout /data/dumps/photon-dump-hungary.jsonl.zst \ | java -Xms2g -Xmx4g -jar /app/photon.jar import \ -import-file - -data-dir /data/photon/imports/20260603200523" # A szimbolikus link frissĂ­tĂ©se: ln -sfn /home/osm/photon/imports/20260603200523 /home/osm/photon/photon_data

    Az importĂĄlt adatbĂĄzisok verziĂłzott könyvtĂĄrakba kerĂŒlnek (/home/osm/photon/imports/20260603200523/), Ă­gy mindig vissza lehet tĂ©rni egy rĂ©gebbi verziĂłhoz, ha valami elromlana. Egy szimbolikus link (photon_data -> imports/20260603200523/) mutat az aktuĂĄlis verziĂłra.

    4. ĂĄbra: CĂ­mkeresĂ©s a Photon segĂ­tsĂ©gĂ©vel – „Eger, DobĂł tĂ©r” keresĂ©se Ă©s megjelenĂ­tĂ©se a tĂ©rkĂ©pen.

    3. GraphHopper – ÚtvonaltervezĂ©s (autĂł, bicikli, gyalogos)

    A GraphHopper egy nagy teljesĂ­tmĂ©nyƱ, nyĂ­lt forrĂĄskĂłdĂș ĂștvonaltervezƑ motor, ami az OpenStreetMap ĂșthĂĄlĂłzatĂĄra Ă©pĂŒl. A mi stackĂŒnkben a local/graphhopper:9.1 image fut, 4 GB RAM allokĂĄciĂłval.

    A GraphHopper hĂĄrom Ăștvonal profilt tĂĄmogat:

    • car – autĂłs közlekedĂ©s, figyelembe veszi az egyirĂĄnyĂș utcĂĄkat, sebessĂ©gkorlĂĄtozĂĄsokat, Ășt tĂ­pusokat
    • bike – biciklis közlekedĂ©s, preferĂĄlja a kerĂ©kpĂĄrutakat, kerĂŒli a fƑĂștvonalakat
    • foot – gyalogos közlekedĂ©s, hasznĂĄlja a jĂĄrdĂĄkat, gyalogutakat, lĂ©pcsƑket

    A konfigurĂĄciĂł /home/osm/graphhopper/config.yml-ban talĂĄlhatĂł:

    graphhopper: datareader.file: /data/region.osm.pbf graph.location: /data/graph-cache profiles: - name: car - name: bike - name: foot profiles_ch: - profile: car - profile: bike - profile: foot graph.dataaccess.default_type: RAM_STORE server: application_connectors: - type: http port: 8989 bind_host: 0.0.0.0

    A Contraction Hierarchies (CH) egy elƑfeldolgozĂĄsi technika, ami drĂĄmaian felgyorsĂ­tja az Ăștvonal keresĂ©st. Az autĂł Ă©s bicikli profilokhoz CH-t hasznĂĄlunk, ami az elsƑ indulĂĄskor 5-10 perc elƑfeldolgozĂĄst igĂ©nyel, de utĂĄna a lekĂ©rĂ©sek ezredmĂĄsodpercek alatt teljesĂŒlnek.

    5. ĂĄbra: AutĂłs ĂștvonaltervezĂ©s a GraphHopper segĂ­tsĂ©gĂ©vel – BudapestrƑl Debrecenbe (231,5 km, 2 Ăłra 12 perc).

    4. GraphHopper PT – TömegközlekedĂ©si ĂștvonaltervezĂ©s

    Ez a stack talĂĄn legmenƑbb komponense. A GraphHopper PT (Public Transport) egy speciĂĄlis konfigurĂĄciĂłja a GraphHopper-nak, ami nemcsak az OSM ĂșthĂĄlĂłzatot, hanem a menetrendi adatokat (GTFS) is felhasznĂĄlja a tömegközlekedĂ©si ĂștvonaltervezĂ©shez.

    GTFS adatforrĂĄsok

    Hårom GTFS adatforråst hasznålunk, amelyek Magyarorszåg teljes tömegközlekedését lefedik:

    SzolgåltatóForråsMéretFrissítésMÁV (Magyar Államvasutak)mavcsoport.hu (Basic Auth)~5 MBNapontaVolånbusz (Helyközi buszok)opendata.utas.hu~110 MBNapontaBKK (Budapesti Közlekedési Központ)go.bkk.hu~55 MBHetente

    A MÁV regisztråciós kålvåria

    A MÁV GTFS elĂ©rĂ©se sajnos nem nyilvĂĄnos – a mavcsoport.hu/gtfs oldalon kell regisztrĂĄlni, ahol egy rövid adatkezelĂ©si hozzĂĄjĂĄrulĂĄs utĂĄn kapunk Basic Auth felhasznĂĄlĂłnevet Ă©s jelszĂłt. A regisztrĂĄciĂł egyszerƱ, de a mai napig nem Ă©rtem, miĂ©rt kell ez egy nyĂ­lt GTFS adatfolyamhoz – a MÁV indoklĂĄsa szerint azĂ©rt, hogy „tudjĂĄk, hĂĄnyan Ă©s milyen cĂ©lra hasznĂĄljĂĄk az adataikat”. Nos, a mi cĂ©lunk egyĂ©rtelmƱ: jobb tömegközlekedĂ©si informĂĄciĂłt adni a felhasznĂĄlĂłknak.

    A VolĂĄnbusz Ă©s a BKK szerencsĂ©re nyĂ­ltan, mindenfĂ©le regisztrĂĄciĂł nĂ©lkĂŒl elĂ©rhetƑ – köszönet Ă©rte!

    A GTFS szinkronizĂĄlĂł script

    A /root/gtfs-sync.sh script naponta (hajnali 3:30-kor) letölti mindhĂĄrom GTFS fĂĄjlt, majd ĂșjraindĂ­tja a graphhopper-pt kontĂ©nert, hogy az Ășj menetrend alapjĂĄn ĂșjraĂ©pĂ­tse a grĂĄfot. Ez a folyamat 2-5 percet vesz igĂ©nybe – ezalatt a tömegközlekedĂ©si ĂștvonaltervezĂ©s nem elĂ©rhetƑ.

    # A GTFS szinkronizĂĄlĂł script lĂ©nyege (egyszerƱsĂ­tve): # MÁV letöltĂ©s (Basic Auth-val) curl -sSf -u "user:password" \ -o /home/osm/gtfs/mav_gtfs.zip \ "https://www.mavcsoport.hu/gtfs/gtfsMavMenetrend.zip" # VolĂĄnbusz letöltĂ©s curl -sSf -o /home/osm/gtfs/volanbusz_gtfs.zip \ "https://opendata.utas.hu/public-gtfs/volanbusz_gtfs.zip" # BKK letöltĂ©s curl -sSf -o /home/osm/gtfs/bkk_gtfs.zip \ "https://go.bkk.hu/api/static/v1/public-gtfs/budapest_gtfs.zip" # GraphHopper PT ĂșjraindĂ­tĂĄsa az Ășj menetrendek betöltĂ©sĂ©hez docker restart graphhopper-pt

    ÉrdekessĂ©g, hogy a GraphHopper PT konfigurĂĄciĂłja egyszerre hĂĄrom GTFS fĂĄjlt is be tud tölteni – a gtfs.file paramĂ©terben vesszƑvel felsorolva:

    graphhopper: gtfs.file: /data/gtfs/mav_gtfs.zip,/data/gtfs/volanbusz_gtfs.zip,/data/gtfs/bkk_gtfs.zip # ...és az OSM fåjl a gyalogos kapcsolatokhoz

    Ez azĂ©rt fontos, mert a tömegközlekedĂ©si ĂștvonaltervezĂ©snĂ©l nem elĂ©g a menetrend – tudni kell, hogyan jutok el a buszmegĂĄllĂłhoz gyalog, amihez pontosan az OSM adataira van szĂŒksĂ©g.

    6. ĂĄbra: TömegközlekedĂ©si ĂștvonaltervezĂ©s a GraphHopper PT segĂ­tsĂ©gĂ©vel – EgerbƑl a Budapest-Keleti pĂĄlyaudvarra, ĂĄtszĂĄllĂĄs nĂ©lkĂŒl, 2 Ăłra 33 perc alatt.

    5. A Webes FelĂŒlet – MapLibre GL UI

    A felhasznĂĄlĂłi felĂŒlet MapLibre GL JS-re Ă©pĂŒl, ami a Mapbox GL JS nyĂ­lt forrĂĄskĂłdĂș tovĂĄbbfejlesztett vĂĄltozata. A map-ui kontĂ©ner egy Nginx Alpine image, ami a statikus fĂĄjlokat szolgĂĄlja ki Ă©s proxy-zik a hĂĄttĂ©rszolgĂĄltatĂĄsok felĂ©.

    Ami kĂŒlönösen fontos: minden JavaScript Ă©s CSS fĂĄjl lokĂĄlisan van tĂĄrolva a /root/osm-ui/vendor/ könyvtĂĄrban. Nincs CDN fĂŒggƑsĂ©g, nincs Google Fonts, nincs unpkg – ha elmegy az internet, a felĂŒlet tovĂĄbbra is teljesen mƱködƑkĂ©pes marad.

    A UI funkciĂłi

    • TĂ©rkĂ©p nĂ©zet – raszteres csempĂ©k MapLibre GL-lel, teljes kĂ©pernyƑs interakciĂł
    • KeresĂ©s – autocomplete cĂ­mkeresĂ©s a Photon segĂ­tsĂ©gĂ©vel, kattintĂĄsra odarepĂŒlĂ©s
    • ÚtvonaltervezĂ©s – A→B Ăștvonal nĂ©gy mĂłdban: autĂł, bicikli, gyalogos, tömegközlekedĂ©s
    • KanyarrĂłl-kanyarra navigĂĄciĂł – összecsukhatĂł lista az Ăștvonal panelen, bĂĄrmelyik kanyarra kattintva odarepĂŒl a tĂ©rkĂ©p
    • Több alternatĂ­va – tömegközlekedĂ©snĂ©l több Ăștvonal közĂŒl vĂĄlaszthatunk indulĂĄsi/idƑ szerint
    • JĂĄrat jelvĂ©nyek – szĂ­nkĂłdolt jelvĂ©nyek a kĂŒlönbözƑ jĂĄratokhoz (busz=kĂ©k, villamos=sĂĄrga, metrĂł=piros, vasĂșt=lila, stb.)
    • RĂ©tegek vĂĄltĂĄsa – OSM (alap) Ă©s MƱhold (ESRI World Imagery) között
    • Offline Ă©rzĂ©kelĂ©s – a mƱhold rĂ©teg automatikusan letiltĂłdik, ha nincs internet

    7. ĂĄbra: A teljes webes felĂŒlet – a tĂ©rkĂ©p, keresĂ©s Ă©s ĂștvonaltervezĂ©s hasznĂĄlata lĂ©pĂ©srƑl lĂ©pĂ©sre.

    Offline audit – Mi mƱködik internet nĂ©lkĂŒl?

    Ez a projekt egyik legfontosabb szempontja. LĂĄssuk, mi a helyzet:

    Teljesen offline (nincs szĂŒksĂ©g internetre)

    • ✅ TĂ©rkĂ©pi csempĂ©k – a PostgreSQL adatbĂĄzisbĂłl renderelve (MagyarorszĂĄg OSM PBF)
    • ✅ CĂ­mkeresĂ©s – Photon a lokĂĄlis MagyarorszĂĄg dump-ot hasznĂĄlja
    • ✅ ÚtvonaltervezĂ©s – GraphHopper ugyanazt a lokĂĄlis PBF-et olvassa
    • ✅ TömegközlekedĂ©s – GraphHopper PT a lokĂĄlisan szinkronizĂĄlt GTFS menetrendekkel
    • ✅ MapLibre GL JS/CSS – /root/osm-ui/vendor/ könyvtĂĄrbĂłl (nincs CDN)
    • ✅ Összes HTML/JS/CSS – nincs kĂŒlsƑ font, nincs Google Fonts, nincs kĂŒlsƑ API hĂ­vĂĄs
    • ✅ Nginx proxy – minden upstream cĂ©l localhost vagy kontĂ©ner nĂ©v

    Internetet igényel

    • ❌ MƱhold rĂ©teg (ESRI World Imagery) – opcionĂĄlis, kikapcsolhatĂł
    • ❌ OSM tile frissĂ­tĂ©sek – minute diff letöltĂ©sek (ha elĂ©rhetƑ a net, kĂŒlönben csendben hibĂĄzik)
    • ❌ Photon adatfrissĂ­tĂ©s – heti dump letöltĂ©s graphhopper.com-rĂłl
    • ❌ GTFS adatok – napi menetrend letöltĂ©s

    ÜzemeltetĂ©s – Cron feladatok

    A rendszer ĂŒzemeltetĂ©se nagyrĂ©szt automatizĂĄlt. HĂĄrom cron job gondoskodik a frissĂ­tĂ©sekrƑl:

    # Heti Photon adatbåzis frissítés (vasårnap 11:30) 30 11 * * 0 /root/photon-import.sh >> /var/log/photon-import.log 2>&1 # Napi GTFS szinkronizåció (hajnali 3:30) 30 3 * * * /root/gtfs-sync.sh >> /var/log/gtfs-sync.log 2>&1

    Az OSM kontĂ©ner beĂ©pĂ­tett frissĂ­tĂ©se percenkĂ©nt fut a kontĂ©neren belĂŒl, nem cron-on keresztĂŒl.

    Ismert korlĂĄtok

    • HiĂĄnyzĂł hĂĄzszĂĄmok a Photon keresĂ©sben – a MagyarorszĂĄg Photon dump nem tartalmazza az OSM hĂĄzszintƱ cĂ­mkĂ©it. Ez nem hiba, hanem adatkorlĂĄt.
    • Street View nem elĂ©rhetƑ – nincs gyakorlati, önĂĄllĂłan ĂŒzemeltethetƑ alternatĂ­va (a Mapillary internetet igĂ©nyel, a Google Street View pedig API kulcsot Ă©s internetet).
    • GraphHopper frissĂ­tĂ©se kĂ©zi – amikor az OSM PBF frissĂŒl, a GraphHopper graph cache-t manuĂĄlisan kell törölni (vagy ĂșjraindĂ­tani a kontĂ©nert).
    • Transit grĂĄf ĂșjraĂ©pĂ­tĂ©s – GTFS frissĂ­tĂ©skor 2-5 percig nem elĂ©rhetƑ a tömegközlekedĂ©si ĂștvonaltervezĂ©s.
    • GTFS adatok idƑszerƱsĂ©ge – a menetrendek olyan frissek, amilyen friss az utolsĂł szinkronizĂĄciĂł (maximum 24 Ăłra kĂ©sĂ©s).

    ZĂĄrszĂł

    Ez a projekt szĂĄmomra a szoftveres szabadsĂĄg egyik legszebb pĂ©ldĂĄja. Egy olcsĂł, kis fogyasztĂĄsĂș Raspberry Pi-n fut egy teljes Ă©rtĂ©kƱ tĂ©rkĂ©p szolgĂĄltatĂĄs, ami semmilyen kĂŒlsƑ fĂŒggƑsĂ©ggel nem rendelkezik. A nyĂ­lt forrĂĄskĂłdĂș OpenStreetMap közössĂ©g munkĂĄja, a Photon, a GraphHopper Ă©s a MapLibre projectek lehetƑvĂ© teszik, hogy bĂĄrki a sajĂĄt kezĂ©be vegye a tĂ©rkĂ©pezĂ©st.

    A forrĂĄskĂłd Ă©s a konfigurĂĄciĂłk termĂ©szetesen elĂ©rhetƑk a sajĂĄt infrastruktĂșrĂĄmon. Ha bĂĄrki szeretne egy hasonlĂł rendszert Ă©pĂ­teni, a N.O.M.A.D. projekt remek kiindulĂĄsi alap, Ă©s az itt leĂ­rt konfigurĂĄciĂłk is szabadon felhasznĂĄlhatĂłk.

    KövetkezƑ lĂ©pĂ©skĂ©nt szeretnĂ©m kiterjeszteni a szolgĂĄltatĂĄst SzlovĂĄkiĂĄra, RomĂĄniĂĄra, AusztriĂĄra, SzlovĂ©niĂĄra Ă©s HorvĂĄtorszĂĄgra is – a KĂĄrpĂĄt-medence teljes lefedĂ©sĂ©re. TovĂĄbbĂĄ tervben van egy ĂștnyitĂĄs (road closure) tĂĄmogatĂĄs is, ahol a felhasznĂĄlĂłk jelezhetik az aktuĂĄlis lezĂĄrĂĄsokat, terelĂ©seket, ami aztĂĄn az összes felhasznĂĄlĂł szĂĄmĂĄra megjelenne.

    Ha kérdésetek van, vagy kipróbåltåtok a megoldåst és elakadtatok, nyugodtan szóljatok!

    #ĂștvonaltervezĂ©s #BKK #Docker #GraphHopper #GTFS #MapLibre #MÁV #offline #OpenStreetMap #OSM #Photon #RaspberryPi #tĂ©rkĂ©p #tömegközlekedĂ©s #VolĂĄnbusz
    MapLibre Newsletter May 2026

    The MapLibre Organization is an umbrella for open-source mapping libraries.

    MapLibre