PostGIS Luboš Hejduk, Petr Sedlář 2007
Obsah Co je PostGIS Využití prostorových dat Způsob instalace PostgreSQL/PostGIS Správa databáze postgresql/postgis Práce s daty v PostgreSQL/PostGIS Import dat do PostGIS databáze Zobrazení PostGIS dat Ukázka použití některých funkcí v PostGIS Silné stránky PostGIS
Co je PostGIS PostGIS je rozšířením databázového systému PostrgeSQL o podporu pro geografické objekty. Rozšiřuje PostgreSQL server tak, aby ho bylo možno užívat jako databázi pro geoinformační systémy PostGIS je open source produkt a splňuje OpenGIS standardy - tzn. standardy pro ukládání a snadný přenos dat mezi GISovými aplikacemi. Je vyvíjen společností Refractions Research Inc. jako výzkumný projekt a je neustále zdokonalován.
Prostorová data se využívají: v oborech lidské činnosti: doprava, energetika geologie vodní hospodářství, meteorologie vojenství archeologie cestovní ruch, turistika pojišťovnictví a celé řadě zejména přírodních věd pro účely: modelování přírodních a jiných procesů plánování vizualizaci (zobrazení) získání nových informací, atd.
Jak vložit prostorová data do DB Komerční produkty Oracle spatial poměrně nákladné. ESRI ArcSDE, IBM DB2, nebo Informix. Zdarma opensource databází PostgresSQL a rozšíření její funkčnosti o funkce spojené s prostorem rozhraní PostGIS.
Instalace PostgreSQL a PostGIS PostgreSQL je relační databázový systém opensource Předností systému PostgreSQL je rozšiřitelnost nové datové typy, funkce, operátory, agregační funkce, procedurální jazyky Provoz na systémech: Linux, UNIX, Windows, aj. Zdrojové kody: http://www.postgresql.org PostGIS je rozhraní (rozšíření), které dovoluje, aby PostgreSQL mohla být použita jako prostorová databáze pro geografické informační systémy. Provoz na systémech: Linux, UNIX, Windows, aj. Zdrojové kody: http://postgis.refractions.net
Co dohramady vznikne? PostgreSQL datbáze (v.8.2) + rozšíření PostGIS (1.2.1) Databáze, která umožňuje ukládat i prostorové objekty běžně používané v GIS používající rozšiřující funkce jednoduchá správa a manipulace s těmito objekty Rozšíření: nové datové typy (geometry, atd.) nové operátory (&& - průnik geometrií, atd.) nové funkce (Length,Simlify,Expand,Transform,Extent,atd.) nové tabulky : spatial_ref_sys a geometry_columns prvně zmíněná tabulka obsahuje informace o referenčních systémech, ve kterých se mohou data zobrazovat. Druhá tabulka obsahuje seznam všech geometrií použitých v databázových tabulkách.
Instalace PostgreSQL
Instalace PostgreSQL
Instalace PostgreSQL
Správa DB - PgAdminIII a terminal PostgreSQL Terminal PostgreSQL Ovládání databáze z příkazového řádku PgAdminIII pro PostgreSQL Jedná se o velmi rozšířený grafický nástroj určený pro administraci PostgreSQL. Dovoluje provádět jednoduché dotazy nebo je také možné jej použít pro komplexní vývoj složitějšího projektu. Pro přístup do databáze nutno vytvořit soubor pgpass.conf
Terminal PostgreSQL
PgAdminIII pro PostgreSQL
Instalace PostGIS
Instalace PostGIS
Instalace PostGIS
Práce s daty Poznámka: PostGIS používá vlastní, "postgisovský" formát dat a nepovedlo se nám najít žádné grafické rozhraní pro vizualizaci. Zaměřili jsme se na program, který umožňuje import dat do PostGISu a jejich následné prohlížení - Quantum GIS Quantum GIS aplikace sloužící pro zobrazení geografických dat a jejich importaci Výhoda: volná dostupnost, čeština a lehká instalace. Instalace: http://qgis.sourceforge.net/
Import dat v QGIS do PostGIS Po spuštění QuantumGIS najedeme na ikonu s přidáním zásuvných modulů, povolíme import tzv. shapefiles souborů.
Import dat v QGIS do PostGIS
Importované data v PgAdminIII Po importu dat si můžeme jejich strukturu prohlédnout v pgadminiii v adresáří tables Kliknutím pravého tlačítka na požadovanou položku a vybráním "Wiew Data" si můžeme prohlédnout jejich atributové tabulky
Zobrazení dat v QGIS K prohlížení dat slouží ikona v rolovacím menu Vrstva -> Přidat vrstvu PostGis"
Zobrazení dat v QGIS Spojíme se s databází PostgreSQL/PostGIS a zobrazíme vybrané vrsty prostorových dat.
Zobrazení dat v QGIS
PostGIS funkce Součástí PostGIS je několik set užitečných funkcí sloužících k usnadnění práce s prostorovými daty Funkce mohou být typu constructive nebo boolean
PostGIS funkce typu constructive Funkce typu constructive Constructive funkce vrací nově vygenerovaný objekt na základě vložených objektů (sjednocení, rozdíl, atd.) nebo případně také mohou vracet číselné hodnoty (délka linií, plocha polygonu, počet bodů tvořících linii, atd.) Funkce Length(geometry) - vrací délku geoprvku v projekčních jednotkách. V následujícím příkladě je použita pro výpočet celkové délky silnic z čr školních dat.
PostGIS funkce length()
PostGIS funkce Simlify() Funkce Simlify(geometry, tolerance) Tato funkce provádí generalizaci daných geoprvků. Na následujícím obrázku jsou černě znázorněny původní linie a červeně jsou znázorněny generalizované linie. Parametr tolerance představuje maximální povolenou kolmou vzdálenost mezi generalizovaným bodem a generalizující linií. Příklad použití CREATE TABLE simplified_rivers AS SELECT simplify(the_geom,0.5) FROM rivers;
PostGIS funkce Simlify()
PostGIS funkce typu boolean Funkce typu boolean - vrací hodnotu typu true/false Funkce Touches(geometry, geometry) Funkce Touches() testuje, zda se dva objekty dotýkají. Její použití je zobrazeno v následující ukázkové funkci, která prochází všechny linie v tabulce line a vypisuje ostatní linie, které na ni navazují
PostGIS funkce Touches()
PostGIS funkce Touches()
PostGIS funkce Within() Funkce Within(geometryA, geometryb) Within() testuje zda geoprvek A je obsažen v geoprvku B. Within() je použito k vytvoření nové vrstvy z bodů, které jsou obsaženy v polygonu. Příklad použití CREATE TABLE within AS SELECT * FROM body WHERE Within(the_geom,(SELECT the_geom FROM polygon))
Ukázka použití funkce Within()
Silné stránky systému PostGIS Nejsou k dispozici jiné kvalitní opensource prostorové databáze a komerční jsou příliš drahé. Nejsou k dispozici prakticky žádné opensource funkce a algoritmy pro manipulaci s prostorovými objekty (takové algoritmy jsou extrémně složité). Postgis je velmi dobrý základ pro budování projektu, který bude využívat prostorová data. Podpora ESRI ShapeFile souborů - *.SHP + *.DBF + *.SHX vždy jen jedna vrstva Postgis umožňuje organizovat, vizualizovat a analyzovat informace způsobem, který se u konkurenčních produktů vyskytuje velmi málo.
Výhody datového skladu PostGIS Data uložená centrálně Data uložena na jednom místě zobrazována na mnoha jiných místech + web Zachování práv Nezávislost na klientském prostředí Systém funguje sám (minimální administrátorské zásahy) Dodržení standardů pro ukládání geodat
Konec prezentace Děkujeme za pozornost