FreeGeoDataCZ / PostGIS

Z FreeGIS portál
Přejít na: navigace, hledání

Založení geodatabáze

Předpokládejme, že máme databázový systém PostgreSQL včetně rozšíření PostGIS již v systému nainstalován a nakonfigurován.

Založení databáze "pgis_cr" můžeme rozložit do dvou kroků:

createdb pgis_cr -E UTF8
psql pgis_cr -c "create extension postgis"

Konverze vektorových vrstev do prostředí PostGIS

Pro hromadnou konverzi všech vektorových vrstev dostupných v aktuálním mapsetu využijeme skript v.out.psql. Ten pro každou vrstvu ve formátu GRASS vytvoří odpovídající množinu vrstev "vrstva_typ". Typem může být plocha (area), linie (line) či bod (point).

v.out.psql -va in= dbname=pgis_cr

Nastavení dalších práv

Často je vhodné pro pouhé zobrazování dat (mapserver) používat speciálního uživatele s omezenými právy (SELECT). Hromadné nastavení práva SELECT pro všechny tabulky můžeme provést například takto (pro uživatele "pgis_public"). Předpokládáme, že všechny tabulky a sekvence jsou součásti schématu "public". Přirozeně je nutno takového uživatele do systému PostgreSQL nejprve přidat a nastavit odpovídající heslo.

psql pgis_cr -c '\d' | grep 'public' | \
awk '{print "GRANT SELECT ON TABLE "$3" TO pgis_public;"}' | \
psql pgis_cr

Zobrazení vrstev

GRASS

Připojení externího zdroje:

v.external dsn="PG:dbname=pgis_cr" out=cr layer=cr_area

QGIS

V menu "Vrstva" položka "Přidat vrstvu PostGIS", kliknout na tlačítko "Nové".

Qgis nove pgis spojeni.png

Kliknout na tlačítko spojit a vybrat kódování UTF8. Poté vybrat vrstvu(y) a kliknout na tlačítko "Přidat".

Qgis pgis vrstvy.png
Qgis vrstvy.png