Moving objects in a geo-DBMS Structuring, indexing, querying and visualizing moving point objects in a geo-DBMS context. De Reehorst/GIN Symposium Marco Baars, Peter van Oosterom, Ben Gorte, Edward Verbree September 20, 2018 OTB Research Institute for Housing and Development Studies Section GIS Technology
Inhoud Introductie Bestaande modellen Indexeren Generiek model voor bewegende punt objecten Case I: Post-processing data Case II: Real-time data Conclusies September 20, 2018
Introductie Bewegende punt objecten Voertuigen voorzien van GPS Schepen met radar GSM-plaatsbepaling Gegevens van tevoren inzamelen (post-processing) Real-time September 20, 2018
Introductie Waarom een (geo)-DBMS Grote data hoeveelheden Bewaking consistentie, integriteit en veiligheid Interoperabiliteit Eenvoudig bevraagbaar Ruimtelijke functies Nadeel: - DBMS wil constant blijven - Niet altijd even snel September 20, 2018
Introductie Hoofdvraag: What is the potential and performance of a geo-DBMS to structure, index, query and visualize spatiotemporal point clouds of moving objects? September 20, 2018
Bestaande modellen [Vazirgiannis/Wolfson 2001] Stratenplan Bewegend object Trajectory Nadeel: Beperkt tot stedelijke gebieden September 20, 2018
Bestaande modellen [Marchand et al, 2003] Nadeel: redundantie September 20, 2018
Indexeren 2D R-tree (MBR) September 20, 2018
Indexeren 3D R-tree (MBB) September 20, 2018
Generiek model September 20, 2018
Generiek model Basis tabel: CREATE TABLE mov_obj (id, t, position) –-prim.key = id,t (materialized) views: CREATE VIEW mov_obj_3D_vw AS SELECT s.id as id, mdsys.sdo_geometry(3001, NULL, mdsys.sdo_point_type(a.position.sdo_point.x, a.position.sdo_point.y, a.t), NULL, NULL) as position FROM mov_obj a; September 20, 2018
Generiek model Verschillende views voor bijvoorbeeld opvolgende t CREATE VIEW move_obj_succ AS SELECT t1.*, t2.t as next_t FROM mov_obj t1, mov_obj t2 WHERE t1.id=t2.id and t2.t=(select min(t) from move_obj where t>t1.t); Ook voor snelheid, versnelling, enz. September 20, 2018
Case I: Post-processing Helicopter boven snelweg, elke 0.1s foto September 20, 2018
Case I: Post-processing Eenvoudige vragen als: Wie reed er sneller dan 120? SELECT id, t_beg, t_end, speed FROM speed_view WHERE speed>120 ORDER BY t_beg; Complexere vragen: Zoek alle bumperklevers September 20, 2018
Case I: Post-processing September 20, 2018
Case I: Post-processing September 20, 2018
Case II: Real-time September 20, 2018
Case II: Real-time September 20, 2018
Case II: Real-time 2D: Overlay 2D punten (x,y) en vlakken. -> SDO_RELATE operator 3D: Overlay 3D punten en boxes. -> SDO_FILTER x0,y0,t0 x1,y1,t1 September 20, 2018
Conclusies Generieke model voor bewegende punt objecten is snel en flexibel Generieke model houdt data consistent Complexe 2D en 3D bevragingen mogelijk mbv SDO_RELATE en SDO_FILTER Dynamisch indexeren in real-time gaat goed, maar verbetering mogelijk. Qua visualisatie mogelijkheden uitbuiten September 20, 2018
Verder onderzoek Implementeren voor een applicatie Verder testen op 4D data (x,y,z,t) Implementatie van andere indexeermethoden Index bevat voldoende info voor vele bevragingen September 20, 2018
Vragen? ? September 20, 2018