Zarządzanie danymi przestrzennymi. Analizy przestrzenne



Podobne dokumenty
Zarządzanie danymi przestrzennymi. Rozwiązywanie problemów przestrzennych

Przestrzenne bazy danych. Analizy przestrzenne

Przestrzenne bazy danych. Typy obiektów przestrzennych

Przestrzenne bazy danych. Definicja i cechy przestrzennych baz danych

Język SQL, zajęcia nr 1

ACESS- zadania z wykorzystaniem poleceń SQL

Projekt inżynierski Przestrzenna baza danych

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Przestrzenne bazy danych. Wstęp do przestrzennych baz danych

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

DMX DMX DMX DMX: CREATE MINING STRUCTURE. Tadeusz Pankowski

Projekt inżynierski przestrzenna baza danych

Wykład 5. SQL praca z tabelami 2

Wykład 8. SQL praca z tabelami 5

Przestrzenne bazy danych. Funkcje geometryczne

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

Bazy danych i usługi sieciowe

Bazy Danych i Usługi Sieciowe

Schemat funkcji. BODY dla plpgsql: declare deklaracje begin instrukcje end;

Hurtownia Świętego Mikołaja projekt bazy danych

Informatyka (5) SQL. dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Bazy danych. dr inż. Arkadiusz Mirakowski

Wykład 05 Bazy danych

Relacyjne bazy danych. Podstawy SQL

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wykład 6. SQL praca z tabelami 3

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Baza danych dla potrzeb zgłębiania DMX

Jerzy Nawrocki, Wprowadzenie do informatyki

Systemy GIS Tworzenie zapytań w bazach danych

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

BalticBottomBase. Instytut Morski w Gdańsku Gdańsk,

LAB 3 (część 1 Projektu)

Przestrzenne bazy danych Podstawy języka SQL

Bazy danych 7. SQL podstawy

Język SQL, zajęcia nr 2

Charakterystyka przestrzennych typów danych. do tworzenia raportów. Using spatial data types in reports.

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Bazy danych i usługi sieciowe

PHP: bazy danych, SQL, AJAX i JSON

P o d s t a w y j ę z y k a S Q L

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Relacyjne bazy danych. Podstawy SQL

Bazy danych dla producenta mebli tapicerowanych. Bartosz Janiak Marcin Sikora Wrocław r.

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Bazy danych 10. SQL Widoki

Szczyrk, 11 czerwca Systemy Informacji Przestrzennej. Anatomia geoportalu. Michał Mackiewicz

Ref. 7 - Język SQL - polecenia DDL i DML

Uruchamianie bazy PostgreSQL

Bazy danych Ćwiczenia projektowe

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Migracja z aplikacji ArcMap do ArcGIS Pro

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

BAZA DANYCH SIECI HOTELI

Załącznik nr 8. do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej województwo podkarpackie

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Koncepcja węzła IIP na przykładzie planów zagospodarowania przestrzennego

Projektowanie systemów baz danych

Baza danych Uczniowie.mdb

Język SQL. Rozdział 8. Język manipulowania danymi DML

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

SQL (ang. Structured Query Language)

Paweł Rajba

Bazy danych 6. Klucze obce. P. F. Góra

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

Przykłady zastosowao rozwiązao typu mapserver w Jednostkach Samorządu Terytorialnego

Oferta CZĘŚĆ II ZAMÓWIENIA Dostarczenie oprogramowania GIS. Dla:

Bazy danych. Polecenia SQL

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Struktura drzewa w MySQL. Michał Tyszczenko

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Bazy danych SQL Server 2005

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Bazy Danych. SQL Podstawy języka III: powtórzenie. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.

Zapytanie ofertowe nr MPU-II/48/D4/2/2013

Zastosowanie relacyjnych baz danych w Systemach Informacji Geograficznej

Część 1: OLAP. Raport z zajęć laboratoryjnych w ramach przedmiotu Hurtownie i eksploracja danych

SQL :: Data Definition Language

Nowe technologie baz danych

SELECT * FROM tabela WHERE warunek wybiera dane spełniające podany warunek

Indeksowanie w bazach danych

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Transkrypt:

Zarządzanie danymi przestrzennymi Analizy przestrzenne

Przykładowe problemy przestrzenne Analiza bliskości obiektów Etykietowanie danych Rzutowanie punktów do najbliższych linii Rozdzielanie linii i łączenie obiektów w linie Rozdzielanie i łączenie poligonów Zmienianie, skalowanie i obracanie obiektów geometrycznych Analizy sieciowe Analizy w oparciu o języki skryptowe Analizy rastrowe

