370 likes | 506 Views
Database Support for Temporal 3D Data: Extending the GeoToolKit. Serge Shumilov Jörg Siebeck Institute for Computer Science III University of Bonn Tel. +49 (02 28) 73-45 35 Fax +49 (02 28) 73-43 82 shumilov@informatik.uni-bonn.de siebeck@informatik.uni-bonn.de.
E N D
Database Support for Temporal 3D Data:Extending the GeoToolKit Serge Shumilov Jörg Siebeck Institute for Computer Science III University of Bonn Tel. +49 (02 28) 73-45 35 Fax +49 (02 28) 73-43 82 shumilov@informatik.uni-bonn.de siebeck@informatik.uni-bonn.de
Previous Experience: Balanced Restoration of Structural Basin Evolution Three time steps of the basin modeling in the Lower Rhine Basin: view from the southern part to north-east with the Oligocene bases and the antithetic faults
Geometry changes... Example for the change of the geometry:part of the Oligocene of the Lower Rhine Basinabout 6, 9 and 13 million years ago, visualized with GRAPE
Geometry Approximation as well... Example for the change of the topology (discretization):part of the Oligocene of the Lower Rhine Basin about 28 million years ago, visualized with GRAPE
Localization of changes in topology changes only in geometry -20 earth surface fault -10 0 time
Design Objectives • Allow a smooth animation on time intervals • States in between can be interpolated • Build dynamic data structures • Insert, Delete, Update operations on 4D geometries • Supports geological modelling • Separate meshes and vertices • Build several meshes from one set of vertices • Automatic consistency w.r.t. vertices • Extend 3D data types with time • Coherence
Extending the 3D Conceptual Model with Time-Moving Vertices- • Time isomorphic to the reals • Location and shape of geometries is a function of time • Vertices move on their trajectories • In our model: • Trajectory piecewise linear • Change in direction => Snapshot • Linear interpolation also w.r.t. time => const velocity/no acceleration • Change in velocity => Snapshot y x t 10 15 20 30 interpolated
Moving Complex Types • Assemble complex geometries from moving vertices • Separates meshes from vertices • A moving simplex comprises: • References to its moving vertices • Temporal interval of validity • A moving complex comprises: • Set of moving simplices • Temporal interval of validity • Integrity constraints! Moving vertex Moving vertices span a moving triangle
Representation of time-dependent simplicial complexes applying key-frame interpolation points deleted triangle p0 pN „post“ t0 t0 different data same discretisation „pre“ t1 same data t1 different discretisation „post“ t1 storedvalue time interpolated object ( t1 < tx < t2 ) tx remained triangles tx interpolatedvalue „pre“ t2 t2 ... added triangles t representation of moving 3D points
Why bothering? • Optimum for operations: • Store full extent for each time-step • Results in storing nt * T simplices • Optimal for space only, when discretization changes completely in each time-step • Optimum for storage space: • Store one set of moving simplices only • Time: Retrieving a time-slice results in examining nt * T simplices • Need a good compromise for • compact storage and • fast operations
Full Extents with Version Management (1) . . . . . . . . . t0 t1 tm-1 tm tm+1 tm+2 tn-1 tn t full version delta version k k tm tm+1 tm+2 tm+3 tn-1 t N
Full Extents with Version Management (2) . . . . . . . . . t0 t1 tm-1 tm tm+1 tm+2 tn-1 tn t full version delta version kN k tn-1 t tm tm+1 tm+2 tm+3 N
Comparison Im+2 kN k Dm+2 kp kp Im+1 (k – kp)N k Dm+1 k k tn-1 t tm tm+1 tm+2 tm+3 N
Implicit Extents Utilizing Neighbour References • Stores only one ‘‘big‘‘ set of moving simplices • no full extents, no deltas • Keeps one entry point into the complex for each time-step • Maintains neighbour references s
Using Neighbours for Implicit Time-Steps e:[t0, t2] s1 s1 s4 s5 s s s s3 s3 s2 t 1 2 0 Internal Representation of s [0, 2) : s1 [2, tx] : s4 [0, 1] : null (1, tz] : s5 s [0, 1) : s2 [1, ty] : s3
Basic Queries on Time-dependent Geometries • Time-step query • Given: • instant t, time-dependent geometry g • Retrieve a (3D) snapshot of a g at t • Time-interval query • Given: • temporal interval i, time-dependent geometry g • Retrieve a series of (3D) snapshots of g valid during i • Insertion/Deletion • Given: • time-dependent simplex s, time-dependent geometry g • Insert s into g / Delete s from g
Performance comparison (1) Referencing previous version Referencing full version Implicit time-step extents Space T(nt/N + k) ( T(nt/N + k), T(nt/N + ½ kN) (n+T) O(nT) Time time-step query ½kN + log(T/N) ( ¼ kN + log(T/N), ½kN + log(T/N) ) O(nt logT) Time interval query kN + log(T/N) ( kN + log(T/N), ½kN2 + log(T/N) ) O(Nnt logT) Time simplex operations (time(s)/N+log(T/N)) log(nt) (time(s)/N+log(T/N)+N) log(nt) time(s) nt logT
Performance comparison (2) monotonic changes Referencing previous version periodic changes Referencing full version homogeneous changes Implicit time-step extents
Evaluation Application • Sponsor: Deutsche Forschung Gemeinschaft (DFG) • Collaborative research program SFB 350 • Postgraduate curriculum GRK437 Landform • Project Participants: • Workgroup of Prof. Dr. A. SiehlSFB350 subproject C4 Dept. of Geology, University of Bonn • Workgroup of Prof. Dr. A.B. CremersSFB350 subproject D4, GRK subproject A4Dept. of Computer Science III, University of Bonn • Dataset: • Rheinbraun AGOpen pit mine “Bergheim”
Bergheim open pit mine: Position of faults and cross sections A digitized cross-section of the Mio-Pliozene strata of Bergheim open pit mine. The hatched areamarks the filled-up part of the mine.
3D model “Bergheim” in GOCAD 0,5 km
Space(S) AccessMethod(AM) methods:insert(SO)remove(SO)retrieve(BB):Sadd_index(AM) methods:insert(SO)remove(SO)retrieve(BB):Set<SO> SpatialObject(SO) methods:contains(SO):BOOLintersection(SO):SOdistance(SO):REALclone():SO BoundingBox(BB) methods:contains(BB):BOOLintersection(BB):BB OcTree PointRep Segment Triangle Tetrahedron R*Tree PolyLine TriangleNet TetraNet User-Defined Access Methods 1:n relationship Point Curve Surface Solid Group Line Plane Box User-Defined Spatial Objects representational data type inheritance 1:1 relationship GeoToolKit object model GeoToolKit Kernel SpatialObjectClass Hierarchy AccessMethodClass Hierarchy 0D 1D 2D 3D
TriangleNetElement PointCluster4D TNECluster PointCluster TriangleNetElement4D PointRep TNECluster4D PointRep4D under development time NetManager4D NetManager TriangleNet PointManager TriangleNet4D PointManager4D 1:n relationship representational data type attribute inheritance 1:1 relationship Extending GeoToolKit's Class Model SpatialObject(SO) 3D 4D SpatialObjectClass Hierarchy Geometry Managenemt Topology Managenemt prev next
Communication Infrastructure Platform-independent Extensible Client-Integrator DistributedGeoscientificTools andApplications VRML GOCAD Communication Infrastructure GeoClient Bus Adapter GeoStore 3D/4D Database GeoToolKit
CORBA-based integrated architecture Geo-Applications JavaClient „proxy“objekt GOCAD CORBA-based communication bus XDA Adapter transient mediator GeoStore persistentobject GeoToolKit
Application GOCAD Java-Client Database exploration and querying interface VRML Remote access to spatial data 3D modeling and visualization tools GeoStore
Visualization of the 4D model in VRML browser t = 0 t = -10 t = -30
Conclusion and Future Work • Conclusions • Need for spatio-temporal database types • Conceptual model of spatio-temporal data adequate for our applications • Solutions to storage problem provide compromise between time/space • Based on version management • Based on implicit time-step extents • Applications • Future Work • Extend conceptual model: operations on spatio-temporal types • Information infrastructure • New applications (kinematics of landform)
Contact information • Department of Computer Science III,University of Bonn, Germanyhttp://www.geo.cs.uni-bonn.de/ • GeoToolKithttp://www.geo.cs.uni-bonn.de/software/geotoolkit • XDA http://www.geo.cs.uni-bonn.de/software/xda