PostGIS

PostGIS predstavuje rozšírenie databázy o možnosti práce s priestorovými údajmi (Práca s GIS údajmi, demografickými a geokódovanými údajmi) Návod na inštaláciu rozšírenia PoststGIS pre databázový systém nájdete tu: manuál stránky postgis.net Aktivácia rozšírenia postgis pre Postgre databázu prebehne zadaním príkazov: CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
Overenie verzie Postgis:
SELECT postgis_full_version();
Overenie verzie Postgre:
SELECT version();
Priestorová databáza je databáza, ktorá definuje špeciálne údajové typy pre geometrické objekty a umožňuje ukladanie takýchto údajov do databázových tabuliek. Rovnako poskytuje špeciálne funkcie a indexy na dopytovanie a manipuláciu s údajmi takéhoto typu pomocou databázového jazyka SQL. Priestorová databáza nemusí slúžiť iba ako sklad priestorových údajov, ale aj ako nástroj na tvorbu priestorových analýz, priestorového spracovania údajov a priestorových dopytov.

Geometrické údajové typy

V PostGISe existujú dva údajové type a to: geometry - umožňuje uložiť geometriu v rovinných súradniciach x,y a geography , kde môžeme ukladať geometriu v geografických súradniciach (zemepisná dĺžka, šírka). Celistvosť mapovania v 2D priestore môžeme docieliť s použitím troch základných typov geometrie: POINT, LINESTRING a POLYGON. V priestorovej databáze však vieme pracovať aj s oveľa komplexnejšími objektami ako MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION a zakrivená geometria. Podobne vieme geometrické objekty umiestniť do 3D priestoru. OpenGIS špecifikácia definuje dve štandardné cesty ako vyjadriť priestorový objekt: well-known text (WKT) a well-known binary (WBK) Ukážky textovej reprezentácie (WKT) priestorových objektov:


SRID

OpenGIS špecifikácia tiež vyžaduje, aby priestorové údaje obsahovali informáciu o súradnicovom systéme SRID (SRID = Spatial reference ID). Ide o číslo (EPSG kód), ktorým je identifikovaný konkrétny súradnicový systém a vzťahuje sa na tabuľku s názvom "spatial_ref_sys". Atribútový stĺpec obsahujúci geometriu potom môže vyzerať následovne: geometry(MULTILINESTRING,5514), alebo geography(POINT,4326) Nešpecifikovaný súradnicový systém je označený v PostGIS ako číslo 0. Informácie o súradnicových systémoch a ich EPSG kódoch nájdete na stránke http://epsg.io/

Ukážka priradenia EPSG kódu záznamu s geometriou:
CREATE TABLE wgs AS SELECT ST_Point(-123.365556, 48.428611) As geom;
ALTER TABLE ba_old.wgs ALTER COLUMN geom TYPE geometry(POINT, 4326) 
USING ST_SetSRID(geom, 4326);


Objektovo-relačná databáza

Je databáza, ktorá umožňuje ukladať komplexnejšie typy objektov v stĺpcoch relačných tabuliek a ktorá umožňuje definovanie vlastných údajových typov, nových funkcii a operátorov na manipuláciu s nimi.

Tvorba geometrie v PostGIS

V týchto jednoduchých prípadoch nešpecifikujeme súradnicový systém, ktorý však bute potrebné definovať ak budeme pracovať s komplexnými geografickými údajmi.

POINT
SELECT ST_Point(1 2) AS bod; 

LINESTRING
SELECT ST_GeomFromText('LINESTRING(-14 21,0 0,35 26)') AS linia;

POLYGON
SELECT ST_GeomFromText('POLYGON((0 1,1 -1,-1 -1,0 1))') As trojuholnik;