1,675
Views
8
CrossRef citations to date
0
Altmetric
Articles

Tessellations in GIS: Part II–making changes

Pages 157-167 | Received 12 Oct 2015, Accepted 03 Apr 2016, Published online: 17 May 2016

Abstract

We attempt to describe the role of tessellated models of space within the discipline of Geographic Information Systems (GIS) – a speciality coming largely out of Geography and Land Surveying, where there was a strong need to represent information about the land’s surface within a computer system rather than on the original paper maps. We look at some of the basic operations in GIS, including dynamic and kinetic applications. We examine issues of topology and data structures, and produced a tessellation model that may be widely applied both to traditional “object” and “field” data types. The Part I of this study examined object and field spatial models, the Voronoi extension of objects, and the graphs that express the resulting adjacencies. The required data structures were also briefly described, along with 2D and 3D structures and hierarchical indexing. The importance of graph duality was emphasized. Here, this second paper builds on the structures described in the first, and examines how these may be modified: change may often be associated with either viewpoint or time. Incremental algorithms permit additional point insertion, and applications involving the addition of skeleton points, for map scanning, contour enrichment or watershed delineation and simulation. Dynamic algorithms permit skeleton smoothing, and higher order Voronoi diagram applications, including Sibson interpolation. Kinetic algorithms allow collision detection applications, free-Lagrange flow modeling, and pen movement simulation for map drawing. If desired these methods may be extended to 3D. Based on this framework, it can be argued that tessellation models are fundamental to our understanding and processing of geographical space, and provide a coherent framework for understanding the “space” in which we exist.

1. Introduction

The first paper of this study completed our exploration of static tessellations for geographic information systems (GIS) (Gold Citation2016). However, few things remain unchanged, whether due to editing or real-world changes. In this paper we discuss various types of “Change” in a map, and look at a variety of algorithms and applications: incremental methods, where items are added one at a time; dynamic algorithms, where deletion is possible without having to rebuild the whole graph data structure; and kinetic algorithms, intended to handle topological changes induced by point movement in the real or simulated exterior world. Some of the most interesting applications here involve collision detection problems, e.g. for shipping, and map-drawing algorithms, where the moving point represents the pen that is drawing cartographic objects such as roads and buildings. Here the lower dimensional entities (points or lines) are embedded in the higher (2D) map space – but their spatial extensions provide a tessellated model with many useful properties based on their adjacency structure.

Based on this framework, it can be argued that tessellation models are fundamental to our understanding and processing of geographical space, and provide a coherent framework for understanding the “space” in which we exist.

2. Change

A growing concern in GIS is the management not of static map displays but also of changes to them. Traditionally, for example in forest maps, these were redrawn every few years to indicate the changes – giving several “snapshots” of the changing situation. “Dynamic mapping” now suggests that the observer can see changes happen to the map. This requires considerable thought: while adding or removing points in simulated real-time is straightforward, this becomes more complicated for topologically connected entities.

By “Dynamic”, we are referring to some kind of change (usually over time). Examples include interaction, editing, viewpoint change, and modification of the data structure. One form of dynamism is based on the act of changing the viewpoint, selecting an object, querying it and viewing or changing its attributes. A more fundamental form consists of modifying the spatial properties of entities in the map space. This could consist of manual editing involving the insertion, deletion or movement of an entity; it could also consist of the automatic update of the data structure because of geometric changes or for simulation of geographic processes.

The word dynamic can have many meanings in GIS. The simplest use of dynamic might be the case of dynamically generated maps, for example on a web site or a GPS-based navigation system. Here the issue is to receive the request and compile the map from standard objects and layers as quickly as possible. A relatively easy extension of this issue is to add the locations of moving vehicles, for example, as points on this map – e.g. for fleet monitoring and delivery services. (Note that there is often no interaction of these vehicles with the map itself – their locations are merely plotted. However, for GPS-based navigation there is often some form of road-following algorithm involved.)

A somewhat more advanced approach assigns ranges of temporal existence to these entities and permits queries about snapshots in time (Langran Citation1992; Marchand, Bédard, and Brisebois Citation2005). Essentially, this is a database approach, where the objects retrieved by the temporal query are displayed on the map.

Where the map objects themselves change over time, traditional GIS is frequently used to produce snapshots of attribute values at some particular date, usually for polygon maps and raster images (Albrecht Citation2007). Various map-matching techniques are then used to examine the differences. Note that this is usually done for field-type data, where attribute values exist throughout the map area. In the case of polygon maps, the boundaries usually remain unchanged between snapshots – if this is not the case, then the problem becomes more difficult. Dynamic fields, such as temperature, are usually managed as sequences of snapshots, using raster images. These images can be compared using traditional image analysis techniques. Typical questions are concerned with the values, changes and history of attributes at specific locations.

When we consider discrete map objects, as opposed to fields, the appropriate techniques are related to database management methods, tracking the existence of individual objects over time, or perhaps the coexistence of two or more. If an object’s status changes, then an event has taken place, which may also be treated as a database entity.

When objects are elastic, their boundaries may change, as for clouds or forest fires, and the usual approach is to process them as fields – e.g. using image analysis. However, in this case the object itself is not the primary entity, but becomes an attribute attached to particular pixels. The same situation holds if the object as a whole moves – as in the case of clouds. Definitions here can become difficult if clouds split or merge: how are individual objects defined? What happens if there are internal variations, such as fire temperature? Treating the whole map as a field or image is often the most practical, but the object definition is lost.

