This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (

On the route to a spatio-temporal geoscience information system, an appropriate data model for geo-objects in space and time has been developed. In this model, geo-objects are represented as sequences of geometries and properties with continuous evolution in each time interval. Because geomodeling software systems usually model objects at specific time instances, we want to interpolate the geometry and properties from two models of an object with only geometrical constraints (no physical or mechanical constraints). This process is called spatio-temporal data construction or morphological interpolation of intermediate geometries. This paper is strictly related to shape morphing, shape deformation, cross-parameterization and compatible remeshing and is only concerned with geological surfaces. In this study, two main sub-solutions construct compatible meshes and find trajectories in which vertices of the mesh evolve. This research aims to find an algorithm to construct spatio-temporal data with some constraints from the geosciences, such as cutting surfaces by faulting or fracturing phenomena and evolving boundaries attached to other surfaces. Another goal of this research is the implementation of the algorithm in a software product, namely a gOcad plug-in. The four main procedures of the algorithm are cutting the surfaces, setting up constraints, partitioning and calculating the parameterizations and trajectories. The software has been tested to construct data for a salt dome and other surfaces in regard to the geological processes of faulting, deposition and erosion. The result of this research is an algorithm and software for the construction of spatio-temporal data.

Because the geosciences field examines spatial and temporal changes in the Earth, integration of spatial and temporal data is a natural requirement of many applications in the geosciences. So far, three-dimensional (3D) spatial data have been well integrated in the geosciences, though the integration of temporal data has not gained much success, because of its complexity. Our work aims to overcome this complexity by reviewing concepts, developing a data model and building software and applications. Through this approach, we have developed an appropriate data model [

Because geomodeling software systems usually model objects at specific time instances, this research aims to interpolate intermediate geometries or find an algorithm to construct data in each time interval [_{i}_{i}_{+ 1}] from two input data models at time _{i}_{i}_{+ 1}. This paper is motivated by the requirement of capturing data for a spatio-temporal geoscience information system with the capability of processing and answering queries, such as: “Given a location (geo-object at a specified location) and properties, such as temperature and pressure, for what period(s) of time was the geo-object exposed to the location and the properties?” or “What are the geometry and properties of a geo-object at a given time?”

We assume that in a small enough time interval, a geological layer, which is subjected to deposition, erosion and uplift, is changing smoothly and regularly. Thus, the constructed data represent the temporal evolution of a geo-object. Therefore, the construction process is called spatio-temporal data construction. The algorithm also considers several geometrical constraints that enable the modeled evolution to be closer to the “true” historical evolution. To simplify the problem of spatio-temporal data integration, only three-dimensional triangle meshes are considered. Solid and other types of geo-objects will be considered in our future work.

Some studies exist regarding morphological interpolation based on mathematical morphology [

The algorithm is based on parameterization techniques and is comprised of four procedures: the cutting procedure, the setting up constraints procedure, the partition procedure and the calculation of parameterizations and trajectories procedure. The algorithm is implemented as a gOcad plug-in and is tested with the data construction of a salt dome and other surfaces in regard to their faulting, deposition and erosion processes.

In

This research is strictly related to shape morphing, shape deformation, cross-parameterization, compatible meshing, two-dimensional or three-dimensional parameterization in areas of computer graphics and computer-aided geometric design. These techniques have received much attention from researchers, such as Michael S. Floater [

The shape morphing process contains two steps. The first step looks for a bijective map between the source shape and the target shape, known as the vertex correspondence or the consistent/compatible meshes. The second step chooses a set of trajectories, along which the corresponding vertices travel as they evolve from the first set of vertices into the second set of vertices. This process is known as the vertex path/trajectory [

Most of the morphing techniques do not concern the second step in the shape morphing process, but solve the first step in the shape morphing process and then use linear trajectories,

Let ^{3}. Methods to represent a mesh have been developed, with examples described in [_{i} =_{i}_{i}_{i}^{3}. ^{3}, where _{i}

We construct data in the time interval, [_{i}_{i}_{+ 1}], from data at time instances, _{i}_{i}_{+ 1}, by smoothly changing a source mesh into a target mesh. Choosing data at _{i}_{i}_{+ 1} as the target mesh, or _{s}_{t}

A _{i}_{p}_{1}, _{p}_{2}, …, _{ph}_{i}_{pi}_{pi}_{+ 1}] is an edge of

A unit

The _{MI}_{NI}_{MI}_{NI}

_{i}_{i}

The block diagram of the algorithm.

Missing boundaries of the source mesh and the target mesh exist, due to the faulting or fracturing phenomena. Cutting paths are created to represent these missing boundaries. They are created in the source mesh to represent naturally occurring faults or fractures that first begin appearing in the source surface and then evolve into fractures in the target surface. Cutting paths are not required to be created in the target mesh to represent faults or fractures already existing in the source surface and evolving to disappear in the target surface. In the latter situation where cutting paths are not required, fence paths are created instead.

Let

Cutting meshes by cutting paths. (

Because the procedure is completed as described above, the error between the old mesh and the new mesh is zero. After this procedure, we still denote _{s}_{t}

Our algorithm uses four types of constraints: _{c}_{c}_{c,i}_{c,i}_{s}_{p}_{1}, _{p}_{2}, …, _{ph}_{p}_{1}, _{ph}_{c}_{pi}_{c}

An example of control vertices, control vertex pairs and fence paths.

The attaching constraints present the adhesion of the vertices of the source mesh to the controlling surfaces during the evolution of the source mesh. If a 1-controlling surface attaching constraint is imposed on a vertex of the source mesh, this vertex will always be located on the controlling surface during its evolution. Similarly, if a 2-controlling surface attaching constraint is imposed on a vertex of the source mesh, this vertex will always be located on the line that is the intersection of the two controlling surfaces. In this paper, we delimit that the attaching constraints are only imposed on boundary vertices of the source mesh and that there are a maximum of two controlling surfaces involved in each attaching constraint. Furthermore, all vertices attached to two surfaces must be control vertices. Through these attaching constraints, each boundary vertex of the source mesh attaches to no surface, one surface or two surfaces.

An example of attaching constraints.

This procedure starts with the DefinePatches sub-procedure

After the DefinePatches sub-procedure, the source mesh and the target mesh are partitioned into two sets of patches. This sub-procedure is consistently successful for any type of mesh and set of fence paths. Next, we check if each patch contains at least three control vertices and that all control vertices are in its boundary. We also check if each patch is homeomorphic to a disk. If the check fails, the first two procedures,

After all of the above steps, meshes _{s}_{t}_{i,s}_{i,t}

In this procedure, we work with each source patch and its corresponding target patch pair, denoted by (_{s}_{t}

This sub-procedure is used to construct a new mesh that is compatible with the source mesh and that approximates the target mesh. The new mesh and the source mesh are compatible in the sense of having one-to-one correspondence between their vertices, edges and faces (Definition 1). The new mesh and the target mesh are considered well approximated if the distance or the error between them is smaller than the user’s threshold. Splitting a few triangles of the source mesh will reduce the error between the new mesh and the target mesh. In the following paragraphs, more detailed descriptions of the algorithm are given.

Given two patches or triangle meshes, _{s}_{t}_{cs}_{cs}_{,1}…_{cs,k}_{ct}_{ct}_{,1}…_{ct,k}_{s}_{t}

In the first step, we map both patch boundaries to the boundary of a unit regular _{p}_{1}, _{p}_{2}, …, _{ph}_{1}_{2}_{p}_{1}) = _{1};

An example of the “chord” length method.

Subsequently, we use mean value parameterization [_{s}_{t}_{s}_{t}_{t}^{−1} × f_{s}_{s}_{t}

Parameterizations to the unit regular

In the second step, we construct a new mesh, _{st}_{s}_{st}_{st}_{s}_{t},_{t}_{st}_{t}_{st}_{t}_{st}_{t}_{st}_{t}_{st}_{t}_{t}_{st}_{i}_{t}_{i}_{i}_{st}_{i}_{j}_{h}_{i},p||=d_{i}_{i}_{j}_{h}_{s}_{s}_{s}_{s}_{st}_{t}_{st}

Splitting a triangle (_{i}_{j}_{h}_{i}_{j}_{c}_{j}_{h}_{c}_{h}_{i}_{c}_{c}_{i}_{j}_{h}

After the above two steps, _{s}_{st}_{st}_{t}_{s}

This sub-procedure is used to find paths in which vertices of the source mesh evolve into their corresponding target vertices. In the case of no attaching constraints,

Given a triangle mesh, _{s}_{1}, _{2}, …, _{n}_{s}_{I}_{B}_{0} is the set of boundary vertices without attaching constraints, _{B}_{1} is the set of boundary vertices with 1-controlling surface attaching constraints and _{B}_{2} is the set of boundary vertices with 2-controlling surface attaching constraints.

First, trajectories of vertices in _{B}_{0}, _{B}_{1} and _{B}_{2} are initialized by connecting the vertices of _{B}_{0}, _{B}_{1} and _{B}_{2} to their corresponding vertices to create line segments. Then, we subdivide these line segments into _{B}_{1} are modified by replacing their vertices with their projection into controlling surfaces; the trajectory of each vertex in _{B}_{2} is modified by changing its vertices to its projection into the curve, which is the intersection of the two controlling surfaces of the vertex.

We calculate trajectories of vertices in _{I}_{s}_{st}_{s}^{1}, _{st}^{m}^{t}^{t}_{B}_{0}, _{B}_{1} and _{B}_{2}. We also assume that each interior vertex of ^{t}_{I}_{I}_{I}

We calculate ^{1}, ^{m}

Values ^{1} and ^{m}

Because 0 ≤ _{j}_{−1}, _{j}_{ij}

Angle notations.

Note that by using mesh representations where the topology is explicitly stored, determining the neighborhood, _{i}

The algorithm described in

The software was tested with three sample data sets. The first was the salt dome data, and the second and third were fictitious data for faulting, deposition and erosion processes. In the first experiment, we constructed data for a salt dome given by its current shape and its previous shape as a flat surface. The constraints needed for this experiment were four pairs of control vertices.

A salt dome in time. (

In the second experiment, the given data included four sets of data at four time instances,

Given data at time instances. (

The geological horizon, B, in time interval [2, 3]

The geological structure of an area of interest at time

In the third experiment, we worked with four surfaces, namely, a basement surface and top surfaces, A, B and C, of sediments A, B and C, respectively. Data were given at six time instances:

Given data at six time instances. (

Top surface B in time interval [1, 2].

The geological structure of an area of interest at time

Our method has shown its efficiency and effectiveness for a rough construction of spatio-temporal data with constraints in terms of geometry (without physical and mechanical constraints). It is useful when no physical or mechanical process models are available or when there are not sufficient data for these models. Our method consists of four main procedures in which the first two procedures are semi-manual and the last two procedures are automatic. Our contributions include a new cutting procedure and a new sub-procedure for finding trajectories using convex combinations. Due to the cutting procedure, our method can work with arbitrary meshes. By partitioning meshes into patches,

In summary, we emphasize the achieved results in this study as follows:

Introduction of a new method for construction of spatio-temporal data in the geosciences.

Implementation of the algorithm as a gOcad plug-in.

Experimentation with some samples.

In the future, our work will aim to improve the algorithm for the finding trajectory sub-procedure and developing a new algorithm for objects other than triangle meshes, such as solids or objects in higher dimensions.

We would like to express our sincere thanks to Helmut Schaeben, Jan Gietzel and Paul Gabriel for their help and advice. Many thanks to Ines Görz for her suggestion and careful preparation of the sample data in

The author declares no conflict of interest.