Analiza bliskości obiektów Wyszukiwanie najbliższych obiektów np. jeziora nieczadujące się w odległości 1000 m od Katedry select distinct point.name, lake.name, ST_Distance(point.way,lake.way) from planet_osm_polygon as lake inner join planet_osm_point as point on ST_DWithin(point.way, lake.way,10000) where point.name='katedra' and lake.natural='water' and lake.name like '%Jezioro%'

Analiza bliskości obiektów Wyszukiwanie dróg przecinających się z rzeką Warta (mosty) select r.name from planet_osm_line as l inner join planet_osm_roads as r on ST_Intersects(l.way, r.way) where l.name='warta' and r.bridge='yes' and r.oneway='yes'

Generowanie losowych danych Utworzenie tabeli do przechowywania losowych danych:

Generowanie losowych danych Wstawienie zbioru losowych danych

Usuwanie zbędnych danych

Etykietowanie danych W efekcie każdy punkt otrzymuje dodatkowe etykiety województwa

Przyciąganie punktów do najbliższych linii Wyznaczanie najbliższych punktów na linii przy pomocy funkcji ST_LineInterpolatePoint(lina, ST_LocatePoint(linia,punkt))

Przyciąganie punktów do najbliższych linii Obliczanie szerokości plaży na podstawie dwóch linii (wody i podstawy wydmy) i punktu kilometrażu przy pomocy funkcji ST_ClosestPoint (linia, punkt)

Tworzenie linii z punktów ST_MakeLine

Rozdzielanie wielolinii na mniejsze segmenty

Analiza poligonów Tworzenie multipoligonu z wielu multipoligonów Funkcje ST_Multi i ST_Union

Analiza poligonów Rozdzielanie poligonów ST_SymDifference i ST_Dump

Skalowanie obiektów ST_Scale

Analiza sieciowa - algorytmy rozszerzenia pgrouting Najkrótsza droga (algorytm Dijkstra) Problem komiwojażera (TSP - ang. travelling salesman problem) Wyznaczanie chronozon i inne przykłady: http://planet.qgis.org/planet/tag/pgrouting/ http://workshop.pgrouting.org/

PgRouting: Algorytm Dijkstra najkrótsza droga Dodajemy rozszerzenie pdrouting Do tabeli z drogami dodajemy specjalne kolumny source, target i length: ALTER TABLE blok_2.drogi ADD COLUMN source integer; ALTER TABLE blok_2.drogi ADD COLUMN target integer; ALTER TABLE blok_2.drogi ADD COLUMN length double precision; Ładujemy dane do kolumn sorce i target: SELECT pgr_createtopology('blok_2.drogi', 0.00001, 'geom_d', 'id_d'); Wyliczamy długości odcinków UPDATE blok_2.drogi SET length = ST_Length(geom_d); ALTER TABLE blok_2.drogi ADD COLUMN reverse_cost double precision; UPDATE blok_2.drogi SET reverse_cost = length;

PgRouting: Algorytm Dijkstra Uruchomiamy obliczenia najkrótszej drogi wg schematu pgr_costresult[] pgr_dijkstra(text sql, integer source, integer target, boolean directed, boolean has_rcost); SELECT seq, id1 AS node, id2 AS edge, cost FROM pgr_dijkstra('select id_d AS id, source::integer, target::integer, length::double precision AS cost FROM blok_2.drogi',14,8, false,false);

PgRouting: Algorytm Dijkstra - wynik Zapytanie obliczenia najkrótszej drogi wykonane z poziomu QGISa

PgRouting: Algorytm Dijkstra obliczenia przy pomocy wtyczki QGIS (pgroutinglayer)

PgRouting: problem komiwojażera Algorytm TSP (travelling salesman problem) Macież odległości między wybranymi punktami: SELECT dmatrix, ids from pgr_makedistancematrix('select cast(id as integer), ST_X(the_geom)as x, ST_Y(the_geom) as y FROM blok_2.drogi_vertices_pgr where id=6 or id=10 or id =11 or id=2');

PgRouting: Algorytm TSP SELECT seq, id1, id2, round(cost::numeric, 2) AS cost FROM pgr_tsp('select cast(id as integer), ST_X(the_geom)as x, ST_Y(the_geom) as y FROM blok_2.drogi_vertices_pgr where id=6 or id=10 or id =11 or id=2', 6,2);

PgRouting: Algorytm TSP (zapytanie w QGIS)

Łączenie PostGIS z innymi narzędziami Łączenie z językiem PL/R Łączenie z językiem Python Łączenie z serwerami Web-GIS

Łączenie PostGIS z PL/R CREATE EXTENSION plr Funkcja R pobierająca dane i rysująca wykresy SELECT gis.save_postgis_rdata()

