Analýza možností SŘBD PostgreSQL / PostGIS pro vytvoření datového skladu v prostředí GIS Jaromír Kamler Vedoucí: Antonín Orlík.

Slides:



Advertisements
Podobné prezentace
Využití Open Source GIS nástrojů ve výuce zeměpisu na střední škole
Advertisements

Databázové systémy 2 Cvičení č. 8
Ladislav Hofman, Jan Slavík TUL Předmět databázové systémy
SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Fakulta elektrotechniky a informatiky
Průvodce pro prostorové dotazy v systému PostGIS (plugin pro OpenJUMP) Vedoucí: Ing. Jan Růžička.Ph.D. Konzultant: Ing. Aleš Daněk Diplomová práce.
Informační systémy Realizace uložených procedur a spouští, jejich praktické využití.
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
Informatika pro ekonomy II přednáška 11
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Fakulta elektrotechniky a informatiky
Databázové systémy II Přednáška č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL.
Databáze Jiří Kalousek.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Procedurální rozšíření Transact SQL Michal Kopecký Výběr ze slajdů k 3. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK.
Open source GIS Přehled GIS nástrojů s otevřeným zdrojovým kódem Ing. Jiří Fejfar, Ph.D.
Databázové systémy teorie a návrh relačních databázových systémů část II.
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Databázové systémy II Přednáška V Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Novinky v SQL 2008 Piotr Grodzicki. Microsoft SQL Server Management Studio o Barevná indikace, volba databáze o Dedikované připojení pro administrátora.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Úvod co to je GIS free GIS využití. Úvod co to je GIS free GIS využití.
Využití XML v DB aplikacích Michal Kopecký Výběr ze slajdů k 7. přednášce předmětu Databázové Aplikace (DBI026) na MFF UK.
Informatika II PAA DOTAZOVACÍ JAZYKY
Dynamic SQL P. Částek. Dynamic SQL Embedded SQL je překládaný preprocesorem => za běhu nelze nechat uživatele rozhodovat o vzhledu samotných SQL příkazů.
Aplikační a programové vybavení
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové Aplikace Slidy ke cvičení DBI026, část 3 KSI MFF UK Verze
Datový sklad pro DOPRAVOPROJEKT, s.r.o.
Databázové systémy Zabezpečení DBS. Cíle, které je třeba vzít v úvahu při návrhu databázové aplikace z pohledu bezpečnosti: Důvěrnost - informace by neměly.
1 Mapy s dopravními informacemi pro WAP Bc. Aleš Daněk – G269 Vedoucí projektu Ing. Jan Růžička Ph.D. Zadavatel firma CAD programy – Ing. Jan Vlčinský.
Lišta nástrojů Standard otevření, uložení a další manipulace se soubory (tj. projekty) načítání dat (mapových vrstev) „žluté plus“ odkaz na další lišty.
Prezentace diplomové práce
Návrh systému sdílení GIS dat v rámci společnosti MND,a. s. Vedoucí Ing. Jan Růžička Ph.D.
1 Syntaxe a sémantika aktivních databází Databázové triggery Aktivní pravidla 10. listopadu 2004 Zuzana Reitermanová & Vojtěch Hlaveš.
GIS prostoru haldy a.s. NH Ostrava
Úvod do PostGIS Jan Ježek.
Perzistence XML dat Kamil Toman
Autor, Název akce Databázové systémy a SQL Lekce 7 Daniel Klimeš.
Metody ukládání časoprostorových dat pro multirelační dolování Martin Večeřa Laboratoř vyhledávání znalostí Fakulta informatiky Masarykova Univerzita Brno.
Databázové systémy a SQL
Databázové systémy přednáška 8 – Transakce
Roman Danel Institut ekonomiky a systémů řízení 2016
Databázové systémy a SQL
Dotazovací jazyk SQL - III
Databázové systémy a SQL
Databázové systémy a SQL
Databázové systémy a SQL
Šablona 32 VY_32_INOVACE_038.ICT.34
Databázové systémy a SQL
Přednáška 9 Triggery.
Databázové systémy a SQL
Databázové systémy a SQL
Transkript prezentace:

Analýza možností SŘBD PostgreSQL / PostGIS pro vytvoření datového skladu v prostředí GIS Jaromír Kamler Vedoucí: Antonín Orlík

ÚVOD Trend ukládat geodata do relačních databází Důvody: Centralizace dat (řízení přístupu, aktuálnost) Sjednocení grafických a popisných atributů Definice souřadnicového systému Možnost využití funkcí definovaných v databázi pro složité prostorové operace s daty Možné prostředky:

Cíl práce Testovat a zhodnotit možnosti SŘBD PostgreSQL/PostGIS pro práci s geodaty Úkoly: Seznámení s PostgreSQL/PostGIS Testování importu / exportu geodat do PostgreSQL, komunikace s různými programovými prostředky Možnosti správy dat, uživatelů a skupin, nastavování práv Možnosti využití funkcí PostGIS Indexace, porovnání časové náročnosti dotazů s použitím indexace a bez ní

Možnost instalace na GNU/Linux i MS Windows PostgreSQL / PostGIS 1/2 RDBMS PostgreSQL: Open-source produkt Dodržování standardů SQL92 a SQL99 Možnost rozšiřování např. o nové: Datové typy Funkce (C, Perl, Python, PL/pgSQL) Operátory Tvorba triggerů Možnost instalace na GNU/Linux i MS Windows

PostgreSQL / PostGIS 2/2 PostGIS: Rozšíření databázového systému PostgreSQL Dodržování standardu OGC Přidává nové funkce a datové typy pro ukládání prostorových dat Přidává nové tabulky pro definování prostorových dat