Currently it appears that the primary problems occur with questions of spatial object proximity, both static and dynamic, where objects exist as defined entities with their spatial location as a fundamental part of their definition – they lose their meaning if they have no position. However, spatial proximity or adjacency is not easy to define, or to maintain under object movement.

3. Time

3.1. Change of viewpoint

Our primary emphases so far are the issues of interaction and visualization. These are intimately linked to change in data structures. In 2D we may often want to edit our map or spatial representation, which requires a vertical view at the appropriate location and scale, as well as tools to edit the objects and, if necessary, the topology. In 3D the change in view is more complex, involving perspective transformations and the ability of the observer to navigate within the simulated world. This must involve an intuitive interface, as poor interfaces (especially for spatial movement) often disorient the user, rendering the system useless. Changing or editing the data requires an effective set of graphics tools to allow easy “picking” of the appropriate map elements within the 3D display, as well as allowing modification of the spatial data structure. (It is rare that a 3D model consists entirely of discrete objects.) Game technology is a basic resource for scene visualization and navigation, but it rarely permits all but the most basic editing or scene modification – usually by blowing the object up!

3.2. Change as simulation

If we intend to model change with time, then we are starting to look at aspects of “simulation” that are not necessarily a data structure problem. By “simulation” here we may mean modeling the change over time of our attributes (e.g. within a population density map organized as polygons), change over time of the spatial location of our objects (e.g. marine navigation) or change over time of our connectivity (topology) (e.g. the movement of a foam of bubbles). By “simulation” we may initially mean entering the changes by hand on a paper map (e.g. population after each census), followed by computer automation of the procedure (and of the visualization), or full simulation by defining some mathematical function that attempts to describe the behavior of the process, and letting this drive the previously described automation.

It should be noted here that “change” does not necessarily mean attribute change over time (dz/dt) – it could also mean attribute change over space (dz/dx), spatial change over time (dx/dt) or even their inverses. Examples of these include forest growth within stands (dz/dt), height change over the landscape (dz/dx) and polygon boundary migration over time (dx/dt). These changes may be continuous (as in a smooth landscape or steady forest growth) or discrete (as in a cliff, a forest fire or a manual map update). For details see Gold (Citation1996). All of these types of change are forms of simulation (and this idea classifies terrain surface interpolation as simulation of attribute change with changing location – which is reasonable).

“Managing change” can therefore be applied to many problems. The simplest in concept is map updating: read a “log file” ordered by date, and insert or remove the features that have changed. The log file can be read from the beginning to any specified date, giving a map for that time. This usually requires local topological update, although simulation of attribute change, such as population, is straightforward.

Movement of topologically connected objects, such as Voronoi cells around moving objects in a collision-avoidance system, requires a dynamic topology maintenance system, not a static one. A good illustration of the two is to compare Eulerian and Lagrangian fluid flow modeling. In Eulerian simulation, a network of cells (usually a regular grid or Voronoi cell structure) is initially constructed, and flow is assumed to be a transfer of fluid between adjacent cells, as in Figure , which illustrates runoff modeling. In Lagrangian simulation each node is assumed to be a fixed mass of the fluid, and their interaction produces movement of the nodes. In free-Lagrangian simulation the topology is capable of being updated as the nodes move – often by using dynamic Voronoi data structures (Mostafavi and Gold Citation2004). These methods may be implemented in 2D or 3D. The fundamental kinetic operation is node movement, with associated update of the data structure. Applications include navigation and collision avoidance, fluid flow, robotic exploration of the environment and interactive construction of the 2D line-segment Voronoi diagram (VD) or constrained Delaunay triangulation (DT).

Figure 1. IFD flow modeling.

Figure 1. IFD flow modeling.

3.3. Managing change

We can now examine our mapping (and tessellations) from a temporal point of view. The simplest case is a static map – either where nothing changes, or where only the viewpoint changes (pan and zoom in 2D, or fly-throughs in terrain or city models). Alternatively, the map structure remains unchanged, but attributes vary – as in the previous surface runoff simulation, or slide-shows illustrating population change. Algorithms may be for batch processes, where intermediate results are not available until construction is finished, or for incremental ones where objects are added one at a time. (Batch processes are often faster, but incremental ones are often easier and more robust.) A useful example is DT construction, where Fortune’s (Citation1987) algorithm is faster, but where the incremental algorithm (Guibas and Stolfi Citation1985), with one point inserted at a time, is frequently used.

Algorithms are called dynamic not, as is frequently supposed, because they model dynamic actions in the real world, but because the related data structures may be updated locally, without the need to rebuild everything for each change. In many cases this simply requires object or point deletion methods, as well as the previous incremental insertion ones. Kinetic algorithms allow the related data structures to be preserved during object movement – where full topology (e.g. tessellations) are present this still remains a challenging job. We will summarize algorithms and applications based on whether they are static (incremental), dynamic, or kinetic.

The incremental algorithm (Guibas and Stolfi Citation1985) starts with a bounding triangle and inserts one data point at a time. In the first step the current triangulation is searched for the triangle enclosing the point, using the CCW test, which is then split in three. Each new triangle is then checked with the Incircle test to see if its circumcircle is empty – if not the appropriate edge is flipped, the results put on a stack, and the process repeated until the stack is empty.

