OpenStreetMap
Docker
környezetben

Miért jó mindez?

AzOpenStreetMap nyers adatait szerettem volna térinformatikai programban használni. Azonban a hatalmas adatbázisnak csupán egy kis szeletére lett volna szükségem, annak is a legfrissebb változatára. AzOverPass Turbo kiváló alkalmazás egy egy adat letöltésére, azonban a napi lekérdezés limitált és a szűrés sem az igazi. A QGIS-ben modulként elérhető OSM adat letöltők nekem jobbára nem működnek, pedig hasznos eszközöknek tűnnek(QickOSM). A postgres + postgis + OSM importáló kézzel való beállításától és működtetésétől pedig inkább távol tartom magam.

Így került képbe akartoza által karban tartott konténerizált környezet, amit elég egyszerű használni, frissíteni és fájdalommentes tőle megválni, ha már nincs szükség rá.

  1. Arról, hogy miért jó a Docker ide kattintva találsz több információt
  2. Arról, hogy mi az OpenStreetMap pedig ide kattintva tudhatsz meg többet
google docs image 8a4ecf7f 28bb 5c76 ac51 92b0d8e7cc68

Telepítés lépései

Telepítéshez szükség lesz git verzió kezelőre, kód szerkesztőre, böngészőre valamint egy terminálra.

  1. Innen érhető el akartoza/docker-osm git repository, ahol megtalálható a részletes dokumentáció is.
# Projekt klónozása
git clone git@github.com:kartoza/docker-osm.git
# Belépés a klónozott könyvtárba
cd docker-osm

EzutánMagyarország közigazgatási határának geojson fájlát lementem a docker-osm/settings könyvtárba clip.geojson néven. Majd letöltöm Magyarország pbf fájlátinnen és szintúgy bemásolom a docker-osm/settings könyvtárba country.pbf néven. Majd a docker-osm/docker-osm-pbf/Dockerfile-ban módosítom az alábbi sorokat, figyelve arra, hogy ne legyen idézőjel a környezeti változók körül.

ENV BASE_URL='http://download.geofabrik.de'
ENV CONTINENT=europe
ENV COUNTRY=hungary

Ahhoz, hogy a térinformatikai programból elérhető legyen az OSM adatbázis a docker-osm/docker-compose.yml fájlban ki kell kommentezni az alábbi két sort.

# Uncomment to use the postgis database from outside the Docker network
ports:
  - '35432:5432'

Végül a docker-osm gyökér könyvtárában ki kell adni az alábbi parancsokat. Ez jó időbe fog telni.

# Konténerek felépítése és az adatok betöltése
docker-compose build
# Konténerek elindítása
docker-compose up

Érdemes megvárni, amíg ki nem íródik a terminálban a sikeres importálás, mert csak ezután használható az adatbázis.

google docs image 98da28b2 afff 5bf2 9dd5 d2d10c4934b0

QGIS beállítása

QGIS térinformatikai programban: Réteg menüpont -> Adatforrás kezelő -> PostGis réteg hozzáadása -> Új

Az új kapcsolat hozzáadása után pedig 'kapcsolódás' (az első alkalommal ez sokáig tart).

google docs image 1a68b550 e375 5145 981e 42add2ff23a6 google docs image 2596f52d 7692 562b a196 89efb1884fb6
dc76a04ac91090244418763e1e1d2a