Database Spaziali: PostGIS



Documenti analoghi
Geografia libera con PostgreSQL: PostGIS come base di una infrastruttura di dati geografici

GIS e Geo WEB: piattaforme e architetture. Docente: Cristoforo Abbattista abbattista@planetek.it

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Introduzione. Dati di una stessa localizzazione permette di ridurre ridondanza e duplicazioni. I costi ne sono diminuiti.

Introduzione alla teoria dei database relazionali. Come progettare un database

Geo-Database. Strumenti e tecniche per la gestione efficiente e scalabile di basi di dati geografiche

Database. Si ringrazia Marco Bertini per le slides

DATABASE. A cura di Massimiliano Buschi

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Uso delle basi di dati. Informazione e dato. Cos è un database. Tabelle. Esempi di database

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

Strutturazione logica dei dati: i file

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Sistemi Informativi Territoriali. Paolo Mogorovich

Organizzazione degli archivi

Progettazione di un Database

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Sistema Informativo Geografico:

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

Le Basi di Dati. Le Basi di Dati

Introduzione ai Sistemi di Gestione di Basi di Dati XML

1. BASI DI DATI: GENERALITÀ

SymCAD/C.A.T.S. modulo Antincendio

DATABASE.

Introduzione ai GIS. Potenzialità e limiti & software in commercio

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

PowerPoint. Guida introduttiva

Basi di Dati e Microsoft Access

LA GRAFICA E LA GEOMETRIA OPERATIVA

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Al giorno d oggi, i sistemi per la gestione di database

5.2 UTILIZZO DELL APPLICAZIONE

Base Dati Introduzione

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

La Videosorveglianza Criteri per il dimensionamento dello storage

Paolo Dilda Dipartimento di Architettura e Pianificazione Laboratorio Analisi Dati e Cartografia

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

Classificazione dei Sensori. (raccolta di lucidi)

Altri metodi di indicizzazione

Introduzione ai database relazionali

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

DEFINIZIONE di CARTA. Carta di Mercatore Schermata ArcView. Generalità sulle carte e sui GIS 1

Informatica 3. LEZIONE 23: Indicizzazione. Modulo 1: Indicizzazione lineare, ISAM e ad albero Modulo 2: 2-3 trees, B-trees e B + -trees

MODULO 5 ACCESS Basi di dati. Lezione 4

Raggruppamenti Conti Movimenti

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

COME CREARE UNA LEZIONE

Base di dati e sistemi informativi

ISTITUTO COMPRENSIVO MONTEGROTTO TERME SCUOLA PRIMARIA DISCIPLINA: MATEMATICA - CLASSE PRIMA OBIETTIVI DI APPRENDIMENTO

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Utilizzo delle formule in Excel

INTRODUZIONE A WINDOWS

ISTRUZIONI COMPILAZIONE ON LINE Progetti di Alternanza Scuola Lavoro

Piano Straordinario di Telerilevamento (PST-A) Lotto 2

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Creare diagrammi di Gantt con Visio 2003

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

CREAZIONE DI UN SOTTOSITO

disponibili nel pacchetto software.

MODULO 5 Appunti ACCESS - Basi di dati

PostGIS. L'estensione geografica a PostgreSQL

Lezione V. Aula Multimediale - sabato 29/03/2008

Cimini Simonelli - Testa

Il file seme o file modello del disegno

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

MANUALE PARCELLA FACILE PLUS INDICE

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

La manutenzione come elemento di garanzia della sicurezza di macchine e impianti

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Informatica 3. LEZIONE 21: Ricerca su liste e tecniche di hashing. Modulo 1: Algoritmi sequenziali e basati su liste Modulo 2: Hashing

MICROSOFT WORD LA STAMPA UNIONE

I Sistemi Informativi Geografici. Laboratorio GIS 1

Esercitazione 01: DDL e DML di base

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Relazioni tra tabelle