The dynamic algorithm consists of the insertion algorithm above plus point deletion, which is more or less the inverse of insertion: flip “ears” of the set of neighbors to the deletion point, until only three are left – then remove the point. See Devillers (Citation1999) and Mostafavi, Gold, and Dakowicz (Citation2003) for details.

The kinematic algorithm examines the locus of the current moving point to determine when it moves into the circumcircle of a neighboring triangle, or out of the circumcircle of an “ear” of the neighbors. At this topological event an edge is flipped. See Roos (Citation1993) and Gold and Dakowicz (Citation2006) for details. As a result the Voronoi/Delaunay structure is always maintained under point movement.

4. Incremental algorithms and applications

Batch algorithms, such as by Fortune (Citation1987), process all input points together. Incremental algorithms process one at a time, and can therefore be used to add subsequent points as needed. We will examine GIS applications for this approach.

4.1. Triangulation: TIN models

Constructing a continuous terrain model from scattered elevation data used to be done by estimating values on a grid by averaging the values of nearby points: a form of interpolation. Today a TIN model (Triangulated Irregular Network) is more common: for simple cases assuming flat triangular plates is sufficient. The DT is used as local data changes are guaranteed to make only local changes to the network.

4.2. Volume estimation

Where total volume estimates of rock (e.g. coal) are needed, the most stable approach is not to attempt to construct upper and lower bounding surfaces, but to assign the estimated thickness at any location to that of the nearest data point. This produces Voronoi prisms, similar to Figure below.

4.3. Runoff modeling

Integrated Finite Difference (IFD) flow modeling simulates flow between adjacent irregular cells that have boundaries perpendicular to the dual edges connecting adjacent elevation values: this is a property of the VD. Figure illustrates a simulation model using random elevation estimates based on the Sibson interpolation method described below. A large rejection radius is used to prevent generators being too close, which would give awkwardly shaped Voronoi cells. (Gold and Dakowicz Citation2007).

4.4. Geological mapping

Figure a shows the VD of a set of rock outcrops of types 1−4. The heavy boundary separates cells with different labels, and thus gives an approximate geological map. This is termed a “labelled skeleton”.

Figure 2. (a) Skeleton between rock types; (b) Labeled points inside polygons; (c) Voronoi cells; (d) Labeled-point Skeleton.

Figure 2. (a) Skeleton between rock types; (b) Labeled points inside polygons; (c) Voronoi cells; (d) Labeled-point Skeleton.

4.5. Rapid digitizing

Where it is necessary to construct polygon maps rapidly, e.g. for annual forest mapping, an effective method is to “roll” the digitizing cursor round the interior of each polygon, generating multiple points, each with the polygon label (Figure (b)). Generating the VD (Figure (c)) and extracting the labeled skeleton (Figure (d)) provides a simple topologically connected polygon map (Gold, Nantel, and Yang Citation1996).

4.6. Crust and skeleton

The labeled skeleton is only effective for closed polygons, and requires digitizing both sides of each boundary. For open networks or scanned polygon boundaries with sufficient point density the “geometric skeleton”, as well as the “crust” of connected boundary points may be extracted from the simple DT/VD (Gold Citation1999; Gold and Snoeyink Citation2001). Figure (a) shows the DT/VD and Figure (b) shows the crust and skeleton obtained by accepting only one part of each Voronoi/Delaunay edge pair. The skeleton is “hairy” due to irregularities in the scanned boundary. Figure (c) shows the smoothed results obtained by iterative adjustment of boundary points so that they fall on adjacent circumcircles (Thibault and Gold Citation2000). Note both the interior and exterior skeletons.

Figure 3. (a) Delaunay plus Voronoi; (b) Crust plus skeleton; (c) Smoothed crust plus skeleton.

Figure 3. (a) Delaunay plus Voronoi; (b) Crust plus skeleton; (c) Smoothed crust plus skeleton.

4.7. Text recognition

If the polygons were formed by the boundaries of text characters the generated skeletons form a simplified representation of the character, this can assist in character recognition (Figure ).

Figure 4. Scanned cadastral map: crust and skeleton.

Figure 4. Scanned cadastral map: crust and skeleton.

4.8. Scanned maps

Figure shows a portion of a scanned cadastral map, where image filtering has identified the boundaries between light (background) and dark (text). Generating the skeleton gives a connected topological set of property boundaries, the position of buildings within properties, characters forming labels, the grouping of characters to form labels, and the identification of labels with properties (Gold Citation1997).

4.9. Contour enhancement

Scanned contour maps (Figure (a)) may be used to generate TIN type terrain models, but along ridges and valleys some triangles will be “flat”, with the same elevation at all vertices. Using the ridge and valley portions of the skeleton generates intermediate secondary data points that break up the flat triangles, and their elevations may be estimated by using certain assumptions of constant slope (Dakowicz and Gold Citation2003). The results (interpolated by Sibson’s method, described below) are shown in Figure (b). Koshel (Citation2012) described an algorithm for the topologically correct gridding of contour data, to ensure that the neighboring points used were within the particular contour interval. Vanek, Jezek, and Milkova (Citation2012) gave an overview of terrain reconstruction from contours.