Łączenie PostGIS z PL/Python (geokodowanie) CREATE EXTENSION plpython3u Przykład z bibloteką geokodującą geopy Utworzenie funkcji geokodującej pobierającej współrzędne geograficzne i zwracającej adres obiektu: Uruchomienie zapytania wyszukiwania adresów budynków przy pomocy funkcji: Wynik zapytania- uzyskane adresy budynków

Łączenie PostGIS z PL/Python Przykład zastosowania funkcji wykorzystującej bibliotekę Pythona xlrd obsługującą arkusze Excella

Łączenie PostGIS z serwerami sieciowymi MapServer GeoServer

Serwisy mapowe w sieci WMS (Web Mapping Service) WFS (Web Feature Service) WFS-T (Web Feature Service Transactional)

Konfiguracja Mapserwera

Uruchomienie Mapserwera: plik mapfile

Mapserver: pobranie mapy Adres w przeglądarce: http://localhost/cgi-bin/mapserv map=/media/dysk/maptest.map&service=wms&request=getmap&version= 1.1.1&LAYERS=Wielkopolska&SRS=EPSG:4326&BBOX=15.5,51,19.3,53.7&FORM AT=PNG&WIDTH=600&HEIGHT=600 Mapa jest gotowa do przesłania do interfejsu utworzonego w OpenLayers

Analizy Rastra Zmiana wielkości kafla Kontrola parametrów rastra Praca z wieloma kanałami Przecinanie rastrów obiektami geometrycznymi Algebra map

Zmiana wielkości kafla (tiling) Przesyłanie obrazów rastrowych do PostGIS przy pomocy raster2pgsql i parametry do połączenia zostały opisane na wykładzie II --utworzenie nowej tabeli dla rastra CREATE TABLE raster.pozdem_tiled ( rid serial primary key, rast raster ); --wstawienie rastra o zmienionych parametrach kafla 30x30 pixeli INSERT INTO raster.pozdem_tiled (rast) SELECT ST_Tile(rast, 30, 30, true) AS rast FROM raster.pozdem; --nałożenie indeksów przestrzennych CREATE INDEX idx_pozdem_tiled_gist ON raster.pozdem_tiled USING gist (ST_ConvexHull(rast)); --w efekcie mamy 5600 kafli z poprzednich 1400

Kontrola parametrów rastra SELECT rid As r, ST_Width(rast) As w, ST_Height(rast) As h, round(st_pixelwidth(rast)::numeric,4) AS pw, round(st_pixelheight(rast)::numeric,4) As ph, ST_SRID(rast) AS srid, ST_BandPixelType(rast,1) AS bt FROM raster.pozdem_tiled;

Praca z wieloma kanałami dodanie nowego kanału aspekt --Utworzenie tabeli do przechowania dwóch kanałów: CREATE TABLE raster.pozdem_band (rid serial primary key, rast raster); --Wstawienie dwóch kanałów aspekt i dem INSERT INTO raster.pozdem_2bands (rast) SELECT ST_AddBand(ST_Aspect(rast, 1, '8BUI'), rast) FROM raster.pozdem --Aktualizacja ograniczeń: SELECT AddRasterConstraints('raster', 'pozdem_2bands'::name, 'rast'::name);

Praca z kanałami raster PostGIS wielokanałowy w QGIS

Wydzielenie wybranego kanału z rastra wielokanałowego SELECT rid, ST_Band(rast,1) As rast INTO raster.pozaspekt FROM raster.pozdem_2bands; CREATE INDEX idx_pozaspekt_rast_gist ON raster.pozaspekt USING gist (ST_ConvexHull(rast)); SELECT AddRasterConstraints('raster', 'pozaspekt'::name, 'rast'::name);

Przecinanie rastrów obiektami geometrycznymi

Algebra map CREATE TABLE raster.pozaspekt_10 ( rid serial primary key, rast raster ); --obliczenie pixel*10 INSERT INTO raster.pozaspekt_10(rast) SELECT ST_MapAlgebra( rast, 1, '32BF'::text, '[rast.val]/10.0'::text ) FROM raster.pozaspekt

Algebra map (funkcja klasyfikująca pixele ze względu na wartość) Pixele w rastrze rastrze-kanał 4 o wartości równej i poniżej 30 to woda, powyżej 30 to ląd

Algebra map (uruchomienie funkcji klasyfikującej) Dodanie tabeli przechowującej wyniki w postaci dwóch kanałów Dodanie kanałów, 1 -oryginalny, 2 -wynik klasyfikacji

Algebra map (efekt klasyfikacji)