180 likes | 447 Views
PostGIS. Lukáš Stach. Obsah. Co je PostGIS Využití prostorových dat Práce s daty v PostgreSQL/PostGIS Ukázka použití některých funkcí v PostGis Silné stránky PostGIS. Co je to PostGIS. PostGIS je rozšířením databázového systému PostrgeSQL o podporu pro geografické objekty
E N D
PostGIS Lukáš Stach
Obsah • Co je PostGIS • Využití prostorových dat • Práce s daty v PostgreSQL/PostGIS • Ukázka použití některých funkcí v PostGis • Silné stránky PostGIS
Co je to 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 • V oborech lidské činnosti: – doprava, energetika – geologie – vodní hospodářství, meteorologie – vojenství – archeologie – cestovní ruch, turistika – pojišťovnictví • Pro účely: – modelování přírodních a jiných procesů – plánování – vizualizaci (zobrazení) – získání nových informací
Uložení dat • Komereční účely – Oracle spatial – poměrně nákladné – ESRI ArcSDE, IBM DB2, nebo Informix • Opensource – databází PostgresSQL a rozšíření její funkčnosti o funkce spojené s prostorem – rozhraní PostGIS
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
Sloučení • PostgreSQL databáze + rozšíření PostGIS 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
Nové tabulky • SPATIAL_REF_SYS jež obsahuje definované souřadnicové systémy, jednotlivá kartografická zobrazení a informace pro manipulace se souřadnicovými systémy • GEOMETRY_COLUMNS v níž je uložena geometrie, dimenze a souřadnicový systém
Práce s daty • PostGIS využívá vlastní formát dat, který lze následně převést v řadě software např. volně dostupný JUMP
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
Constructive fce. • 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 • 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í.
Fce. Simlify • CREATE TABLE simplified_rivers AS SELECTsimplify(the_geom,0.5) FROM rivers;
Boolean fce. • Vrací hodnotu true-false • 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í
Boolean fce. • Funkce Within(geometryA, geometryB) Within() testuje zda geoprvek A je obsažen v geoprvkuB. Within() je použito k vytvoření nové vrstvy z bodů, které jsou obsaženy v polygonu. • Např. CREATE TABLE within AS SELECT * FROM body WHERE Within(the_geom,(SELECT the_geom FROM polygon))
Silné stránky 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 • 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 • 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