Introduzione a Quantum GIS (QGIS) - passaggio dal software ArcView 3.x a software GIS OpenSource

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Progetto di simulazione molecolare per il corso di Complementi di algoritmi A.A

GestVetrine 1.1 versione novembre 2014

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Creazione di un modello di data mining di tipo OLAP con l'algoritmo Microsoft Clustering

SPECIFICHE E LIMITI DI EXCEL

Archivi e Basi di Dati

La Firma Digitale La sperimentazione nel Comune di Cuneo. Pier Angelo Mariani Settore Elaborazione Dati Comune di Cuneo

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

FLASHINVESTOR Manuale dell Utente

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Transcript:

Database Spaziali: PostGIS Alessia Saggese asaggese@unisa.it Outline Database Spaziali PostGis Applicazioni di video retrieval: Traj3D

I DATABASE SPAZIALI Le operazioni sui dati Sui record si compiono operazioni di : Ricerca Inserimento Modifica Cancellazione File non ordinati: i record sono aggiunti in fondo al file Ricerca inefficiente Inserimento efficiente La cancellazione crea buchi File ordinati sulla base di uno o piùcampi: I record devono essere aggiungi al posto giusto Ricerca veloce Inserimento lento (shift di tutti i record nel caso peggiore) L ordinamento potrebbe non essere adatto alla ricerca

Come trovare velocemente i dati? Creo degli altri Fileche contengano i riferimenti ai Record in modo da costituire un ordinamento. In un Record di un file indice ci sono in genere almeno due campi: Il valore del campo originario Il puntatore al record che contiene quel valore Svantaggi: Spazio fisico Mantenimento di una struttura aggiuntiva (disallineamenti) Gestione di diversi file per ogni tipo di ordinamento Come trovare velocemente i dati? Un indice èqualcosa di utile per le ricerche che verranno effettuate; Un indice su dati alfanumerici èun ordinamento basato su una vicinanza alfanumerica. Un indice su dati spaziali deve essere un ordinamento basato su una vicinanza spaziale.

Perché i Database Spaziali? I dati territoriali sono ormai pervasivi in molte Organizzazioni. GIS-Geographic(al) Information System -si occupa dell'elaborazione e della manipolazione dei dati georeferenziati un database relazionale. Perché i Database Spaziali? La distribuzione di dati GIS in forma di file secondo standard di fatto non è più possibile perchè: la quantitàdi dati ed il numero di sistemi eterogenei è cresciuto molto; il numero ed il tipo di utenti ècresciuto molto; si deve disporre di meccanismi di controllo del flusso delle informazioni; L'utilizzo di server database con estensione spaziale risponde a queste esigenze permettendo flessibilità, affidabilità e controllo sui flussi informativi

Che cosa èun DB spaziale? Una estensione spaziale di un DBMS permette la gestione integrata di dati alfanumerici, geometrici e topologici; Un Database Spaziale memorizza oggetti spaziali (punti, linee, poligoni ecc.); Gli oggetti spaziali sono dati che descrivono la geometria, in termini di forma e posizione; Un Database Spaziale manipola oggetti spaziali allo stesso modo degli altri oggetti. Che cosa èun DB spaziale? LINEE -> Strade PUNTI -> Negozi POLIGONI: Classificazione dell uso del suolo I dati spaziali descrivono forma e posizione:

Che cosa èun DB spaziale? Che cosa èun DB spaziale? Distanza tra pubs La distanza tra una discarica e un pezzo di proprietàche sto pensando di acquistare.

Che cosa èun DB spaziale? ADIACENZA: Tutti i lotti confinanti CONNETTIVITÀ: i collegamenti di una rete fluviale Perchè usare database spaziali? Geocodable addresses Customer location Store locations Transportation tracking Statistical/Demographic Cartography Epidemiology Crime patterns Weather Information Land holdings Natural resources City Planning Environmental planning Information Visualization Hazard detection

