
Mi a cél és miért jó mindez?
A cél egy olyan összetett vektoros térbeli adatforrás létrehozása, amit mind a böngészőben, mind asztali térinformatikai programban fel lehet használni, egy átlagos webtárhelyen tárolva és onnan kiszolgálva.
Vector Tiles egy viszonylag új technológia, arra való, hogy az adatot és annak kinézetét szét lehessen választani, úgy, hogy közben nem kell az egész vektoros fájlt kezelni hozzá.
MBTiles fájl létrehozása
- lépés: Adatok előkészítése (QGIS - kihagyható)
- lépés: Adatok feldolgozása
Adatok előkészítése
Openstreetmap (OSM) adatait használtam fel, amit Docker környezetben a helyi gépről érek el.
Az adminisztrációs réteget leszűrtem Dunaújvárosra, majd készítettem egy befoglaló téglalapot, ezután a OSM rétegeit elvágtam ezzel a téglalappal, amit kimentettem egy-egy json fájlba.
Adatok feldolgozása
Készítettem egy git tárat, amiben létrehoztam egy dockeres környezetet (google által elsőnek kidobott környezet sajnos nálam nem működött). A geojson fájlok feldolgozásához a mapbox/tippecanoe szoftvert használtam.
Az alábbi kód futtatásához Docker programra van szükség.
git clone git@github.com:bszabo28/docker-tippecanoe.git
cd docker-tippecanoe
docker-compose build
docker-compose run tippecanoe tippecanoe -s EPSG:4326 -pi -f -z13 -o osm-vector-dunaujvaros.mbtiles \
geojson/osm-places.geojson \
geojson/osm-aeroways.geojson \
geojson/osm-amenities.geojson \
geojson/osm-barrierpoints.geojson \
geojson/osm-barrierways.geojson \
geojson/osm-housenumbers-interpolated.geojson \
geojson/osm-housenumbers.geojson \
geojson/osm-housenumbers-interpolated.geojson \
geojson/osm-road.geojson osm-buildings.geojson \
geojson/osm-landusage.geojson \
geojson/osm-transport-areas.geojson \
geojson/osm-waterareas.geojson \
geojson/osm-waterways.geojson
A kimenetként megadott MBTiles fájlt a DB Browser for SQLite programmal módosítom, törlöm a metadata táblából a "generator_options" recordot (Tileserver-php fájlban okoz hibát).
Ezután az előző blogpostban beállított Tileserver-php segítségével publikálom az elkészített MBTiles-t.
QGIS-ben az alábbi két módon lehet használni a vektor réteget:
Közvetlenül a mbtiles-t beolvasva, vagy vectiles json fájlt:
- https://tile-server.szabo-balazs.hu/mbtiles/osm-vector-dunaujvaros.mbtiles
- https://tile-server.szabo-balazs.hu/mbtiles/osm-vector-dunaujvaros.json
Itt elérhető a Tileserver-php által készített térkép:
https://tile-server.szabo-balazs.hu/#mbtiles/osm-vector-dunaujvaros/mapboxgl

