Saját térkép megjelenítése weben QGIS segítségével

Ebben a cikkben bemutatjuk, hogyan készíthetünk QGIS és GDAL segítségével nagy felbontású, böngészőben megjeleníthető térképeket. Az elkészült térképek bármely modern böngészőben megtekinthetők, további programok telepítése nélkül. A cikk első felében röviden áttekintjük az alapvető elméleti hátteret, majd a cikk második felében a gyakorlati lépésekre koncentrálunk. Ha azonnal a gyakorlati megvalósítás érdekel, kattints ide.

A csempealapú térképek technikai háttere

A modern webes térképek interaktív megjelenítéséhez a csempealapú térképek (tile-based maps) nyújtanak hatékony megoldást. Ezek kisebb egységekre, csempékre bontják a térképet, így a böngésző csak a szükséges részleteket tölti le, ami javítja a teljesítményt és csökkenti a sávszélesség-használatot.

A térképcsempék különböző nagyítási szinteken érhetők el, és mappastruktúrában tárolódnak. A fájlnevek a csempék pozícióját és nagyítási szintjét jelölik. A fájlrendszer struktúrája tipikusan így néz ki: /zoom_level/x_coordinate/y_coordinate.png

A koordináta-rendszer

A Web Mercator (EPSG:3857) vetület nem méretarányos, mégis ideális webes térképekhez, mert jelentősen egyszerűsíti a számításokat, a csempézést és a zoomolást, emellett kompatibilis a legtöbb térinformatikai rendszerrel. A földrajzi koordinátákat (szélesség, hosszúság) síkban x és y koordinátákká alakítja, ami gyors adatlekérést és skálázhatóságot biztosít a csempealapú térképek számára.

A Web Mercator előnyei

A Web Mercator hátrányai:

Hierarchikus csempézés működése

Az alábbi képek azt mutatják be, hogyan osztódnak a csempék a különböző zoomszinteken. Ez segít megérteni, hogyan jeleníthetjük meg a térképeket különböző nagyítási szinteken.

Zoom level 0

Zoom level 1



Zoom level 2

GDAL és gdal2tiles

A GDAL (Geospatial Data Abstraction Library) egy ingyenes, nyílt forráskódú eszközkészlet, amely lehetővé teszi földrajzi adatok feldolgozását, átalakítását és megjelenítését. A gdal2tiles egy GDAL-eszköz, amely automatikusan csempealapú térképeket generál megadott raszteradatokból. Az eszköz nemcsak a csempék generálását végzi el, hanem a szükséges .html fájlokat is létrehozza, amelyekkel megjeleníthetjük a térképünket a böngészőben.

A QGIS nagy előnye, hogy szorosan integrálja a GDAL eszköztárat, így nem szükséges külön telepíteni, és nem szükséges konzolos parancsokat futtatni. A gdal2tiles funkció például közvetlenül elérhető a QGIS grafikus felületéről, megkönnyítve a térképek csempézésének folyamatát.

Csempe térkép elkészítése QGIS-ben

Indítsd el a QGIS-t, és töltsd be a feldolgozni kívánt térképhez tartozó kép fájlt. Navigálj a "Rétegek" menüpontra, majd válaszd a "Réteg hozzáadása" alatt a "Raszterréteg hozzáadása..." opciót. Tallózd be a kívánt képfájlt, majd nyomd meg a "Megnyitás" gombot.

A "Feldolgozás eszköztár"-ban írd be a keresőmezőbe, hogy "gdal2tiles", majd kattints a felkínált modulra.

A modul elindítása után ellenőrizd és szükség esetén egészítsd ki az alábbi paramétereket:

A gdal2tiles modul QGIS-ben.

Végül kattints a "Futtatás" gombra. Minél magasabb zoomszinteket választasz, annál hosszabb ideig tart a folyamat. Nagy terület esetén, ha nagyon részletes képeket szeretnél, ez akár több órát is igénybe vehet. A modul futtatása után a megadott mappában lesznek majd a csempék, amelyek a térkép apró darabokra bontott verzióját tartalmazzák, a korábban említett hierarchikus mappaszerkezetben. Illetve a térkép megjelenítő keretrendszerekhez tartozó .html fájlok.

Összegzés és további lehetőségek

Az itt bemutatott lépésekkel elkészültek a csempealapú térképek és a hozzájuk tartozó alapvető .html fájlok, amelyekkel már egy működő webes térkép alapjai is rendelkezésre állnak. A további fejlesztések során érdemes lehet egyedi funkciókat is hozzáadni, például: egyedi jelölők elhelyezése, osztott nézetek beépítése, további rétegek kezelése. Akár speciális stílusok és vizualizációk alkalmazása is lehetséges. Egy ilyen megoldás példája itt nézhető meg.

Ezek az alapok nemcsak egy működő megoldást kínálnak, hanem egy olyan rugalmas infrastruktúrát is, amely könnyedén bővíthető a projekt jövőbeli igényeinek megfelelően.