Figure 5. (a) Contour data and Voronoi cells; (b) Interpolated surface with ridges and valleys.

Figure 5. (a) Contour data and Voronoi cells; (b) Interpolated surface with ridges and valleys.

4.10. Watersheds

Figure (a) shows the crust and skeleton for a digitized river system, together with the remaining edges of the Voronoi cells, similar to Figure (a). Blum (Citation1967) originally defined the skeleton, or “Medial Axis Transform”, and also suggested that the height of a skeleton point could be estimated as equivalent to the radius of the Voronoi vertex forming the skeleton point. Figure (b) shows a TIN terrain model with constant 45 degree valley-wall slopes, based on this approach.

Figure 6. (a) Crust, skeleton, Voronoi cells; (b) Terrain from crust and skeleton; (c) Cumulative catchment areas.

Figure 6. (a) Crust, skeleton, Voronoi cells; (b) Terrain from crust and skeleton; (c) Cumulative catchment areas.

Assuming a fixed rainfall throughout the map, the volume of water in each Voronoi cell of Figure (a) is proportional to the cell size, and the cumulative sum of these volumes downstream gives an estimate of the total water flow at any river node (Figure (c)). This cumulative catchment model provides a first-order approximation of the total flow, based on the drainage network alone. Note that no time-based simulation is involved.

4.11. Building plane recognition

Continuing from the surface model and runoff idea, Tse, Gold, and Kidner (Citation2007) were involved in extracting building models from LiDAR (laser altimetry) data. A major part of this work was to recognize planar roof features. A TIN model was used to obtain the vector normals (Figure (a)) and these were plotted on the unit hemisphere with a DT (Figure (b)). Clusters of points indicated common slopes, often roof planes, and the Minimum Spanning Tree was obtained directly from the DT. Removing long edges identified clusters that could be identified with roof planes. These planes may then be incorporated in the landscape to assist in runoff estimation.

Figure 7. Clusters of roof vector normals (a) on the unit hemisphere (b).

Figure 7. Clusters of roof vector normals (a) on the unit hemisphere (b).

5. Dynamic algorithms and applications

The number of dynamic algorithms for maintaining GIS data structures is limited, because they are usually based on a line-intersection spatial model, rather than a tessellation. The primary tessellation model that can be used in GIS is the constrained DT (Jones, Bundy, and Ware Citation1995), which is usually static, in that all vertices are added first to give a simple DT (Chew Citation1989), and then constrained edges are added to give enforced boundaries . Deletion of these edges is not addressed, and even point deletion in the simple DT is only described in some studies (Devillers Citation1999; Mostafavi, Gold, and Dakowicz Citation2003).

We have described dynamic algorithms as those permitting both the insertion and deletion of data points in a VD/DT – we now give some applications.

5.1. Crust and skeleton smoothing

The skeletons produced for some of the earlier examples are very sensitive to perturbations of the boundary points – point misalignment produces narrow triangles along the boundary, with circumcircle centers on the medial axis. A relatively simple first-order adjustment of point position largely eliminates the “hairiness” of the skeleton by deleting and re-inserting boundary points, as in Figure (c) (Thibault and Gold Citation2000).

5.2. Second-order VDs

As the VD of a set of points gives the regions closest to each point, this may be used to find the closest service (e.g. hospital) to any map location. However, if this service is out of order, perhaps in a disaster, the closest service needs to be recalculated. This can be done by deleting the appropriate point in the VD. (More formally, the ordered order-2 VD gives the regions with particular closest and second-closest services – see Okabe et al. Citation2000). Figure (a) illustrates how the removal of point Z indicates the extended regions of the secondary service sites if site Z was out of order.

Figure 8. (a) Area-stealing; (b) Natural neighbors.

Figure 8. (a) Area-stealing; (b) Natural neighbors.

5.3. Sibson interpolation

The same approach may be used as an interpolation method. Traditionally local interpolation (based on a small set of neighboring data points) used some form of inverse distance to weight the contribution of the elevation of each data point. The difficulties with this approach are described in Gold (Citation1989). Sibson interpolation (Sibson Citation1981) removed many of these problems by inserting a dummy point at the location of interest, then removing it, and calculating the areas of the adjacent Voronoi cells “stolen” by the point insertion (Figure (a)). See (Gold Citation1989). This has proved to be a very convenient approach for many applications: for example where data points are anisotropically distributed around the query point (Figure (b)).

5.4. CAD B-Rep operators and map editing

A surface model may be modified in other ways besides point insertion and deletion. In CAD modeling systems a set of “Euler Operators” are defined that can modify the surface model (often a triangulation) by switching edges as well as inserting or removing points, while guaranteeing surface continuity (Mäntylä Citation1988; Tse and Gold Citation2002). This allows the construction of a surface that is not monotonic in X and Y and may have bridges and tunnels (Figure ). In many cases these operations are called manually, in order to construct the desired model. In a similar fashion ordinary TIN models may be edited manually to produce the desired result – perhaps to remove erroneous data, or to add extra points along river valleys.

Figure 9. Triangulated terrain: CAD modeling.

Figure 9. Triangulated terrain: CAD modeling.

6. Kinetic algorithms and applications