L estensione spaziale per PostgreSQL: PostGIS Le funzionalità di PostGIS (1) Funzionalitàdi base: PostGispermette la creazione/ eliminazione di colonne geometriche e l'attribuzione dei dati ad un determinato sistema di riferimento. Funzioni di relazioni fra geometrie: Variano dal calcolo della distanza fra due geometrie, alla verifica della eventuale sovrapposizione, intersezione, inclusione, ecc. tra forme geometriche distinte. Funzioni di calcolo sulle geometrie : Permettono di calcolare area, perimetro, centroide, ecc., di una data geometria.

Le funzionalità di PostGIS (2) Funzione di "informazioni" sulle geometrie : èpossibile conoscere il tipo di geometria presente in un dato campo, l'id del sistema di riferimento utilizzato, il numero di punti contenuti, ecc; Funzioni di calcolo di misure: permettono di calcolare le aree, i perimetri, le lunghezze, gli sferoidi, ecc., in relazione al sistema di riferimento e al tipo di piano (bidimensionale o tridimensionale); Funzioni di modifica delle geometrie: permettono di manipolare le geometrie effettuando ad esempio operazioni di semplificazione (tramite l'algoritmo Douglas- Peuker), di traslazione ecc. Geometry types (1) Point Linestring Polygon

Geometry types (2) Multipoint Multilinestring Multipolygon Geometry-Collection Why PostGIS? (1) Semplicità PostGIS Polygon POLYGON((0 0, 0 1, 1 1, 1 0, 0 0)) Oracle Polygon MDSYS.SDO_GEOMETRY( 2003, NULL, NULL, MDSYS.SDO_ELEM_INFO_ARRAY(1,1003,1), MDSYS.SDO_ORDINATE_ARRAY(0,0, 0,1, 1,1, 1,0, 0,0))

Why PostGIS? (2) Velocità Lightweight geometry implementation Lightweight indexes (50% size savings) Linear time R-Tree Row- level locking algorithm Funzionalità All OGC Simple Features for SQL, ST_Buffer() Aggregates, ST_Collect(), ST_Union() Extras, ST_AsGML(), ST_AsKML(), ST_AsSVG(), ST_BuildArea(), ST_LineMerge, ST_Transform() Why PostGIS? (3)

PostGIS Indexing (1) L indicizzazione permette l utilizzo di un database spaziale di grandi dimensioni. Il database organizza i dati in un albero di ricerca che può essere velocemente attraversato. Senza indicizzazione ogni ricerca richiederebbe una «scansione sequenziale»di ciascun record nel database. PostGIS Indexing (2) PostGreSQL supporta tre tipologie di indici: B-TREE: per dati monodimensionali che possono essere ordinati lungo un asse (numeri, lettere, date ecc.); R-TREE: per dati spaziali. Suddivide i dati in rectangles, sub- rectangles, sub-sub-rectangles ecc; GiST(Generalized Search Trees): per dati spaziali. Suddivide i dati in "things to one side", "things which overlap", "things which are inside.

Guttman A.: "R-trees: A Dynamic Index Structure for Spatial Searching', Proc ACM SIGMOD Int. Conf. on Management of Data, 1984 Using Spatial Indexes (1) L operatore && calcolal intersezionetrabounding Boxes.

Using Spatial Indexes (2) A ciascuna geometria èassociato un MBR (Minimum Bounding Rectangle). ATTENZIONE! L intersezione tra MBR non corrisponde all intersezione tra le geometrie! Using Spatial Indexes (3)

Using Spatial Indexes (3) A && B Using Spatial Indexes (3) A && B

Using Spatial Indexes (3) ST_Intersects(A,B) Spatial Analysis (1) ST_Intersects(A, B)

Spatial Analysis (2) ST_Contains(A, B) ST_Within(B, A) Spatial Analysis (3) ST_Touches(A, B)

Spatial Analysis (4) ST_Crosses(A, B) Spatial Analysis (5) ST_DWithin(A, B, D)

