Nahrání vektorových dat do geodatabáze PostGIS

V této části workshopu si ukážeme postup importu vektorových dat ve formátu Esri Shapefile do geodatabáze PostGIS.

Postup pro QGIS

Workshop je koncipován tak, že každý uživatel pracuje ve vlastní databázovém schématu. Toto schéma vytvoříme pomocí zásuvného modulu DB Manager. Tento zásuvný modul je součástí základní instalace a je dostupný automaticky.

Vytvoření databázového schématu

DB Manager spustíme z menu aplikace QGIS.

../_images/qgis-db-manager-menu.png

V dialogu vybereme cílovou databázi [1].

../_images/qgis-db-manager-priv.png

Obrázek 2: Uživatel gismentors má právo v databázi vytvářet vlastní schémata.

Můžeme procházet metadata jednotlivých vrstev uložených v geodatabázi.

../_images/qgis-db-manager-layer.png

Obrázek 3: Uživatel gismentors má pro vrstvu obce ve schématu public pouze právo čtení, data nemůže modifikovat.

V našem případě uložíme vektorová data do vlastního schématu, nejprve toto schéma vytvoříme.

../_images/qgis-db-manager-new-schema.png
../_images/qgis-db-manager-create-schema.png
../_images/qgis-db-manager-new-schema-prop.png

Obrázek 6: V nově vytvořeném schématu již má uživatel gismentors právo zápisu.

Import Esri Shapefile do PostGISu

Import vektorových dat ve formátu Esri Shapefile umožňuje zásuvný modul Spit (Shapefile import) dostupný z menu aplikace QGIS.

../_images/qgis-spit-menu.png

V dialogu zvolíme databázi (1) [1], ke které se připojíme (2). Přidáme soubor ve formátu Esri Shapefile (3) určený k importu, definujeme název pro výstupní databázovou tabulku a schéma (4). Jako poslední určíme kód souřadnicového systému (v tomto případě S-JTSK, tj. EPSG:5514) vektorových dat (5).

../_images/qgis-spit-dialog.png
../_images/qgis-spit-progress.png

Naimportovaná vrstva z geodatabáze PostGIS se nezobrazí automaticky, musíme ji přidat manuálně.

../_images/qgis-add-pg-so.png

Další možnosti

DB Manager

Nahrání dat ve formátu Esri Shapefile do geodatabáze PostGIS umožňuje v QGISu i zásuvný modul DB Manager. Soubor ve formátu Esri Shapefile naimportujeme z menu

../_images/shp-import-menu.png

anebo z nástrojové lišty DB Manageru.

../_images/shp-import.png

V dialogu můžeme vybrat pro import do geodatabáze buď již načtenou vektorovou vrstvu (1) anebo vybrat soubor ve formátu Esri Shapefile z disku (2). Dále můžeme změnit cílové schéma a název výsledné tabulky v databázi (3). Dialog nabízí další možnosti včetně transformace do jiného souřadnicového systému (4).

../_images/qgis-db-manager-create-table.png
../_images/qgis-db-manager-finish.png

pgAdmin

Vektorová data ve formátu Esri Shapefile lze do databáze PostGIS naimportovat pomocí zásuvného modulu PostGIS Shapefile and DBF loader aplikace pgAdmin.

../_images/pgadmin-import.png

Nejprve definujeme soubor ve formátu Esri Shapefile (1), cílové databázové schéma (2) a souřadnicový systém (3).

../_images/pgadmin-create.png
../_images/pgadmin-new-layer.png

shp2pgsql

shp2pgsql je konzolový nástroj, který umožňuje import vektorových dat ve formátu Esri Shapefile do geodatabáze PostGIS. Tento nástroj je součástí instalace PostGIS.

Nejprve vytvoříme SQL dávku

shp2pgsql -s 5514 stavebniobjekty.shp landa.stavebniobjekty > so.sql
  • -s definuje souřadnicový systém,
  • stavebniobjekty.shp je název vstupního souboru ve formátu Esri Shapefile,
  • landa.stavebniobjekty je název výstupního databázového schématu a tabulky,
  • > so.sql dávka je uložena do souboru so.sql.

Vytvořenou SQL dávku nahrajeme do databáze gismentors_vugtk:

psql gismentors_vugtk -U gismentors -W -h geo102.fsv.cvut.cz -f so.sql

ogr2ogr

ogr2ogr je konzolový nástroj knihovny GDAL umožňující konverzi mezi datovými formáty podporovanými touto knihovnou.

ogr2ogr -f PostgreSQL \
PG:"dbname=gismentors_vugtk host=geo102.fsv.cvut.cz user=gismentors password=XXX active_schema=landa" \
stavebniobjekty.shp \
-lco FID=gid

Poznámky

[1](1, 2) Předpokládáme, že již máme definovány v QGISu parametry připojení k databázi, viz návod.