Many dynamic applications may be performed with these two operations. Examples are: Sibson interpolation (Sibson Citation1981), map editing, simulation of robot movement by removing the point from one location and placing it in the next, etc. The data structures themselves are also dynamic, being capable of local update. However, for further applications true kinetic properties are required, where it is necessary to know when the topology will change (given the current trajectory of the point), to move there, to update the topology, and to continue. This has been achieved in 2D (Guibas, Mitchell, and Roos Citation1991; Mostafavi and Gold Citation2004; Roos Citation1993) and in 3D (Ledoux Citation2006; Ledoux, Gold, and Baciu Citation2005) – when change (movement etc.) destroys these kinetic properties then local updating is required.

Applications of the kinetic VD include ship navigation (Gold et al. Citation2004; see Figure ), free-Lagrange fluid flow simulation (Mostafavi and Gold Citation2004) and interactive constrained DT and line-segment VDs (Gold Citation1994; Gold and Dakowicz Citation2006). Mostafavi, Beni, and Mallet (Citation2009, Citation2010) used VDs to represent dynamic spatial processes. In 3D we anticipate a variety of applications in oceanographic and atmospheric simulation.

Figure 10. Collision prediction using Voronoi neighbors.

Figure 10. Collision prediction using Voronoi neighbors.

6.1. Collision

With the kinetic VDs a new type of GIS system for maritime navigation safety has been developed. The system takes advantage of the properties of the kinetic VD (which implies that the first possible collision must be with one of the moving point’s Voronoi neighbors) and uses the Quad-Edge data structure for the real-time maintenance of the spatial relationships of ships and other navigational objects (see Figure ). The locations of ships are updated using a standard onboard automatic identification system transponder, and moving-point Voronoi algorithms. The spatial relationships are used for collision detection and avoidance (Goralski and Gold Citation2007). The system is aimed at tackling the main cause of marine accidents (human errors) by providing navigational aid and decision support to navigators. Lekkas (Citation2014) looks at various methods for path planning for autonomous vehicles, and Marvell and Bostelman (Citation2014) survey various approaches for evaluating possible collisions.

6.2. Free-Lagrange

Mostafavi and Gold (Citation2004) used the kinetic VD to simulate global tides (Figure ). Shorelines were marked by double lines of fixed points, and a regular pattern of Voronoi cells were placed throughout the oceans, each representing a fixed volume of water. The Free-Lagrange method (Fritts, Crowley, and Trease Citation1985) was used to handle the forces on each cell – both from the neighboring cells and from the moon.

Figure 11. Free-Lagrange model of global tides.

Figure 11. Free-Lagrange model of global tides.

6.3. Constrained

Managing the Voronoi structure during point movement has obvious applications in the simulation of real-world processes. However, the same approach may be used for the simulation of the map drawing process itself: the moving point simulates the pen, which leaves a trace of its path behind.

The most obvious example of this is the construction of the “constrained” DT, where certain triangle edges are forced to conform to some cartographic feature, such as a building boundary. The trace of the pen’s path is formed by forbidding the triangle edge connecting the starting point and the pen to be switched, no matter how far the pen moves (Figure ). See Gold and Dakowicz (Citation2006). Constrained edges/line segments are deleted by reversing the movement of the pen. Ohori, Ledoux, and Meijers (Citation2012) used the constrained DT for the validation and repair of general planar partitions.

Figure 12. (a) Building outlines; (b) Constrained triangulation.

Figure 12. (a) Building outlines; (b) Constrained triangulation.

6.4. Line-segment Voronoi

Since line segments are required to define cartographic features, and not just points, the kinetic model allowed the VD/DT to be maintained as the pen point moved through the tessellation. While the dynamic model could be developed with only the CCW and InCircle geometric predicates used in Computational Geometry (Guibas and Stolfi Citation1985; and Shewchuk Citation1997), giving a guaranteed robustness, the kinetic model requires additional tests to handle near-degenerate cases, especially point collision.

In either the constrained DT or the line-segment VD, all the update operations used have their inverses, as point movement may expand or contract the trailing line (Mioc et al. Citation1999). Preserving the topological relationships during construction means that potential collisions may be detected in advance, and the appropriate join operations implemented. This is simplified as the lines and their proximal regions are embedded in the two-dimensional space, guaranteeing that, for example, one VD line segment may detect an imminent collision and form the appropriate junction that preserves the correct node and region ordering around the junction point. Mioc et al. (Citation2013) discussed operations applied in the simplification of map objects: these are usually lost in the generalization process. With the hierarchical Voronoi data structure described previously these relations may be recovered. These are needed for reasoning about dynamic aspects of the world, primarily actions, events and processes.

The difficulties with this approach have been that the algorithms (Roos Citation1993) for the construction of the line-segment VD are extremely complex (Imai Citation1996; Sugihara et al. Citation2000) and sensitive to the limitations of computer floating-point arithmetic (Shewchuk Citation1997). Held (Citation2001) stated that it took him ten years to achieve this for a static algorithm. Gold, Remmele, and Roos (Citation1995) constructed a line-segment VD of unconnected line segments. Imai (Citation1996) constructed an incremental algorithm for line segments and closed polygons, where a maximum of two line segments meet at a vertex. Karavelas (Citation2004) described a robust incremental algorithm (without deletion). Yang and Gold (Citation1995) developed an incremental line-segment VD algorithm, but it suffered from a lack of arithmetic robustness. Gold and Dakowicz (Citation2006) built a kinetic line-segment VD algorithm, where points and line segments may be inserted, intersected, and deleted – which is particularly useful for a dynamic GIS. Figure illustrates the spatial relationships that may be obtained from this spatial model. The difficulties associated with this approach are primarily concerned with preserving the correct order of tangent points around the Delaunay circumcircles at locations where line segments meet.

