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 6ffd8927 4ca1 55cb 9346 315d5e7f2e0d

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 ed306b26 ea00 5906 bcd8 5f10688e82b3

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 15b3cf93 a8b8 5dbd 8a4b 28fbaf6595e6 google docs image ee6f6d84 b842 5289 b450 d28de3324814
dc76a04ac91090244418763e1e1d2a