Definice souřadnicového systému S-JTSK

Oprava definice S-JTSK Oprava definice S-JTSK v knihovně proj4 Aplikace patche na soubor PJ_krovak.c ve zdrojových kódech proj4 Kompilace zdrojových kódů nebo tvorba balíčku

Transformace z S-JTSK do WGS-84 s opravou knihovny proj4

Import / export dat do PostgreSQL ogr2ogr Součást knihovny OGR Schopnost práce s 25 datovými formáty bash-3.00$ ogr2ogr -f PostgreSQL PG:'dbname=kam038 user=kam038 password=***' silnice.shp shp2pgsql / pgsql2shp bash-3.00$ shp2pgsql -s 102065 ulice.shp ulicePoruba kam038 | psql -d kam038 SQL INSERT INTO MySpatialTable (nazev, the_geom) VALUES('polygon', GeometryFromText('POLYGON((0 0 0,4 0 0,4 4 0,0 4 0,0 00),(1 1 0,2 1 0,2 2 0,1 2 0,1 1 0))'));

Funkce pro prostorové dotazy PostGIS rozšiřuje možnosti práce s daty o prostorové dotazy. Funkce typu: Boolean Touches(),Intersects(),Contains(), ... Constructive Diference(),Union(),Buffer(), ...

Města ve vzdálenosti 15 km od Prahy CREATE TABLE near_city_p AS SELECT * FROM sidlacr_p WHERE distance(the_geom, praha.the_geom) < 15000;

Zjednodušení říční sítě kam038=# CREATE TABLE simplified_rivers AS SELECT simplify(the_geom,0.5) FROM rivers;

B-tree - základní typ indexu Hash - nejpomalejší na vytvoření. Indexace tabulek B-tree - základní typ indexu Nejvíce urychluje operace <, <=, =, >=, >, LIKE, … Hash - nejpomalejší na vytvoření. Rychlý při porovnávání řetězců (hashů), pouze pro operátor = GiST (zobecněný vyhledávací strom) – Jedná se o rozšiřitelnou strukturu, která sdružuje mezi jinými vlastnosti B-trees a R-trees R-tree – index pro geometrická data. Pro operátory: @, ~= , &&, …

Indexy Vytváření Rušení Nutnost použití VACUUM ANALYZE CREATE [UNIQUE] INDEX jmeno ON tabulka [USING typ_indexu] (sloupec) Rušení DROP INDEX jmeno Nutnost použití VACUUM ANALYZE Při vkládání velkého množství dat může vytížením reindexací dojít k přerušení transakce

Dotaz na geometrická data

Kombinovaný dotaz

Programové prostředky komunikující s PostgreSQL 1/2 GRASS Nutnost importu dat do nativní podoby GRASS GRASS 6.0.0 (cvicna):~ > v.in.ogr -o dsn='PG:host=postgis.vsb.cz user=kam038 password=*** dbname=kam038' output=nhpn_grass layer=nhpn ArcGIS Pomocí extense „data interoperability“ v ArcCatalog Problém s PostGIS v. 1.x Důvodem je změna interního ukládání dat v PostgreSQL z WKT na WKB Odstranění problému pomocí instalace FME rozšíření ArcCatalogu

Programové prostředky komunikující s PostgreSQL 2/2 Quantum GIS Načítání vrstev z ESRI Shapefile a PostGIS, rastry UMN Mapserver Načítání vrstev z Oracle, MySQL, PostGIS, ESRI Shapefile, … UDIG Načítání vrstev z PostGIS, DB2, WFS, WMS, ESRI Shapefile a rastrové soubory

Definice přístupových práv: Přístupová práva Definice přístupových práv: Celé databázi (CREATE) Tabulkám (SELECT, INSERT, UPDATE, DELETE, RULE, REFERENCES, TRIGGER) Jednotlivým sloupcům v tabulce Funkcím (EXECUTE) Jazykům

Tvorba funkcí v PL/pgSQL 1/2 Nutnost definice jazyka v databázi: bash-3.00$ createlang plpgsql mojedb Rychlost interních funkcí způsobená předchozím vytvořením prováděcího plánu Využívání SQL a funkcí definovaných uživatelem

Tvorba funkcí v PL/pgSQL 2/2 CREATE OR REPLACE FUNCTION incid() RETURNS void AS $$ DECLARE a RECORD; b RECORD; c boolean; BEGIN FOR a IN SELECT id FROM public.line LOOP FOR b IN SELECT id FROM public.line WHERE id <> a.id LOOP SELECT INTO c touches((SELECT the_geom FROM line WHERE id=a.id), (SELECT the_geom FROM line WHERE id=b.id)); IF c = true THEN RAISE NOTICE 'linie % navazuje na %', a.id, b.id; END IF; END LOOP; END; $$ LANGUAGE PLPGSQL;

Tvorba spouštěčů (trigger) Nástroj zajišťující automatické provedení funkce před nebo po vložení, zrušení nebo změně záznamu v tabulce Trigger může volat libovolnou funkci vracející datový typ trigger Definice triggeru: CREATE TRIGGER nazev { BEFORE | AFTER } { udalost [ OR ... ] } ON tabulka [ FOR [ EACH ] { ROW | STATEMENT } ] EXECUTE PROCEDURE nazev_funkce ( argumenty )

ZÁVĚREČNÉ ZHODNOCENÍ relativně malá podpora komerčních systémů +/- podpora ukládání rastrů – unstable PGCHIP + vysoká rozšiřitelnost + standardy OGC + transparentnost + zadarmo

Děkuji za pozornost