Figure 13. Neighbor relationships from Line-Segment VD.

Figure 13. Neighbor relationships from Line-Segment VD.

7. 3D models

Many of the methods described above for 2D may equally be implemented in 3D. Ledoux (Citation2006) built a 3D kinetic VD model for various applications (Figure (a)). Figure (b) shows the contour surface generated by slicing the 3D DT – data points inside the shell have higher values than the specified contour surface. Boguslawski and Gold (Citation2016) developed a half-edge-based data structure, the Dual Half-Edge (DHE), for the incremental construction of building models where full navigation within and between rooms may be achieved by examining both of the linked primal and dual graphs. This again is a tessellation, in the full 3D sense. Jamali et al. (Citation2014) discussed rapid surveying of building interiors based on incrementally modifying the DHE as the survey progressed. Ohori, Boguslawski, and Ledoux (Citation2013) described a four-dimensional GIS, based on the DHE plus a time dimension, and Anton, Boguslawski, and Mioc (Citation2014) extended the DHE as the dual half-arc, giving increasing generality.

Figure 14. (a) Tetrahedron and 3D Voronoi cell; (b) 3D contour surface.

Figure 14. (a) Tetrahedron and 3D Voronoi cell; (b) 3D contour surface.

8. Conclusions

This second paper has built on the structures described in the first, and examined how these may be modified: change may often be associated with either viewpoint or time. Incremental algorithms permit additional point insertion, and applications involving the addition of skeleton points, for map scanning, contour enrichment, or watershed delineation and simulation. Dynamic algorithms permit skeleton smoothing, and higher order VD applications, including Sibson interpolation. Kinetic algorithms allow collision detection applications, free-Lagrange flow modeling, and pen movement simulation for map drawing. If desired, these methods may be extended to 3D. Based on this framework, it can be argued that tessellation models are fundamental to our understanding and processing of geographical space, and provide a coherent framework for understanding the “space” in which we exist.

Notes on contributor

Christopher Gold is an emeritus professor at the University of South Wales, a visiting professor at Southwest Jiaotong University and a visiting professor at LIESMARS, Wuhan University. He has held research chairs at Laval University, Quebec, Canada and at the University of South Wales. He received the Wang Zhizhuo Award from the Chinese Society of Geodesy, Photogrammetry and Cartography in 2008. His research has been devoted to the development of appropriate spatial models for various aspects of GIS, and the promotion of Voronoi diagrams as a fundamental tool for spatial analysis.

