290 likes | 405 Views
Cyrus Shahabi Lu-An Tang Songhua Xing. Index Land Surface for Efficient kNN Query. Gruppo 2 Riccardo Mascia Roberto Saluto. Relatore Roberto Saluto. Obiettivi. Necessità di trovare siti più vicini sulla superficie terrestre soprattutto nei casi di aree non pianeggianti
E N D
Cyrus Shahabi Lu-An Tang Songhua Xing Index Land Surface for Efficient kNN Query Gruppo 2 Riccardo Mascia Roberto Saluto Relatore Roberto Saluto
Obiettivi • Necessità di trovare siti più vicini sulla superficie terrestre soprattutto nei casi di aree non pianeggianti • Risolvere query in 3-D chiamate Surface k Nearest Neighbor poiché sono effettuate su database geospaziali 3-D che tengono conto dell’altimetria della superficie • Progettare una struttura indicizzata su database geospaziali del mondo reale per migliorare velocità e accuratezza delle risposte alle query skNN
Query Surface k Nearest Neighbor • Risolvere queste query significa affrontare tre problematiche: • Gestione di enormi database contenenti la rappresentazione 3D del modello della superficie • Sostenere la complessità di calcolo per la ricerca del più breve percorso di superficie • Mancanza di strutture indicizzate della superficie per un’esecuzione più rapida per l’esecuzione di queste query
Approcci Esistenti per queryskNN • I principali approcci attuali per questo tipo di query sono: • Range Ranking che fornisce risposte in modo rapido ma approssimativo • CH Algorithm che restituisce risposte precise ma è lento
Concetti di base (1) • Per la tecnica • Distanza di superficie (Ds) : è la lunghezza del percorso più breve che collega due punti sulla superficie • Distanza Euclidea in 3D (De) : è la linea retta che collega due punti De Ds
Concetti di base (2) • Distanza di rete (Dn): Dato un modello di superfice costruito attraverso TIN (Triangolar Irregular Network), la distanza di rete è la lunghezza del percorso più breve tra due punti, attraverso i lati dei triangoli . TIN è una struttura dati vettoriale basata su triangoli con maglia irregolare , capace di fornire elevata risoluzione solo dove questa è necessaria Si nota che sulla superficie si ha:De ≤ Ds ≤ Dnquindi De e Dn possono essere considerati rispettivamente LowerBound e Upper Bound per Ds Dn
Concetti di base (4) • Dato un poliedro il percorso più breve tra due punti sulla sua superficie, è definito dall’algoritmo CH, come la lunghezza della più breve linea retta che collega i due punti, dopo aver dispiegato su un piano tutte le sue facce in diversi ordini
Concetti di base (5) • Un diagramma di Voronoi divide uno spazio in celle disgiunte a seconda dei siti. Per ogni punto della query che cade all'interno di una cella, il punto più vicino è il generatore della cella (il sito corrispondente a quella cella). Il confine comune tra due celle di Voronoi vicine è la bisettrice perpendicolare della linea che collega i due siti corrispondentil
Tight Surface Index • Gli autori propongono due schemi di indicizzazione spaziale della superficie: • Il primo è il Tight SurfaceIndex (TSI) che definisce uno spazio stretto intorno ad un sito p, nel quale ad ogni punto è garantito di avere p come NearestNeighbor per distanza di superficie
Tight Surface Index • Definiamo Tight Cell come una zona poligonale attorno ad un sito pi definito daTC(pi)={q : q ϵ T, Dn(pi,q)<De (pj,q) (∀ pj ϵ P, pj ≠ pi)}dove pi è chiamato generatore di TC(pi), T è il modello della superficie e P l’insieme dei siti • Proprietà: per ogni punto query q ϵ TC(pi) , il NearestNeighbor di q, calcolato con la distanza di superficie, è pi • Quindi il TSI è l’insieme delle Tight Cell generate da PTSI(P) = {TC(p1)……TC(Pm)}
Loose Surface Index • Il Loose Surface Index (LSI) definisce uno spazio ampio intorno ad un sito p, all’esterno del quale ad ogni punto è garantito di non avere p come suo Nearest Neighbor per distanza di superficie • Definiamo Loose Cell come zona poligonale attorno ad un sito pi definito da LC(pi)={q:q ϵT, De(pi,q)<Dn (pj,q) (∀ pj ϵ P, pj ≠ pi)}dove pi è chiamato generatore di LC(pi), T è il modello della superficie e P l’insieme dei siti
Loose Surface Index • La LooseCell di ogni sito contiene completamente la Tight Cell • Al sito p è garantito di non essere il NearestNeighbor di q se q è esterno a LC(pi) • Quindi il LSI è l’insieme delle LooseCell generate da P. LSI(P) = {LC(p1)……LC(Pm)} • Dato che la TSI e LSI sono generati per lo stesso insieme di siti P, le tight cell e le loosecell devono avere bordi in comune; più in particolare, tutti i confini delle tight cell sono anche i bordi delle loosecell
Loose Surface Index • Dato un sito p, i vicini di p sono definiti come NL(p)={pi | TC(pi) ed LC(p) hanno confini in comune}
Loose Surface Index • Se pi è il punto più vicino di q, allora il più breve percorso di superficie da q a pi è all'interno della Loose LC(pi).
Costruzione Naïve dell’indice • I punti di transizione devono essere sui bordi e la loro distanza di rete da p è uguale al minimo delle sue distanze euclidee da tutti gli altri siti Collegando tutti i punti di transizione attraverso la superficie dei triangoli si generano i bordi delle tight cell • Illustriamo l’approccio di base per la costruzione del TSI 2 p 1
Costruzione veloce dell’indice • La generazione dell’indice appena proposta è significativamente complessa perché deve esaminare i vertici di ogni triangolo • Si generano i diagrammi di Voronoi per i siti nello spazio euclideo e si individuano i triangoli che sono attraversati dal bordo delle celle di Voronoi • Dato un qualsiasi sito p, la sua tight cell si trova dentro la sua cella di Voronoi
Costruzione veloce dell’indice • I triangoli appena individuati saranno ora esaminati per determinare se sono triangoli di bordo • Se non sono triangoli di bordo si cercano dei triangoli adiacenti all’interno della cella di Voronoi per determinare i triangoli di bordo • Nei triangoli di bordo si determineranno i punti transizione come per l’approccio naïve e quindi si determinerà il bordo della tight cell
Costruzione veloce dell’indice • Per la costruzione delle LooseCell l’algoritmo è uguale, tranne nel caso dei triangoli che non sono di bordo per il quale vengono scelti i triangoli, vicini al triangolo non di bordo meno prossimi al sito
Surface Index R-Tree • Gli indici TSI e LSI hanno una complessità tale da non poter essere memorizzate in strutture ad albero classiche come gli R-Tree • Vengono allora create delle strutture ad albero basate su R-Tree che possano incorporare questi indici, tali struttu-re sono chiamate SurfaceIndexR-Tree
Surface Index R-Tree • Questa struttura permette di memorizzare nei nodi foglia, oltre al sito, anche i puntatori alla lista dei vertici delle TC e LC. • L’algoritmo oltre ai puntatori memorizza la lista dei siti vicini, il cui numero è costante e limitato per tutti i siti
Surface Index R-Tree • Il SIR-tree è costruito una sola volta per ogni luogo e permette le operazioni di inserimento, cancellazione e aggiornamento locate p in SIR, find out the loose cell LC(r) containing p; p.neighbor ←LC(r)’s neighbor; compute TC(p) and LC (p); for each site pi in p.neighbor update LC(pj)’s edges according to TC(p); update TC(pj)’s edges according to LC(p); insert p into SIR; return SIR;
Surface Nearest Neighbor Query • Ricerca in profondità nel SIR-Tree del nodo contente il punto di query • Restituzione del generatore della tight cell che contiene q, altrimenti : • Restituzione dei generatori delle loosecell e attraverso il calcolo della Ds più breve si individua il nearestneighbor Trovato q2 in LC(p6),calcolo Ds(q2,p3) e Ds(q2,p6),il sito con minima Ds è NN
Surface k NearestNeighborQuery p←Nearest Neighbor Query(I, q, T); add p to kNN set G; initialize minimum heapH; while(G.size < k) for each neighbor site pi of G; unfoldLC(G) U LC(pi) tocomputesurfacedistance; add pi to H; end for p←deheap H; add p to G; end while; returnG;
sK Nearest Neighbor Query • Aggiunta delle loosecell di tutti i vicini del sito più prossimo determinato come nella NearestNeighborQueryalla coda di siti candidati • Calcoliamo le distanze superficiale di ogni sito, tra il sito candidato e il punto di query nell’area defintita dall’unione della loosecell del sito con l’area formata dalle loosecell dei siti inseriti nella serie dei vicini prossimi già determinati (G) • Il sito con distanza minima sarà indicato come successivo vicino e inserito nella serie G, per ogni iterazione dell’algoritmo fino al raggiungimento dei k desiderati
Analisi delle Prestazioni • Si è confrontato l’algoritmo proposto con quelli preesistenti per le kNNQuery su un database geospaziale standard fornito dal U.S.GeologicalSurvey su queste due superfici
Efficienza • Come si deduce dai grafici l’algoritmo proposto è più veloce e meno oneroso in termini di operazioni di I/O d è la densità di siti sul modello della superficie
Accuratezza • Dai grafici si deduce che l’algoritmo proposto anche all’aumentare di k rimane preciso al pari del CH Algorithm
Conclusioni • Si può concludere che questo algoritmo garantisce: • Risposte precise e rapide alle skNNquery • Effettivo percorso più breve di superficie • Risultati incrementali