La nostra applicazione di Video Retrieval: Trajectory 3D Video Retrieval

Obiettivo Realizzazione di un Moving Object Database (MOD) per lo storing ed il retrieval delle informazioni collegate al movimento degli oggetti: le traiettorie. Obiettivo Una traiettoria è un insieme di punti spazio-temporali: < (x1; y1; t1); (x2; y2; t2); ; (xn; yn; tn) >

Queries Time interval queries: seleziono tutti gli oggetti in una specifica area e in un dato intervallo di tempo; Time-slice queries: seleziono tutti gli oggetti presenti in una data area in un dato istante temporale; Nearest neighbor queries: seleziono i k nearest neighbor di un oggetto in un dato istante di tempo. Time interval queries Dobbiamo verificare l intersezione tra un box 3D e tuttii segmenti di ciascuna traiettoria. Per determinare se un segmento interseca o meno un box possiamo utilizzare gli algoritmi di clipping.

Algoritmi di Clipping Determina se un segmento, o parte di esso, si trova all interno dell area considerata. Algoritmi di Clipping: Cohen-Sutherland Prima Fase: calcolo dell'outcode(un codice di 4 bit) per ciascuno dei due estremi del segmento considerato. 1001 1000 1010 0001 0000 0010 0101 0100 0110

Algoritmi di Clipping: Cohen-Sutherland Calcolo dell outcode: Primo bit y<ymin -> 1xxx y>ymin -> 0xxx Secondo bit y>ymax -> x1xx y<ymax -> x0xx Terzo bit x<xmin -> xx1x x>xmin -> xx0x Quarto bit x>xmax -> xxx1 x<xmax -> xx0x Algoritmi di Clipping: Cohen-Sutherland Seconda fase: Uno o entrambi gli outcode sono uguali a 0000: il segmento si trova completamente o parzialmente all'interno dell'area di clipping (Es: 3-4, 5-6). Gli outcode sono identici ma diversi da 0000: il segmento rimane all'interno di una stessa area esterna all'area di clipping. Gli outcode sono diversi: si calcola l intersezione del segmento con i prolungamenti dei bordi dell area di clipping e si ripete il procedimento. http://www.cs.princeton.edu/~min/cs426/jar/clip.html

Algoritmi di Clipping: Cohen-Sutherland PROBLEMA: Nel caso peggiore (cioèquando una traiettoria non interseca il box) ènecessario verificare tutti i segmenti della traiettoria. Tale approccio risulta eccessivamente costoso! SOLUZIONE PROPOSTA: riduco il numero di traiettorie candidate al clipping utilizzando l indicizzazione spaziale 2D messa a disposizione da PostGIS. Traj 3D: la soluzione proposta PREMESSA: se una traiettoria interseca il box, allora ciascuna proiezione della traiettoria intersecheràla corrispondente proiezione del box sui piani bidimensionali. Questa èuna condizione NECESSARIA ma NON SUFFICIENTE.

Traj 3D: la soluzione proposta Traj 3D: la soluzione proposta 1) Proiezione della traiettoria e del box sui tre piani bidimensionali XY, XT, YT; 2) Ricerca delle traiettorie candidate al clipping grazie all intersezione tra il Minimum Bounding Rectangle della traiettoria (MBR) e la corrispondente proiezione del box; 3) Clipping 3D tra le traiettorie rimanenti e il box.

Step 1 : Proiezione 2D-intersection between trajectory's MBR and B XY 2D-intersection between trajectory's MBR and B YT 2D-intersection between trajectory's MBR and B XT Step 2: Intersezione

Step 3: Clipping Conclusioni e Sviluppi Futuri I tempi necessari allo storing e al retrieval delle traiettorie sono proporzionali: Al numero di traiettorie presenti nel database; Alla dimensione delle traiettorie; Lo segmentazione delle traiettorie può ridurre notevolmente i tempi di accesso al database. Problema: Come scegliere i break point?