References

  • Albrecht, J. 2007. “Dynamic GIS.” In The Handbook of Geographic Information Science, edited by J. Wilson and S. Fotheringham, 436–446. London: Blackwell.10.1002/9780470690819
  • Anton, F., P. Boguslawski, and D. Mioc. 2014. “The Dual Half-Arc Data Structure: Towards the Universal B-Rep Data Structure.” Geoinformation for Informed Decisions, Lecture Notes in Geoinformation and Cartography 2014: 103–117.10.1007/978-3-319-03644-1
  • Boguslawski, P., and C. Gold. 2016. “The Dual Half-Edge – A Topological Primal/Dual Data Structure and Construction Operators for Modelling and Manipulating Cell Complexes.” ISPRS International Journal of Geo-Information 5 (2): 19.10.3390/ijgi5020019
  • Blum, H. 1967. “A Transformation for Extracting New Descriptors of Shape.” In Models for the Perception of Speech and Visual Form, edited by W. Whaten-Dunn, 362–380. Cambridge: MIT Press.
  • Chew, L. P. 1989. “Constrained Delaunay Triangulations.” Algorithmica 4 (1–4): 97–108.10.1007/BF01553881
  • Dakowicz, M., and C. M. Gold. 2003. “Extracting Meaningful Slopes from Terrain Contours.” International Journal of Computational Geometry & Applications 13 (4): 144–153.
  • Devillers, O. 1999. “On Deletion in Delaunay Triangulations.” International Journal of Computational Geometry & Applications 12 (3): 181–188.
  • Fortune, S. 1987. “A Sweepline Algorithm for Voronoi Diagrams.” Algorithmica 2: 153–174.10.1007/BF01840357
  • Fritts, M. J., W. P. Crowley, and H. Trease. 1985. The Free-Lagrange Method Lecture Notes in Physics. Vol. 238. Berlin: Springer-Verlag.10.1007/BFb0032238
  • Gold, C. M. 1989. “Surface Interpolation, Spatial Adjacency and GIS (Ch. 3).” In Three Dimensional Applications in Geographic Information. edited by J. Raper, 21−35. London: Taylor and Francis.
  • Gold, C. M. 1994. “Dynamic Data Structures: The Interactive Map.” In Advanced Geographic Data Modelling - Spatial Data Modelling and Query Languages for 2D and 3D Applications, Netherlands Geodetic Commission Publications on Geodesy (New Series), Vol. 40, pp.121−128.
  • Gold, C. M. 1996. “An Event-Driven Approach to Spatio-Temporal Mapping.” Geomatics 50: 415–424.
  • Gold, C. M. 1997. “Simple Topology Generation from Scanned Maps.” Proceedings of the Auto-Carto 13, ACM/ASPRS 5: 337−346.
  • Gold, C. M. 1999. “Crust and Anti-Crust: A One-Step Boundary and Skeleton Extraction Algorithm.” Proceedings of the ACM Conference on Computational Geometry, Miami. 189–196.
  • Gold, C. M. 2016. “Tessellations in GIS: Part I – Putting It All Together.” Geo-Spatial Information Science 19 (1): 9–25.10.1080/10095020.2016.1146440
  • Gold, C. M., M. Chau, M. Dzieszko, and R. Goralski. 2004. “3D Geographic Visualization: The Marine GIS.” In Developments in Spatial Data Handling-11th International Symposium on Spatial Data Handling, edited by P. F. Fisher, 17–28. Berlin: Springer.
  • Gold, C. M., and M. Dakowicz. 2006. “Kinetic Voronoi-Delaunay Drawing Tools.” In Proceedings of the 3rd. International Symposium on Voronoi Diagrams in Science and Engineering, 76–84. Banff, Canada.
  • Gold, C. M., and M. Dakowicz. 2007. “Dynamic Cartography Using Voronoi/Delaunay Methods.” In Proceedings of the 5th ISPRS Workshop on Dynamic and Multi-Dimensional GIS, 41–46. Urumchi.
  • Gold, C. M., J. Nantel, and W. Yang. 1996. “Outside-in: An Alternative Approach to Forest Map Digitizing.” International Journal of Geographical Information Systems 10 (3): 291–310.10.1080/02693799608902080
  • Gold, C. M., P. R. Remmele, and T. Roos. 1995. “Voronoi Diagrams of Line Segments Made Easy.” In: Proceedings of the 7th. Canadian Conference on Computational Geometry, edited by C. M. Gold and J. M. Robert, 223−228. Quebec, QC.
  • Gold, C. M., and J. Snoeyink. 2001. “A One-Step Crust and Skeleton Extraction Algorithm.” Algorithmica 30: 144–163.10.1007/s00453-001-0014-x
  • Goralski, I. R., and C. M. Gold. 2007. “Maintaining the Spatial Relationships of Marine Vessels Using the Kinetic Voronoi Diagram.” In Proceedings of the ISVD 2007, 84–90. Glamorgan.
  • Guibas, L., J. S. B. Mitchell, and T. Roos. 1991. “Voronoi Diagrams of Moving Points in the Plane.” In: Proceedings of the 17th. International Workshop on Graph Theoretic Concepts in Computer Science, Fischbachau, Germany. Lecture Notes in Computer Science, Berlin: Springer-Verlag, Vol. 70. pp 113−125.
  • Guibas, L., and J. Stolfi. 1985. “Primitives for the Manipulation of General Subdivisions and the Computation of Voronoi.” ACM Transactions on Graphics 4 (2): 74–123.10.1145/282918.282923
  • Held, M. 2001. “VRONI: An Engineering Approach to the Reliable and Efficient Computation of Voronoi Diagrams of Points and Line Segments.” Computational Geometry 18 (2): 95–123.10.1016/S0925-7721(01)00003-7
  • Imai, T. 1996. “A Topology Oriented Algorithm for the Voronoi Diagram of Polygons.” In Proceedings of the 8th Canadian Conference on Computational Geometry, 107–112. Ottawa, ON: Carleton University Press.
  • Jamali, A., P. Boguslawski, C. Gold, and A. A. Rahman. 2014. “Rapid Indoor Data Acquisition Technique for Indoor Building Surveying for Cadastre Application.” In Innovations in 3D Geo-Information Sciences―Lecture Notes in Geoinformation and Cartography, edited by U. Isikdag, 1−11. Berlin, Heidelberg: Springer.
  • Jones, C. B., G. L. Bundy, and J. M. Ware. 1995. “Map Generalization with a Triangulated Data Structure.” Cartography and Geographic Information Systems 22 (4): 317–331.
  • Karavelas, M. I. 2004. “A Robust and Efficient Implementation for the Segment Voronoi Diagram.” International Symposium on Voronoi Diagrams in Science and Engineering 2004: 51–62.
  • Koshel, S. 2012. “Algorithm for Topologically Correct Gridding of Contour Data.” Paper presented at Proceedings of the Seventh International Conference on Geographic Information Science (GIScience 2012), Columbus, Ohio, 1–5.
  • Langran, G. 1992. Time in Geographic Information Systems. London: Taylor and Francis.
  • Ledoux, H. 2006. “Modelling Three-Dimensional Fields in Geoscience with the Voronoi Diagram and It’s Dual.” Ph.D. thesis, School of Computing, University of Glamorgan.
  • Ledoux, H., C. M. Gold, and G. Baciu. 2005. “Flipping to Robustly Delete a Vertex in a Delaunay Tetrahedralization.” Lecture Notes in Computer Science 3480: 737–747.10.1007/b136266
  • Lekkas, A. M. 2014. “Guidance and Path-Planning Systems for Autonomous Vehicles.” PhD thesis, Norges Teknisk-Naturvitenskapelige Universitet.
  • Mäntylä, M. 1988. An Introduction to Solid Modeling. New York: Computer Science Press.
  • Marchand, P., Y.Bédard, and A.Brisebois. 2005. “Considerations for the Optimization of Analysis and Implementation of Spatio-Temporal Exploration and Analysis.” In International Society for Photogrammetry and Remote Sensing (ISPRS) Workshop WG II/5, II/6, IV/1 and IV/2―Joint Workshop on Spatial, Temporal and Multi-Dimensional Data Modelling and Analysis, Cardiff.
  • Marvel, J., and R.Bostelman. 2014. “A Cross-Domain Survey of Metrics for Modelling and Evaluating Collisions.” International Journal of Advanced Robotic Systems 11: 142.
  • Mioc, D., F. Anton, C. M. Gold, and B. Moulin. 1999. “‘Time Travel’ Visualization in a Dynamic Voronoi Data Structure.” Cartography and Geographic Information Science 26 (2): 99–108.10.1559/152304099782330761
  • Mioc, D., F. Anton, C. M. Gold, and B. Moulin. 2013. “Spatio-Temporal Map Generalizations with the Hierarchical Voronoi Data Structure.” In Proceedings of the 10th International Symposium on Voronoi Diagrams in Science and Engineering, 63–74. Russia: St. Petersburg.
  • Mostafavi, M., L. Beni, and K. Mallet. 2009. “Representing Dynamic Spatial Processes Using Voronoi Diagrams: Recent Developements.” International Symposium on Voronoi Diagrams 2009: 109–117.
  • Mostafavi, M., L. Beni, and K. Mallet. 2010. “Geosimulation of Geographic Dynamics Based on Voronoi Diagram.” In Transactions on Computational Science IX, edited by M. L. Gavrilova, C. J. K. Tan and F. Anton, 183−201. Berlin: Springer.
  • Mostafavi, M., and C. M. Gold. 2004. “A Global Kinetic Spatial Data Structure for a Marine Simulation.” International Journal of Geographical Information Science 18 (3): 211–227.10.1080/13658810310001620942
  • Mostafavi, M., C. M. Gold, and M. Dakowicz. 2003. “Delete and Insert Operations in Voronoi/Delaunay Methods and Applications.” Computers and Geosciences 29: 523–530.10.1016/S0098-3004(03)00017-7
  • Okabe, A., B. Boots, K. Sugihara, and S. N. Chiu. 2000. Spatial Tessellations-Concepts and Applications of Voronoi Diagrams. 2nd ed. Chichester: John Wiley and Sons.
  • Ohori, K. A., P. Boguslawski, and H. Ledoux. 2013. “Representing the Dual of Objects in a Four-Dimensional GIS.” In Developments in Multidimensional Spatial Data Models, edited by A. A. Rahman, P. Boguslawski, C. Gold and M. N. Said, 17–31. Berlin: Springer.
  • Ohori, K., H. Ledoux, and M. Meijers. 2012. “Validation and Automatic Repair of Planar Partitions Using a Constrained Triangulation.” Photogrammetrie - Fernerkundung - Geoinformation 120 (5): 613–630.10.1127/1432-8364/2012/0143
  • Roos, T. 1993. “Voronoi Diagrams over Dynamic Scenes.” Discrete Applied Mathematics 43 (3): 243–259.10.1016/0166-218X(93)90115-5
  • Shewchuk, J. R. 1997. “Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates.” Discrete and Computational Geometry 18 (3): 305–363.10.1007/PL00009321
  • Sibson, R. 1981. “A Brief Description of Natural Neighbour Interpolation.” In Interpreting Multivariate Data, edited by V. Barnett, 21–36. New York: Wiley.
  • Sugihara, K., M. Iri, H. Inagaki, and T. Imai. 2000. “Topology-Oriented Implementation--an Approach to Robust Geometric Algorithms.” Algorithmica 27 (1): 5–20.10.1007/s004530010002
  • Thibault, D., and C. M. Gold. 2000. “Terrain Reconstruction from Contours by Skeleton Construction.” GeoInformatica 4 (4): 349–373.10.1023/A:1026509828354
  • Tse, O. C. R., and C. M. Gold. 2002. “TIN Meets CAD-Extending the TIN Concept in GIS.” Lecture Notes in Computer Science 20 (7): 1171–1184.
  • Tse, R. O. C., C. M. Gold, and D. B. Kidner. 2007. “3D City Modelling from LIDAR Data.” In Advances in 3D Geoinformation Systems, edited by P. van Oosterom, S. Zlatanova, F. Penninga and E. M. Fendel, 161–175. Berlin: Springer-Verlag.
  • Vanek, J., B. Jezek, and E. Milkova. 2012. “Terrain Reconstruction from Contour Lines.” In Proceedings of the 3rd International Conference on Applied Informatics and Computing Theory (AICT’12), 316−320, Spain.
  • Yang, W., and C. M. Gold. 1995. “Dynamic Spatial Object Condensation Based on the Voronoi Diagram.” In Proceedings of the Fourth International Symposium of LIESMARS’95 - towards Three-Dimensional, Temporal and Dynamic Spatial Data Modelling and Analysis, edited by J. Chen, X. Shi and W. Gao, 134–145. China: Wuhan.