Prostorové dotazy¶
Připojujeme se do databáze z QGIS¶
Přístup do databáze umožnuje zásuvný modul QGISu DB Manager (Správce databází).
DB Manager spustíme z menu aplikace QGIS
.V dialogu vybereme databázi školení „gismentors“.
Můžeme procházet metadata jednotlivých vrstev uložených v geodatabázi.
Provádíme SQL dotazy¶
Otevřeme dialog SQL okna , které nám umožní provádět jednoduché SQL dotazy přímo v prostředí aplikace QGIS.
Tip
Pokročilejší uživatelé ocení spíše konzolový nástroj psql. Více k tomuto tématu ve školení PostGIS pro pokročilé.
Vytváříme novou vrstvu jako výsledek prostorového dotazu¶
Na základě prostorového dotazu můžeme pomocí dialogu správce databází vytvářet nové datové vrstvy.
V nasledujícím příkladě vybereme (1) obce (ruian.obce_polygon), které obsahují alespoň jednu pořární stanici (osm.pozarni_stanice). Výsledek zobrazíme v QGISu jako novou vrstvu obce_pozarni_stanice (2).
Poznámka
SELECT o.* FROM ruian.obce AS o JOIN osm.pozarni_stanice AS p
ON ST_Within(p.geom, o.geom);
Dotaz vracím obce, ve kterých je více než jedna požární stanice, jako duplicitní. Správně by tento dotaz mohl vypadat např. následovně:
SELECT o.* FROM ruian.obce AS o WHERE EXISTS
(
SELECT 1 FROM osm.pozarni_stanice AS p WHERE ST_Within(p.geom, o.geom)
);
Poznámka
Alternativně můžete novou vrsvu vytvořit v databázi rovnou jako novou tabulku anebo pohled a zobrazit v QGISu standardní cestou.
-- nejprve vytvoříme vlastní schéma
CREATE SCHEMA uzivatel;
CREATE VIEW uzivatel.obce_pozarni_stanice AS
SELECT o.* FROM ruian.obce AS o WHERE EXISTS
(
SELECT 1 FROM osm.pozarni_stanice AS p WHERE ST_Within(p.geom, o.geom)
);
Přístup z PgAdmin¶
SQL dotazy můžeme provádět v grafické uživatelském prostředí PgAdmin. V následujícím textu předpokládáme verzi PgAdmin 4.
Poznámka
Pokud používáte QGIS, tak Vám PgAdmin nepřinese nic nového, spíše naopak. PgAdmin není GIS aplikace (od verze 3.3 PgAdmin4 nabízí alespoň jednoduchou problížečku geografických dat). Neumožní Vám zobrazit výsledky prostorových dotazů v mapovém okně podobně jako QGIS. Jde o grafické uživatelské rozhraní pro přístup k databázi PostgreSQL, nic víc. Navíc nepodporuje našeptávání a další užitečné funkce. Pro efektivní práci s databází se nejvíce hodí konzolový klient psql, více na školení PostGIS pro pokročilé.
Do seznamu se přidá nová položka.
Z menu
otevřeme nástroj, který nám umožní provádět SQL dotazy.Přístup z DbEaver¶
SQL dotazy můžeme provádět v grafické uživatelském prostředí DbEaver.
Tento nástroj nabízí přístup nejen k PostgreSQL, ale i jiným typům databází.
Také má integrovaný prohlížeč geodat, včetně zobrazení podkladu v podobě OSM nebo jiných služeb.