A PostGIS a PostgreSQL adatbázis kiterjesztése, amely támogatja a földrajzi adatobjektumokat. Ez lehetővé teszi számunkra, hogy a PostgreSQL adatbázist használjuk térbeli adatok tárolására és lekérdezésére. Ahogy sejtheti, a PostGIS és a Docker kombinálása hatékony és kiterjedt módszert biztosít a téradatok kezelésére.
Ebben az oktatóanyagban megtanuljuk, hogyan állíthatunk be gyorsan egy PostGIS-példányt egy Docker-tárolóban. Kitérünk néhány PostGIS alapismeretre, és megtanuljuk, hogyan tölthetünk be téradatokat, és hogyan hajthatunk végre néhány alapvető lekérdezést a tároló használatával.
Követelmények:
Az oktatóanyag követéséhez győződjön meg arról, hogy rendelkezik a következőkkel:
- Telepítette a Docker Engine-t a rendszerére. Megtekintheti oktatóanyagainkat arról, hogyan telepítheti a Dockert a célrendszerére.
- Alapvető ismeretek a PostgreSQL-ről és a téradatokról
Ha a megadott követelmények teljesülnek, folytathatjuk az oktatóanyagot.
Futtassa a PostGIS-t a Dockerben
Folytassuk a PostGIS tároló beállításával. Kezdjük azzal, hogy a következő paranccsal húzzuk ki a PostGIS tárolót a Docker Hubból:
$ docker pull postgis/postgis
Miután letöltöttük a képet, futtathatjuk a tárolót a kép segítségével a következő parancsban látható módon:
$ docker run --name postgis-server -e POSTGRES_PASSWORD =password -d -p 5432:5432 postgis/postgis
Az adott parancsban a következő paramétereket adjuk meg:
- –név – Ez lehetővé teszi a tároló nevének megadását.
- -e – Ezzel beállíthatjuk a PostgreSQL jelszót környezeti változóként. Ez az a jelszó, amelyet a postgres felhasználó használ.
- -d – Ez arra utasítja a Dockert, hogy a tárolót háttérben vagy leválasztott módban futtassa.
- -p 5432:5432 – Ez lehetővé teszi számunkra, hogy a tárolóban lévő 5432-es portot leképezzük az 5432-es porton lévő gazdagépre.
A tároló futásának ellenőrzéséhez használja a következő parancsot:
$ docker psA listában látnia kell a PostGIS tárolót.
Töltse be a téradatokat a PostGIS-be
Most, hogy fut a PostGIS konténer, betölthetjük a térbeli adatokat különféle eszközök és formátumok segítségével, például GeoJSON, CSV stb.
Ebben az esetben egy Shapefile-t használunk a következő parancsok szerint:
$ mkdir -p ~/adatok$ cd ~/adat
wget https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/110m/cultural/ne_110m_admin_0_countries.zip
$ unzip ne_110m_admin_0_countries.zip
A megadott parancsokban kezdjük azzal, hogy létrehozunk egy könyvtárat a betölteni kívánt adatok tárolására. Ezután letöltünk egy földrajzi adatot a megadott hivatkozásról, és kibontjuk a könyvtárba.
A következő lépés az adatok betöltése az adatbázisba. Kezdjük azzal, hogy a következő paranccsal csatlakozunk a PostgreSQL adatbázishoz:
$ docker exec -it postgis-server psql -U postgres -d postgresHa a rendszer jelszót kér, adja meg a tároló futtatásakor beállított jelszót. Ennek hitelesítenie kell Önt, és be kell juttatnia a PostgreSQL-héjba.
Miután csatlakoztunk az adatbázishoz, az „shp2pgsql” segédprogram segítségével importálhatjuk az adatokat az előző lépésekben kinyert Shape fájlokból.
postgres=# shp2pgsql -I -s 4326 ne_110m_admin_0_countries | psql -U postgres -d postgresAz előző parancsban a -I kapcsolóval térbeli indexet hozunk létre a térbeli adatok gyorsabb lekérdezéséhez. A koordinátarendszert 4326-ként is megadjuk a -s paraméter segítségével. Az EPSG:4326 a WGS 84 szabványos koordinátaállapot-rendszere.
PostGIS lekérdezési adatok
Az adatok betöltése után a „\q” parancs futtatásával vagy kilépéssel kiléphetünk a PSQL segédprogramból.
Ezután annak ellenőrzésére, hogy az adatok betöltve vannak-e, a következő parancs futtatásával újra csatlakozhatunk az adatbázishoz:
$ docker exec -it postgis-container psql -U postgres -d postgresEzután az alapvető térbeli lekérdezéseket futtathatja annak ellenőrzésére, hogy az adatok tárolva vannak.
Következtetés
Ebben az oktatóanyagban megtanulta, hogyan futtathatja a PostGIS-kiszolgálót Docker-tárolóként, és hogyan töltheti be az adatokat az adatbázisba.