ArticlePDF Available

Template-based GIS computation: a geometric algebra approach

Authors:

Abstract and Figures

The tight coupling between geospatial data and spatial analysis results in high costs in terms of efficiency when developing algorithms to accommodate different types of data, even when the analysis tasks are the same. Universal GIS (Geographic information system) algorithms, as alternatives to tightly coupled approaches, can reduce development costs. However, a unified representation of spatial data is necessary to support the development of universal GIS algorithms. To this end, this research proposes and implements a template-based approach using geometric algebra to create a unified representation of multidimensional data. The template is composed of parameters and operators for GIS representation and computation. The template approach can support general GIS analyses with parameter unfolding and operator integration methods. A case study of intersection analysis shows that developing programming scripts based on computation templates is much simpler than traditional methods. The results suggest that the template-based method is more efficient than traditional methods and more convenient for high-dimensional applications.
Content may be subject to copyright.
Pre-print accepted for publication in IJGIS (Page 1)
Template-based GIS computation: a geometric algebra approach
Wen Luoa,b,c, Zhaoyuan Yua,b,c, Linwang Yuana,b,c*, Yong Hua, A-Xing Zhua,b,c and Guonian Lüa,b,c
a Key Laboratory of Virtual Geographic Environment (Nanjing Normal University), Ministry of
Education, Nanjing, 210023, China
b State Key Laboratory Cultivation Base of Geographical Environment Evolution (Jiangsu Province),
Nanjing, 210023, China
c Jiangsu Center for Collaborative Innovation in Geographical Information Resource Development
and Application, Nanjing, 210023, China
*Corresponding author: Geographic Science School of Nanjing Normal University, No.1 Wenyuan
Road, Nanjing, Jiangsu, China. Tel: (86)2585898270; fax: (86)2585898270.
E-mail: yuanlinwang@njnu.edu.cn
Abstract: The tight coupling between geospatial data and spatial analysis results
in high costs in terms of efficiency when developing algorithms to accommodate
different types of data, even when the analysis tasks are the same. Universal GIS
(Geographic information system) algorithms, as alternatives to tightly coupled
approaches, can reduce development costs. However, a unified representation of
spatial data is necessary to support the development of universal GIS algorithms.
To this end, this research proposes and implements a template-based approach
using geometric algebra to create a unified representation of multidimensional data.
The template is composed of parameters and operators for GIS representation and
computation. The template approach can support general GIS analyses with
parameter unfolding and operator integration methods. A case study of intersection
analysis shows that developing programming scripts based on computation
templates is much simpler than traditional methods. The results suggest that the
template-based method is more efficient than traditional methods and more
convenient for high-dimensional applications.
Keywords: Geometric algebra; computation template; script-based programming
To cite this article: Wen Luo, Zhaoyuan Yu, Linwang Yuan, Yong Hu, A-Xing Zhu & Guonian Lü
(2017) Template-based GIS computation: a geometric algebra approach, International Journal of
Geographical Information Science, 31:10, 2045-2067, DOI: 10.1080/13658816.2017.1346796
To link to this article: http://dx.doi.org/10.1080/13658816.2017.1346796
Pre-print accepted for publication in IJGIS (Page 2)
1 Introduction
The number and size of data structures and the complexity of algorithms have increased
with the explosive growth of geospatial data (Campbell 2008). The tight coupling
between the analysis and data requires the development of multiple versions of algorithms
for different types of data, even if the analysis and computational procedures are the same.
In addition, with the rapid development of GIS architectures, such as the service-oriented
architecture (SOA), collaborative spatial analysis (McMaster and Usery 2004), and
CyberGIS (Wang 2010), the development of universal GIS algorithms is becoming an
urgent issue.
Tight coupling between algorithms and non-uniform GIS representations
complicates algorithm development. Current GIS representations typically divide GIS
data into different dimensions (2D and 3D) or types (points, lines, polygons). Thus, a
single GIS calculation that is applied to different GIS data sets requires different
algorithms (e.g., line-polygon intersection and polygon intersection, or 2D and 3D
Thiessen polygons). Multiple studies have attempted to solve the issue of tight couplings.
One approach is to develop a universal analytical framework for GIS operations. Map
algebra, proposed by Tomlin (1990) is a typical example; however, the map algebra is
defined for raster data, although efforts have been made to popularize such algebra for
spatial operations (Câmara et al. 2005) and vector field data (Li and Hodgson 2004, Wang
and Pullar 2005). The underlying data expression remains restricted to field-based data
structures. Some universal GIS operations (Rhind 1988, Albrecht 1995) have also been
built by analyzing the underlying spatial principles of GIS operations. However, without
a unified data representation, these universal GIS operations focused only on the
taxonomies of GIS functions. Other groups have attempted to define a unified GIS data
representation by simplifying and integrating geographic data-modeling concepts,
including unified vector/field models (Winter and Frank 2000, Kjenstad 2006), the object
Pre-print accepted for publication in IJGIS (Page 3)
field model (Cova and Goodchild 2002), the geo-ontology model (Galton 2003) and the
geo-atoms-based model (Goodchild et al. 2007). However, because of the lack of a well-
defined underlying theory (Goodchild 2011), these models always generate formalized
expressions that are challenging to implement. Alternatively, certain other methods make
use of object-oriented programming to realize unified computations using parametric
polymorphism (Manola and Dayal 1986, Huang 2003). However, object abstraction is
challenging, as is updating and extending the predefined objects. Therefore, object-
oriented methods have been limited to the application areas in which they were developed.
Except in limited cases, the approaches mentioned are cumbersome for solving the
problem of tight coupling with multiple algorithms for different types of data. The
limitations of conventional methods are the result of a lack of a unified representation for
geospatial data. Most current GISs are based on Euclidean geometry or computational
geometry. The strong dependency on coordinates and dimensions presents another hurdle
to unifying GIS data representations. Many GIS algorithms, such as those for computing
intersections and Thiessen polygons, must be adapted for a variety of dimensions or types
of data. Calculations based on these strategies (such as formal unified models, functional
taxonomies, and parametric polymorphism) maintain the need for tight coupling with GIS
data.
Geometric algebra (GA) provides an ideal tool for the expression and computation
of multidimensional geometric objects (Dorst et al. 2009, Hitzer et al. 2013). Yuan et al.
(2013) presented a framework for GA-based multidimensional-unified computation (GA-
MUC). In GA-MUC, GIS primitives with different dimensions and types are uniformly
expressed by blades, which can be extended to multivectors. As a result, multivectors
have become a basic data structure that unifies the representation of geographic data
(Yuan et al. 2011). Geographic computations, such as the computation of topological
Pre-print accepted for publication in IJGIS (Page 4)
relationships (Yuan et al. 2014), the analysis of field characteristics (Yu et al. 2013), and
network computations (Yuan et al. 2013), are simplified when based on GA-MUC. The
GA-MUC framework provides a way to build unified algorithms that can overcome the
requirements of multiple algorithmic implementations for different spatial data types that
exist with tight coupling.
This paper proposes a template-based approach based on the GA-MUC framework.
The template-based approach is centered on the structure of GIS data and the common
flow of GIS analysis and has the following three objectives: (1) design of a self-contained
system of parameters and operators that can support consistent computational flow and a
computation template, (2) construction of a flexible computational structure with
modularized computations, and (3) the design of a generative mechanism for algorithm
templates with the abovementioned computational structure.
This paper proposes a template-based approach that is loosely coupled with the data.
As Yuan proposed in the context of GA-based data modeling, the scope of this paper is
limited to the construction and implementation of template-based algorithms. The
structure of this paper is as follows: Section 2 presents an introduction to GA-MUC and
related theoretical foundations; Section 3 provides the basic idea behind template-based
GIS computing, followed by the definition, construction, and implementation of the
template-based method; a case study is described in Section 4; and a discussion and
conclusions are presented in Sections 5 and 6, respectively.
2 GA-MUC-based GIS representation
In GA-MUC, blades are the basic elements used to represent GIS primitives (e.g., points,
lines, and planes). The geometric meanings of blades are determined by the predefined
GA models (e.g., Euclidean, projective, and conformal). Among the various GA models,
conformal geometric algebra (CGA) is used for its superior geometric presentation ability
Pre-print accepted for publication in IJGIS (Page 5)
(Dorst et al. 2009). In CGA, for any given CGA points
12
, , , k
p p p
, the k-blade
representation can be expressed as
12
1 2 1
()
()
Rk
Fk
X p p p round geometric
X p p p e flat geometric

 
 
(1)
The outer product
is used to construct higher-dimensional objects, and
e
represents a
point at infinity. The non-zero scalar
can be considered the weight of
and
F
X
, but
it does not influence the geometric representation. Depending on whether the infinity
point is included, the k-blade representation is divided into a round geometry
and a
flat geometry
F
X
(Dorst et al. 2009, Yu et al. 2016).
The hybrid-dimensional objects in GA are expressed by multivectors, which are a
combination of blades of different dimensions. For a given
n
-dimensional GA space, the
general expression of a multivector is
21
0
n
ii
i
M a E
(2)
where
i
E
denotes the
i
-th basis blade of a GA space and there are
2n
basis blades in an
n
-dimensional GA space in total (Perwass 2009). In the GA-MUC framework,
multivectors represent the complex GIS entities combined with geometric primitives. To
avoid the algebraic addition of the primitives for the same type of blades, the sum operator
symbol + is replaced by the union operator
(Yuan et al. 2011, 2014). Then,
multivectors can be used to uniformly represent GIS objects with different dimensions:
2
1
12
22
12 1
11
. . . . -
()
n
nn
i
i
A
in
iA
m
i i i i
m i j i
j
ii
M Obj Points Obj Lines Obj Planes Obj n hypervolume
M M M M M
EE
(3)
where Points means round points;
-n hypervolume
is the n-dimensional hyper-volume;
Pre-print accepted for publication in IJGIS (Page 6)
and
A
is the blade index set, with
0,1,2,3,...,12,23,31,....,123,...,12...An
. The
scalar
i
i
m
is the coefficient of the
i
-th basis blade
i
E
, where
i
m
indicates the total
number of the i-th basis blades.
Because of the existence of complex structures, particularly the inherent boundaries
of GIS data, a hierarchical structure of geometric primitives was previously defined (Luo
et al. 2016). The most commonly used geometric primitives of GIS objects are
represented by
1
12
12
{}
{}
- - 1-
1- 1 }-
{
in
im
hypervolume hypervolume
Segment Line
hyp
Point Point
Polygon Plane Segment Segment
ervolume
Segment Segment
n n n
nnhypervolume hypervolume

 

 
(4)
3 GA computation templates and template-based algorithms
3.1 Overall strategy
The primary task of template-based GIS computation is to build flexible computation
templates that can process and analyze multidimensional GIS data. Based on this
perspective, we designed a template-based GIS spatial computation framework (Figure 1).
Three key tasks exist for the implementation of template-based GIS computing: template
construction, template expansion, and template algorithm construction.
Template construction was realized by the encapsulation of data representations and
operators in the GA-MUC framework. The GA representations were encapsulated as
parameters. To adapt the parameters to the three GIS analysis processes (data generation,
data preprocessing, and data calculation), these parameters were classified into three
types: data parameters, semantic parameters, and transformation parameters. In the
same way, the operators were also encapsulated for the purpose of parameter construction
Pre-print accepted for publication in IJGIS (Page 7)
(construction operators), parameter transformation (conversion operators), and the
evaluation of the relationships among parameters (calculation operators).
Template expansion, including parameter unfolding and operator integration, is
based on the complexity of GIS data and requirements for the expandability of GIS
functions. According to the variety of GIS data structures, parameter unfolding uses three
types of strategies: linear unfolding, hierarchical unfolding, and hybrid unfolding.
Similarly, the integration methods of templates such as operand combination, operator
combination, and judgment combination were also designed based on the algorithm
structures. These structures implement the generation strategy of template-based GIS
algorithms.
Template algorithm construction was realized by developing a script-based strategy.
Based on a well-defined data structure for parameters, the expansion of templates is easily
achieved with template scripts. Script interpretation and algorithm generating methods
were proposed to realize the transformation from GA scripts to executable programming
functions.
Figure 1. Framework.
Pre-print accepted for publication in IJGIS (Page 8)
3.2 Template construction
According to the unified representation of geospatial data in GA-MUC and the general
operators in GA, the GIS computation templates can be formally expressed as an
algebraic equation.
Definition 3.1: Given a GA operator
op
, the computation template is defined as a
function of parameters:
( , , )
op
f f n pars op
(5)
where
pars
are the parameters involved in the computation template and
n
is the number
of parameters. Parameters and operators are basic components of the template.
3.2.1 Parameters
In template-based computation, the representation of objects, their relationships, and the
transformation of objects can all be represented and abstracted as parameters for
controlling the flow of data transformations and calculations. Three different types of
parameters were defined to construct the parameter system.
1) Data parameters
Data parameters are the GA structures used to represent GIS objects. Based on the
data representation in GA-MUC, the general expression of the data parameters is
12 n
ParD obj obj obj  
(6)
where
objs
are the blades, which are used to denote basic primitives in the GIS
representation.
2) Semantic parameters
Semantic parameters are GA structures used to express geometric characters and the
spatial relationships of GIS objects. These characters include the orientation, weight, and
tangent line. In a template framework, the semantic parameters must be computed with
Pre-print accepted for publication in IJGIS (Page 9)
other parameters; therefore, the computability of these semantic parameters is important.
Taking the norm (the same as the length, area, or volume in Euclidean space) and
direction as an example, the semantic parameters can be expressed as
:,
:
:
kj k j kjt k j t
kk
kk
norm A a a V a a a
direction D a e
tangent direction T p a
   


(7)
where
,
kj
aa
and
t
a
are vectors. As shown in Equation (7), the norms of vectors are
represented by their outer product. The norm of
kj
A
represents the area of the
parallelogram constructed from
k
a
and
j
a
(Figure 2a), and
kjt
V
represents the volume
of the parallelepiped constructed from
,
kj
aa
, and
t
a
. The direction is represented by a
movable free blade, which is constructed with a vector and
e
(Figure 2b). Figure 2c
shows another type of vector called a tangent blade, which is used primarily to express
tangent relationships between objects. A tangent blade has a fixed origin (represented by
p
) and a direction (represented by
k
a
). Because the results of GA operators are always
GA objects, all semantic parameters are computable GA objects.
Figure 2. Semantic parameters. (a) is the area of the quadrangle represented by the norm of outer
product, (b) is the representation of the direction of geographical objects A and B, and (c) is the
representation of the tangent direction of the two polygons.
3) Transformation parameters
Transformation parameters are GA structures used to express the transformation of
GIS objects. In recent GIS applications, increasingly more movable objects, such as cars
Pre-print accepted for publication in IJGIS (Page 10)
and pedestrians, must be represented and simulated in a geographical scene. In addition
to the representation of the objects themselves, their movements must be expressed at the
same time.
In GA, a moving state A can be transformed into a moving state B through the
transformation equation
1
B fAf
, which is also called the versor product (Dorst et al.
2009), where
f
is the transformation parameter. As shown in Figure 3, given a state A,
the transformed state
A
under different motions can be expressed as follows (Dorst et al.
2009):
/2
/2
/2 /2
Translator:
Rotor :
:
te
I
te I
Te
Re
TRVersor V e e
(8)
where T represents the translation over t; R represents the rotation over
in the
I
-plane
and V is the TRVersor, which expresses the motion combining translation and rotation.
Figure 3. Transformation parameters. (a) is the translation with translator T, (b) is the rotation with
rotor R, and (c) is the combination of translation and rotation.
The most commonly used parameters in 3D space are listed in Table 1, in which all
of the computing parameters are unified and expressed in GA space. The computability
of GA expressions also makes the computing interface for different templates more
compatible to supporting the procedural development of GIS algorithms.
Pre-print accepted for publication in IJGIS (Page 11)
Table 1. Computing parameters
Type
Name
GA expression
Description
Data
parameters
Point
A
P
Point located at point A
Segment
AB
PP
Segment constructed with points A and B
n-Polygon
1 2 2 3 1n
P P P P P P    
Polygon constructed with n segments
m-Polyhedron
12 m
Pg Pg Pg  
Polyhedron constructed with m polygons
Circle
A B C
PPP
Circle constructed with points A, B and C
Sphere
A B C D
P P P P  
Sphere constructed with points A, B, C and D
Semantic
parameters
Norm expression
kj k j
A a a
,
kjt k j t
V a a a  
Outer product, used to express the norm of
geometric objects.
Direct expression
kk
D a e

,
kk
T p a
The free vector and tangent vector used to
express orientations
characters
expression
22
( ( , ))B meet A B
,
22d A B
Used to characterize the spatial relations
Transformat
ion
parameters
Translation
/2te
Te
Used to express translation over t
Rotation
/2I
Re
Used to express rotation over
in the
I
-
plane
Translation and
rotation
/2 /2
te I
V e e
Used to express translation and rotation at the
same time
3.2.2 Operators
Operators include construction operators, conversion operators, and calculation
operators.
1) Construction operators
Construction operators are operators used to construct spatial objects. All
construction operators have at least two inputs and have data parameters as both their
input parameters and output parameters:
12
( ,{ , , }, ) , 2
d
op n d
f f n ParD ParD ParD op ParD n  
(9)
where
i
ParD
denotes a data parameter.
There are two types of construction operators. The first one, which is used primarily
to construct higher-dimensional objects, relies on the outer product:
1 2 1 2
( ,{ , , },' ')
d
op n n
f f n ParD ParD ParD ParD ParD ParD ParD  
(10)
Other types of operators are used to construct complicated GIS data structures with
different dimensions. The union operator (
) is used to construct such a complex
structure:
1 2 1 2
( ,{ , , }, )
d
op n n
f f n ParD ParD ParD ParD ParD ParD  
(11)
Pre-print accepted for publication in IJGIS (Page 12)
2) Conversion operators
Conversion operators are operators used to convert the spatial location and
representation of parameters. The input and output data of conversion operators can be
any type of parameters. Most conversion operators are unitary (having only one
parameter) or binary operators (having two parameters):
12
1 1 2
(1,{ }, )
(2,{ , }, )
t
t
op t
op t
f f Par op Par
f f ParD ParT op ParD


(12)
where
1
Par
is the general parameter and
i
ParT
and
i
ParD
denote the transformation
parameters and data parameters, respectively. The first of the two equations in (12)
refers to the sequence adjustment operators, which are used to adjust the order of the
dimensions (e.g., reverse and grade involution in Table 2 below). The second equation
in (12) is used to realize the rotation and translation of GIS data (e.g., translator and rotor
in Table 2 below). The conversion operators are linear and can be easily separated using
the distributive law.
3) Calculation operators
Calculation operators compute and acquire the spatial relationships of GIS data.
Their inputs are data parameters, and the outputs are semantic parameters. There are two
types of calculation operators: unitary operators are used to calculate the characteristics
of the inputs, and operators with more than one input are used to calculate the
relationships between the inputs.
1
12
(1,{ }, )
( ,{ , , , }, )
c
c
op c
op n c
f f Par op ParS
f f n Par Par Par op ParS


(13)
where
ParS
denotes a semantic parameter. According to this definition, any type of
parameter can be calculated using calculation operators, which strongly promotes the
operational capability of template-based GIS computations. Unlike conversion operators,
Pre-print accepted for publication in IJGIS (Page 13)
calculation operators are nonlinear and must be computed using the entire structure of
operands.
The typical operators used in the computation templates are enumerated in Table 2.
As shown in the table, the input and output data of the operators are defined by the
parameters, which provide the operational approach for template expansion.
Table 2. Computing operators
Type
Subclass
Operator
Geometric meaning
Construction
operators
Dimension
construction
Outer product: Op(A1,A2,...,An)
The outer product is used to construct
higher-dimensional objects.
Structure
construction
Union product: CP(A1,A2,...,An)
The union product is used to construct
complex objects with sequential
structures.
Conversion
operators
Sequence
adjustment
operators
Reverse: Rev(A)
Order adjust operators of dimension that
can simplify GA computation complexity
Grade involution: GradeInv(A)
Conjugation: Conj(A)
Transformation
operators
Translator: Trans(A,T)
Translate A with the translator T
Rotor: Rot(A,R)
Rotate A with the rotor R
TRversor: TRVer(A, V)
Translate and rotate A with V
Calculation
operators
Character
calculation
Norm: Norm(A)
The norm of the GA representation
indicates the area and volume of objects
Orientation: Ori(A)
Orientation of A
Relationship
calculation
Distance: Dist(A,B)
Distance from
A
to
B
Meet: Meet(A,B)
The intersection relationship of
A
and
B
3.3 Template expansion
There are two aims of template expansion. First, the parameter representation of data is
expanded to a more general GIS data representation; second, the geometric computations
are expanded to perform more complex GIS analysis.
3.3.1 Parameter unfolding
In the definition of a data parameter, the union operator (
) is used to extend the GA
expression to more general GIS data. However, the union operator is not a standard GA
operator. An unfolding method for a data parameter based on the union operator must be
designed. According to the representation methods for GIS data proposed by Yuan et al.
(2011, 2014), there exist three types of parameter unfolding approaches: linear unfolding,
Pre-print accepted for publication in IJGIS (Page 14)
hierarchical unfolding, and hybrid unfolding.
1) Linear parameter unfolding
Primitive set data, such as point sets, line sets, and polygon sets, can be represented
by a linear expression using the union operator. Then, the computation templates for the
primitive set based on multivectors can be written as
12
( ) ( )
op op n
f MV f par par par  
(14)
The formula
12
()
op n
f par par par  
is unfolded using the distributive law of GA
operators. Then, Equation (14) is directly transformed into a sum of sub templates:
1 2 1 2
( ) ( ) ( ) ( )
op n op op op n
f par par par f par f par f par    
(15)
In Equation (15), op can only be a unitary operator. If op is a multi-operand operator,
every component of the multivector MV is computed. For instance, given multivector
A
par
and
B
par
with arbitrary dimensions
m
and
n
,
11
,
nm
ij
A i B j
ij
par par par par




(16)
If the GA operator
op
is a binary operator, then
11
(2,{ , }, ) ( , ) ( , )
nm ij ij
i
A B A B j
par par par parf op op op par par




(17)
Most construction operators, such as the inner product, outer product, and geometric
product, meet the requirements of linear addition; thus, the multivector can be expanded
directly. In addition, all transforming computations possess this linear feature as well.
2) Hierarchical parameter unfolding
In some situations, the hierarchical structures of objects must be taken into
consideration (e.g., the buildings in a 3D city application). For the hierarchical properties
of the topological representation, the parameters cannot be linearly unfolded. Thus, Luo
et al. (2016) defined the MVTree to represent the topological hierarchy of GIS data.
Pre-print accepted for publication in IJGIS (Page 15)
As shown in Figure 4, MVTree is an expression of the hierarchical structure of
geometric objects. Its definition is as follows:
Definition 3.2: Given an MVTree TA, any node of the TA satisfies the following rules:
1) when
1n
,
.n
TAroot blade
, and
1
. ( ) n
TAleaf i blade
,
1im
(m is the number
of boundary points);
2) when
1n
,
1
.TAroot blade
, and
. ( )TAleaf i NULL
, which means that the leaf nodes
must be points with dimension 1 in CGA. The 0-dimensional MVTree is nonexistent.
Figure 4. MVTree-based hierarchical structure.
During the unfolding of hierarchical parameters, any node of the MVTree can be
calculated along with the other MVTree. Given an m-dimensional MVTree
TA
Par
and an
n-dimensional MVTree
TB
Par
, the template is unfolded as follows:
(2,{ , }, )
(2,{ . , . }, ) (2,{ , . }, )
(2,{ . , }, )
TA TB
TA TB TA TB
TA TB
f Par Par op
f Par root Par root op f Par Par progeny op
f Par progeny Par op

(18)
where
.
TA
Par progeny
denotes all progenies of including children, grandchildren,
etc. The expression
(2,{ , . }, )
TA TB
f Par Par progeny op
is a recursive equation that iterates
until reaching the leaf nodes. The calculation operators, such as meet and join, are
expanded based on the hierarchical structure of the MVTree.
3) Hybrid parameter unfolding
TA
Par
Pre-print accepted for publication in IJGIS (Page 16)
The MVTree can also be linked with the union operator; then, a hybrid structure
parameter is obtained:
12 n
MVTrees MVTree MVTree MVTree  
(19)
An expansion of this type of parameter occurs in two steps. First, MVTrees unfolds
linearly to generate the
n
templates calculated with MVTree; second, hierarchical
unfolding of these
n
templates occurs. The 2-step unfolding process is expressed by
1
11
( , ) ( , ) ( , )
( ( . , ) ( . , ))
( ( . , ) ( . , ))
Ts T Tn
TT
Tn Tn
f Par op f Par op f Par op
f Par root op f Par progeny op
f Par root op f Par progeny op
 
 

(20)
where
op
is a unitary operator. For binary operators, Equation (20) becomes
11
1 1 1 1
11
(2,{ , }, ) (2,{ , }, ) (2,{ , }, )
(2,{ . , . }, ) (2,{ . , . }, )
(2,{ . , . }, )
(2,{
TAs TBs TA TB Tn TBn
TA TB TA TB
TB TA
TAn
f Par Par op f Par Par op f Par Par op
f Par root Par root op f Par root Par progeny op
f Par root Par progeny op
f Par
 




. , . }, ) (2,{ . , . }, )
(2,{ . , . }, )
TBn TAn TBn
TBn TAn
root Par root op f Par root Par progeny op
f Par root Par progeny op




(21)
3.3.2 Operator integration
Because the parameters and operators of the computation templates are all GA objects,
these objects can be directly involved in GA computations. It is straightforward to
implement GA-based computation templates in combination. Given computation
templates
1 1 2 2
( ), ( ), ( )
nn
f x f x f x
, there exist three types of integration patterns:
12
12
1 1 2 2
( ( ( )))
()
( ) ( ) ( )
nn
nn
nn
Operand combination
Operator combination
Judgment combination
f f f x
f f f x
f x f x f x
    
(22)
where
i
x
denotes the parameters. For the operand combination, the computation
templates are combined as operands of the other operators. This is the most common
integration style used to construct workflows. The term operator combination means that
Pre-print accepted for publication in IJGIS (Page 17)
the operators are combined before the computation. In contrast, judgment combination
uses the symbol

to control the computation behind
*
, indicating that the template
behind
*
can be implemented only when the judgments in

are verified.
1) Operand combination
According to the definition of the computation operators, the outputs of the
construction operators and conversion operators are the data parameters. To maintain
the geometric significance of the combining process, a combination always occurs among
the construction operators and conversion operators. The general expression is
21 12
( ) ( ,{ ( , , ), }, )
ii
op op A B
f f f m f n Par op Par op
(23)
where
1
op
can be any type of computation operator but
2
op
can only be a construction
operator or conversion operator.
2) Operator combination
The operator combination of computation templates is based on the operators’
characteristic that they are also GA objects. However, an operator combination can be
realized only between operators of the same type. Consider binary conversion operators,
for example, the two conversion operators
1t
op
f
and
2t
op
f
:
1
2
11
12
(2,{ , }, )
(2,{ , }, )
t
t
op t
op t
f f Par ParT op
f f Par ParT op
(24)
These two equations have the same
1
Par
and
t
op
, indicating that the same type of
conversion (
t
op
) is performed on
1
Par
with
1
ParT
and
2
ParT
. These two computation
templates can be combined as
1 1 2
(2,{ , }, )
t
op t
f f Par ParT ParT op
(25)
where
12
ParT ParT
is the GA product of
1
ParT
and
2
ParT
. Then, the two-step conversion
(
1
ParT
,
2
ParT
) is merged into a one-step conversion (
12
ParT ParT
). Combining translation
Pre-print accepted for publication in IJGIS (Page 18)
and rotation into one operator to compute motion is a typical example (see Equation (8)).
The combination is intuitive and can simplify the computation process.
3) Judgment combination
Judgement combination is defined as the combination that takes one template as
judgment and the other as a branch of the judgment:
12 12
( , , ) ( , , )
ii
op op A B
f f f n Par op f m Par op 
(26)
where
1
op
f
is a judgment that can provide a result of true or false only. Therefore, the
above equation means that “only if condition
1
op
f
is satisfied can
2
op
f
be computed. As
1
op
f
is used to judge conditions, the result of
1
op
f
must be semantic information (such as
the distance between
A
and
B
or the intersection relationship between
A
and
B
).
Thus, in Equation (26),
1
op
f
must be a calculation operator, and
2
op
f
can be any type of
operator. This combination is also important for reducing algorithm complexity by
filtering out calculations that cannot meet judgments.
3.4 Template algorithm construction
3.4.1 Data organization
As shown in Figure 5a, GIS data is organized in GA space with a hierarchical structure.
Four tables are used to store geometric primitives, including points, segments, polygons,
and polyhedrons. A multivector table stores the MV expressions of all primitives.
Furthermore, only the real coordinates of points are saved in the 3D CGA vector
3 ( )C GA p
(
p
denotes the point in Euclidean space); in other tables, the reference IDs are
recorded, helping to form the specific geometric structures. Using this organizational
strategy, data storage requirements are greatly reduced.
Pre-print accepted for publication in IJGIS (Page 19)
Figure 5b shows the class structure. CMultiV is the base class of the other GA
structures (e.g., point, line, rotor, translator, direct, and norm). These GA structures are
divided into three groups according to the types of their parameters. An MVTree class is
also constructed whose nodes are assigned using CMultiV. During the development of
the algorithms, the CMultiV class can be instantiated with specific data parameters.
Figure 5. Data organization
3.4.2 Script-based template algorithms
To simplify the development of template algorithms, a scripting-style programming
method is used based on the computing rules and integration patterns of the templates.
Five common structures are used for the development of templates (Table 3): 1) Op(Par)
refers to unitary computation, which is commonly used to compute or transform
parameters. 2) Op(Par1, Par2,…) has more than one parameter; thus, it is always used to
calculate relationships or construct new parameters. 3) Op1*Op2(Pars) is used for
combining template operators. 4) Op1(Op2(Pars) Pars) means the operand combination
of templates; the output of Op2() will be checked during runtime to ensure the validity of
Op1(). 5) <Op1 (Pars), Fun()>* Op2 (Pars) is used for the judgment combination of
templates, and Fun() is the judgment function of Op1().
Pre-print accepted for publication in IJGIS (Page 20)
Basic programming structures, such as looping and branching, are embedded in the
templates by parameter expansion and operator integration; therefore, the development
process can be much more straightforward. However, there still exist some complex
analysis structures that cannot be completely embedded; traditional structures such as a
for statement, an if/else statement, and a while statement are still required.
Table 3. The program scripts of templates
Expression
Example
Description
Op(Par)
Norm(ABC)
Computing the area of ABC
Op(Par1,Par2,…)
Meet(ABC, DEF)
Computing the intersection of ABC
and DEF
Op1*Op2(Pars)
Rotor*Translator(ABC, R, T) =
TRversor (ABC, R*T)
Combining the rotation and
translation of ABC
Op1(Op2(Pars),Pars)
Meet(ABC, Rotor(DEF,R))
Computing the intersection of ABC
and rotated DEF
<Op1 (Pars), Fun()>*
Op2 (Pars)
<meet2(ABCe,DEFe),
isPostivie()>*Meet(ABC, DEF)
Computing the intersection of ABC
and DEF only when the plane ABC
and DEF intersect
3.4.3 Script interpretation and algorithm generation
Script-based template algorithms are straightforward to develop; however, they must be
interpreted before being implemented. As Figure 6 shows, the interpretation can be
divided into two steps. First, the integration structure is interpreted to determine the basic
C++ structures and GA-based templates; then, the GA template structures are interpreted
to determine the GA operations. Lastly, the GA interpreter Gaalop (Hildenbrand 2013) is
used to interpret the computing structures of the GA operations and generate the
executable functions.
Pre-print accepted for publication in IJGIS (Page 21)
Figure 6 Script interpretation
During the interpretation of the integration structure, programming structures such
as loop structures and branch structures are constructed by first computing the template
relationships. Then, the implementation sequence of the templates is determined by the
computing sequence. For example, the templates acting as parameters must be computed
preferentially. During interpretation of the template structure, the parameters of the
template are examined to realize the linear or hierarchical unfolding of parameters.
Gaalop can be used to convert the GA scripts into C++ source code while taking
advantage of operator-optimization, the graphics-processing unit (GPU) and the parallel
nature of the GA algorithms (Hildenbrand 2013).
4 Case study: a universal intersection algorithm for vector data
4.1 Experiment description
Intersection of vector data is one of the most common calculations in GIS and is widely
used in overlap analysis, Boolean operations of geometric models, and vector data change
detection (Yu et al. 2015). To prove the universality of template-based geometric
computing, intersection experiments were performed with data having three different
dimensions (Table 4 and Figure 7). As shown in Figure 7, the 1D experiment used
experimental data with two line layers, while the 2D and 3D intersection experiments
Pre-print accepted for publication in IJGIS (Page 22)
used 2D triangulated irregular networks (TINs) and 3D TINs, respectively.
It is challenging to develop a universal intersection algorithm for different
dimensions using traditional methods. The reason is that traditional intersection
algorithms are frequently plagued by special cases (SCs) (Douglas 1990). Furthermore,
these SCs are significantly different in different dimensions (Worboys and Duckham
2004). The possible SCs in 1D, 2D, and 3D intersection calculations are listed in Table 5.
There are three issues with traditional methods leading to SCs. First, there is the
prejudgment of intersection relationships performed to determine the parameterized
intersection equations (e.g., SC1 and SC5). Second, there are inconsistencies in the
representation of geometric objects (e.g., SC2: when the segment l2 is vertical, the point
slope equation of lines is not applicable). The third issue is the presence of degeneracy
when the intersecting objects are collinear, coplanar, or intersect at some specified
location, such as along edges or vertices (e.g., SC3, SC4, and SC6).
Table 4. Experimental data used in three intersection experiments
Experiments
Data description
Elements
Data-1
Data-2
1D
Shape line files
Points
539
2902
Segments
528
2621
2D
Shape polygon files
(triangles)
Points
2776
1336
Segments
2082
1002
Triangles
694
334
3D
Wavefront OBJ files
Points
1089
1089
Segments
6144
6144
Triangles
2048
2048
Figure 7. Experimental data.
Pre-print accepted for publication in IJGIS (Page 23)
Table 5. Possible SCs when using traditional methods
Dimensions
Diagram of the SCs
Description of the SCs
1D
l2
l1
l2
l1
l2
l1
l2
l1
SC1SC2SC3
The general case
SC1: when the two segments are
parallel;
SC2: when one of the segments is
vertical to the X axis;
SC3: when the two segments are
collinear.
2D
The general case SC4
SC1-3: same as the 1D situation;
SC4: when one of the segments is
inside the other triangle.
3D
The general case SC6SC5
SC1-4: same as the 2D situation;
SC5: when the two triangles are
parallel;
SC6: when the two triangles are
coplanar.
4.2 Implementation of the template-based method
4.2.1 Unification of the SCs in the template-based method
In the template-based method, a unified representation exists of geometric objects in the
GA expressions. These SCs are contained in the GA-based parameters and can be
addressed by the template algorithms. Thus, the SCs can be unified using three strategies
(Figure 8):
1) For the prejudgment issue, the unified representation strategy of data parameters
and semantic parameters is used. In GA, the meet operator can evaluate the intersection
results even when the two geometric objects are disjoint (Roa et al. 2011). In this case,
the results are semantic parameters if the two objects are disjoint. However, if the two
geometric objects intersect, the results are data parameters. With a unified representation
strategy for these two parameters in GA, computations are implemented as a stable
process.
2) To accommodate inconsistencies in the parameter equations, a blade-based
representation strategy is used. Unlike the representation of objects in analytic geometry,
Pre-print accepted for publication in IJGIS (Page 24)
all objects in the geometric space are expressed as blades. That is, the blade-based
representations are independent of coordinates (Dorst et al. 2009). All representations are
consistent.
3) To resolve the degeneracy issue, an auto-degeneration strategy is used. In GA,
the geometric objects are represented by outer products that are independent of the
dimensions (Yuan et al. 2010). If an intersection results in a point, then the constructed
GA expression will be a point; if an intersection results in two points, then the constructed
GA expression using the outer product will be a line segment (point pair in CGA). That
is, the GA expressions are auto-degenerated.
Figure 8. The strategies used in template-based methods.
4.2.2 Implementation
A template-based algorithm was designed based on the above strategies (Figure 9). As
the pseudocode shows, the implementation of the template-based intersection analysis
was divided into two steps. First, the data represented in Euclidean space was transformed
into CGA space. The transformation process was realized by interpreting the data and
CGA object reorganization of the original data. The reorganization was realized with
union operators. As shown in Table 6, the shape of a line is represented by the linear
Pre-print accepted for publication in IJGIS (Page 25)
union of segments, a triangle is represented with a hierarchical union and the MVTree
structure that was formed, and the TIN is represented with the linear union of triangles.
Table 6. The CGA reorganization of input data
Input data
GA expression
Description
Segment
1 2 1 2
{}Sg e
   p p p p
1
p
and
2
p
are the points of the segment
Shape line
12 n
Sgs Sg Sg Sg  
i
Sg
indicates the i-th segment
Triangle
1 2 3 1 2 3
{}T e sg sg sg
    p p p
i
p
is the i-th point of the triangle
TIN/Shape polygon
12 n
TIN T T T   
i
T
indicates the i-th triangle
The second step was the intersection of geometric objects. According to the CGA
expressions of input data, triangles and segments are unfolded hierarchically as shown in
Equation (18); the shape of the line and the TIN are unfolded in a hybrid way as shown
by Equation (21). Because the geometric objects are uniformly expressed as GA
multivectors, GA operators can be directly implement the computation. Lastly, the output
of template algorithms are still multivectors, which must be translated back into
conventional GIS objects. Because the tree-like MVTree stores the topological structures,
the key point is the analysis of the multivectors nodes. The task is completed in three
steps: (1) separate the ParD/ParS and ParT based on the purity of dimensions. This step
is required because ParD and ParS are blades with only one dimension, while ParT is a
versor, which has at least two different dimensions. (2) If the results are blades, analyze
the geometry by the grade and the components of the blades. (3) Reconstruct the
topological structures of GIS objects using the outer product and union product.
The pseudocode of the intersection analysis based on traditional methods is also
illustrated in Figure 9. To make the algorithm more general, the most basic methods were
used without performing any optimization that could make the computing process more
complex. Because of the SCs in traditional methods, the conditional statements (If/Else)
frequently plagued the algorithms. Furthermore, the computing process became much
more complex as the number of dimensions increased (without function reuse, the
pseudocode of the 2D experiment and 3D experiment becomes much more complex). By
Pre-print accepted for publication in IJGIS (Page 26)
combining template operators in the template-based method, the computing process could
be implemented much more easily and clearly. Furthermore, the results suggest that the
template scripts have almost the same length as that of the pseudo code, which can greatly
improve efficiency when developing GIS algorithms.
Figure 9. The pseudocode of traditional methods and template-based methods. To simplify the
pseudo code of traditional methods, the functions were reused, e.g., IntersectL() in the 2D
experiment and IntersectTL() in the 3D experiment.
4.3 Results
The template method was implemented using a CGA-based unified spatiotemporal
analysis system (CAUSTA) (Yuan et al. 2010, 2013). The experimental environment was
a Lenovo T430 notebook with an Intel Core i5-2520M, 2.50 GHz CPU and 7.82 GB of
Pre-print accepted for publication in IJGIS (Page 27)
RAM. The graphics processing unit (GPU) was an NVIDIA NVS 5400M. The results of
the universal intersection analysis and the traditional methods are shown in Figure 10.
The intersecting points and segments were also evaluated (Table 7). The accuracy and
efficiency of the template-based method were verified by comparing the results with those
computed using traditional methods.
4.3.1 Accuracy verification
The accuracy of the template-based method was verified based on two aspects: spatial
consistency and statistical consistency. As shown in Figure 10, the intersection elements
(points and segments) computed using the template-based method and traditional
methods were located at the same spatial coordinates, which demonstrates the spatial
consistency of the two methods. The statistical consistency is shown in Table 7. Although
the original results computed using the template-based method and the traditional
methods (the bracketed numbers) were not the same, the results were identical after the
duplicated elements were removed, which suggests that the template-based method offers
the same accuracy as traditional methods. As noted by Yu et al., (Yu et al. 2015), duplicate
elements are caused by the separate calculation of segments in traditional methods; in our
method, the triangles were calculated only once.
Figure 10. The results of the intersection analysis. The results of template-based method and
traditional methods were overlapped.
Pre-print accepted for publication in IJGIS (Page 28)
Table 7. The intersecting results comparison (bracketed numbers refer to the original results with the
duplicated elements)
Methods
1D
2D
3D
Points
Points
Segments
Points
Segments
Template-based
method
69 (71)
3993(5893)
1455(1992)
548(973)
442(778)
Traditional
methods
69 (71)
3993(6967)
1455(3638)
548(2086)
442(1661)
4.3.2 Efficiency verification
The number of intersecting elements can also be used to verify the computing efficiency
of the template-based method. Here, we used the intersection results to denote the
computing counts. As shown in Figure 11, relative to the traditional methods, the
template-based method can perform with much lower computing counts, which suggests
that this method is more efficient in computing intersections. The improvement arises
because the template-based method is multi-dimensionally unified; thus, the SCs in
traditional methods that cause duplications can be avoided.
The redundant computing ratios were also evaluated by dividing the number of
duplicate elements by the number of original elements. According to the graph in
Figure 11, as the dimensions increased, the repeat ratio of the traditional methods
increased; however, the results for the template-based method remained stable. This result
also suggests that the template-based method is more suitable for higher-dimensional
applications.
Pre-print accepted for publication in IJGIS (Page 29)
Figure 11. Computing efficiency comparison. The column graph indicates the computing counts of
template-based method and traditional methods; the line graph indicates the redundant computing
radio.
5 Discussion
5.1 Potential application of this template-based approach
The universal intersection analysis case study shows that the template-based method has
two features in the domain of GIS computation and GIS analysis. From the aspect of GIS
computation, the templates are designed based on universal and calculable features of GA,
which makes the parsing and solving of GIS computing problems more flexible with data
of different dimensions. In the GIS analysis process, template-based algorithms are
unified, including template construction, template expansion, and template algorithm
construction. Therefore, template-based algorithms can be implemented in a stable way.
These features of the template-based method make it possible to handle different
types of data in a unified way, which can play an important role in sharing computational
models in GIS (Leitner et al. 2002). In addition, since the analysis process of the template-
based method is clear and concise, with predefined templates, developers can focus on
Pre-print accepted for publication in IJGIS (Page 30)
the analysis functions but leave the complex and trivial function implementation to be
addressed using the software. Therefore, the template-based method can also be used to
promote the development of human-GIS interaction (Gao and Goodchild 2013).
5.2 Directions for future improvements
Regarding template-based GIS computation, for a more natural association with GIS,
there are still three challenging issues that should receive attention in future work. The
first is the establishment of a robust GIS analysis workflow. Throughout the development
of the template-based GIS algorithms, the construction of the operator library and the
integration of templates were both based on the basic analysis process of GIS but not on
the architecture of GIS analysis. A well-established GIS analysis architecture is required
to make the template-based approach more general for GIS applications. The second is
the establishment of a complete operator library. The operator library used by our
computational model was based on GA operators, which provide only a basic spatial
metric and spatial relationship method. Future work is needed to extend this library to
provide more complete support for common GIS analysis. Third, other pure hardware
solutions, such as those based on the architecture of the Clifford coprocessor (Franchini
et al. 2009) and FPGAs (field-programmable gate arrays) for GA (Christian et al. 2003),
are also designed to speed up GA computation. Introduction of these technologies will
enhance the computational efficiency of the template-based method.
6 Conclusions
There is a need for GIS to accommodate complex multi-dimensional data of different
types; classic GIS methods cannot uniformly handle different data. The template-based
method is a promising and accepted alternative to data format conversion and cartography,
but this method has had little impact on how people access and analyze GIS data. We
Pre-print accepted for publication in IJGIS (Page 31)
designed a template-based GIS computation approach based on the framework of GA-
MUC. The motivation was the fact that operator-based methods in the GA-MUC
framework have not been completely implemented in GIS. Focusing on the use of the
multidimensional unity of GA expressions and GA operators, our computational model
follows a template approach to bring data flow and computing flow into conformance.
The computation templates connect the parameters and operators in GIS computations,
while the integration strategy is realized using a combination of different computation
templates. We also constructed implementations of template-based algorithms, including
data organization, the development of script-based algorithms and script interpretation.
An example application showed that the template-based approach is independent of the
dimensions of the data. The script-based algorithms are much simpler than traditional
methods. In addition, template-based algorithms are more suitable for higher-dimensional
applications and provide more convenience for parallel computation.
Acknowledgments
The National Outstanding Youth Fund (No. 41625004) and the National Natural Science
Foundation of China (41601417) supported this study. The support received by A-Xing
Zhu through the Vilas Associate Award, the Hammel Faculty Fellowship, the Manasse
Chair Professorship from the University of Wisconsin-Madison and through the “One-
Thousand Talents” Program of China is greatly appreciated.
References
Albrecht, J., 1995. Universal analytical GIS operations a task-oriented systematization of data
structure-independent GIS functionality. Geographic Information Research: Transatlantic
Perspectives, 577591.
Pre-print accepted for publication in IJGIS (Page 32)
Campbell, P., 2008. Editorial on special issue on big data: Community cleverness required. Nature,
455(7209), 1.
Christian, P., Christian, G., and Gerald, S., 2003. Implementation of a Clifford algebra coprocessor
design on a field programmable gate array. In Ablamowicz, R. (Ed), 6th Int. Conf. on Clifford
Algebras and Applications, Cookeville, TN, Birkhäuser, Boston.
Cova, T.J. and Goodchild, M.F., 2002. Extending geographical representation to include fields of
spatial objects. International Journal of Geographical Information Science, 16 (6), 509532.
mara, G. et al., 2005. Towards a Generalized Map Algebra: Principles and Data Types. VII
Simpósio Brasileiro de Geoinformática, 6681.
Douglas D., 1990. It makes me so CROSS. In Peuquet, D. J. and Marble D. F. (Eds), Introductory
Readings in Geographic Information Systems. London: Taylor & Francis.
Dorst, L., Fontijne, D., and Mann, S., 2009. Geometric algebra for computer science: an object-
oriented approach to geometry. San Francisco: Morgan Kaufmann Publishers.
Franchini, S., et al., 2009. An embedded, FPGA-based computer graphics coprocessor with native
geometric algebra support. Integration the VLSI Journal, 42(3): 346355.
Galton, A., 2003. Desiderata for a spatio-temporal geo-ontology.In: W. Kuhn, ed. Spatial Information
Theory. Foundations of Geographic Information Science, Springer-Verlag Berlin Heidelberg, 1
12.
Gao, S. and Goodchild, M.F., 2013. Asking spatial questions to identify GIS functionality. In: Fourth
International Conference on Computing for Geospatial Research and Application, IEEE. 106110.
Goodchild, M. F., 2011. Spatial thinking and the GIS user interface. Procedia - Social and Behavioral
Sciences, 21: 39.
Goodchild, M. F., Yuan, M., and Cova, T. J., 2007. Towards a general theory of geographic
representation in GIS. International Journal of Geographical Information Science, 21(3), 239260.
Hildenbrand, D., 2013. Foundations of geometric algebra computing. New York: Springer.
Hitzer, E., Nitta, T., and Kuroe, Y., 2013. Applications of Clifford’s Geometric Algebra. Advances in
Applied Clifford Algebras, 23 (2), 377404.
Huang, B., 2003. An object model with parametric polymorphism for dynamic segmentation.
International Journal of Geographical Information Science, 17 (4), 343360.
Kjenstad, K., 2006. On the integration of objectbased models and fieldbased models in GIS.
International Journal of Geographical Information Science, 20(05), 491509.
Pre-print accepted for publication in IJGIS (Page 33)
Leitner, H., et al., 2002. Models for making GIS available to community organizations: dimensions of
difference and appropriateness. In: D. Weiner, ed. Community participation and geographic
information systems. London: Taylor and Francis, 3752.
Li, X., and Hodgson, M. E., 2004. Vector Field Data Model and Operations. GIScience and Remote
Sensing, 41(1), 124.
Luo, W., et al., 2016. A hierarchical representation and computation scheme of arbitrary-dimensional
geometrical primitives based on CGA. Advances in Applied Clifford Algebras, 119,
doi:10.1007/s00006-016-0697-3.
Manola, F. and Dayal. U., 1986. PDM: an object-oriented data model. International workshop on
Object-oriented database systems. IEEE Computer Society Press, 1825.
McMaster, R. B. and Usery, L. E., 2004. A research agenda for geographic information science. Boca
Raton, FL: CRC Press.
ller, T., 1997. A fast triangle-triangle intersection test. Journal of Graphics Tools, 2 (2), 2530.
Roa, E., et al. 2011. GPU collision detection in conformal geometric space. In Silva, D. F. et al. (Eds),
V IberoAmerican symposium in computer graphics SIACG: 153156.
Perwass, C., 2009. Geometric Algebra with Applications in Engineering. Berlin, Heidelberg: Springer-
Verlag.
Rhind, D.W. and Green, N.P.A., 1988. Design of a geographical information system for a
heterogeneous scientific community. International journal of geographical information systems, 2
(2), 171189.
Tomlin, C.D., 1990. Geographic information systems and cartographic modeling. Prentice Hall.
Wang, S.A., 2010. CyberGIS framework for the synthesis of cyberinfrastructure, GIS, and spatial
analysis. Annals of the Association of American Geographers, 100(3), 535557.
Wang, X., and Pullar, D., 2005. Describing dynamic modeling for landscapes with vector map algebra
in GIS. Computers and Geosciences, 31(8), 956967.
Winter, S. and Frank, A. U., 2000. Topology in raster and vector representation. GeoInformatica, 4(1),
3565.
Worboys M. F. and Duckham M., 2004. GIS: a computing perspective. CRC press, 168169.
Yu, Z., et al., 2013. Clifford algebra-based structure filtering analysis for geophysical vector fields.
Nonlinear Processes in Geophysics, 20 (4), 563570.
Yu, Z., et al., 2015. Change detection for 3D vector data: a CGA-based Delaunay-TIN intersection
approach. International Journal of Geographical Information Science, 29(12): 23282347.
Pre-print accepted for publication in IJGIS (Page 34)
Yuan, L., et al., 2010. CAUSTA: Clifford algebra-based unified spatio-temporal analysis.
Transactions in GIS, 14(S1): 5983.
Yuan, L., et al., 2011. A 3D GIS spatial data model based on conformal geometric algebra. Science
China Earth Sciences, 54(1), 101112.
Yuan, L., et al., 2013. Geometric algebra for multidimension-unified geographical information system.
Advances in Applied Clifford Algebras, 23(2), 497518.
Yuan, L., et al., 2014. Multidimensional-unified topological relations computation: A hierarchical
geometric algebra-based approach. International Journal of Geographical Information Science,
28(12), 24352455.
... Hestenes and Li et al. develop the conformal geometric algebra (CGA) that is based on Clifford geometric algebra, which further expands the application range of geometric algebra [21,22]. The CGA has been extensively applied in multiple fields, such as computer geometrics [23,24], computer vision [25][26][27], and multidimensional geographical spatial analysis [28][29][30][31][32][33]. ...
Article
Full-text available
Vertex concavity-convexity detection for spatial objects is a basic algorithm of computer graphics, as well as the foundation for the implementation of other graphics algorithms. In recent years, the importance of the vertex concavity-convexity detection algorithm for three-dimensional (3D) spatial objects has been increasingly highlighted, with the development of 3D modeling, artificial intelligence, and other graphics technologies. Nonetheless, the currently available vertex concavity-convexity detection algorithms mostly use two-dimensional (2D) polygons, with limited research on vertex concavity-convexity detection algorithms for 3D polyhedrons. This study investigates the correlation between the outer product and the topology of the spatial object based on the unique characteristic that the outer product operation in the geometric algebra has unified and definitive geometric implications in space, and with varied dimensionality. Moreover, a multi-dimensional unified vertex concavity-convexity detection algorithm framework for spatial objects is proposed, and this framework is capable of detecting vertex concavity-convexity for both 2D simple polygons and 3D simple polyhedrons.
... Apparently, there is already clear evidence that CGA-based topological relations calculation has certain advantages for multidimensional unified topological relation computation [30][31][32][33][34][35][36][37]. Yuan first adopted the Meet operator to determine the topological relations, developed the multidimensional unified topological relations calculation between triangles, and revealed a more complete topological relations classification than point set topological relation models (e.g., intersection models) [30]. ...
Article
Full-text available
Maintaining topological consistency is a crucial issue for 3D cadastral modeling as this helps to represent the cadastral boundary clearly and accurately. As a result, 3D cadastral data models are mainly built on the basis of topological models that allow topology to be expressed clearly. However, topological models in Euclidean space cannot directly represent objects’ geometric information. As geometric information is important in 3D spatial analysis, 3D cadastral data models based on topological models cannot realize topological calculation and analysis. Previous research has proved that geometric and topological information for cadastral objects can be integrated and represented by conformal geometric algebra (CGA) expressions. This paper aims to realize 3D topological analysis in the cadastral field using CGA’s advantages in geometric relations computation. A calculation framework is designed on the basis of the outer product to achieve the purpose of multidimensional unity for 3D cadastral topological analysis in this paper. A calculation framework of topological relations between a boundary point (or a boundary line) and a cadastral parcel is developed. A total of 13 types of topological relations between a boundary point and a cadastral parcel and 48 types of topological relations between a boundary line and a cadastral parcel are obtained. The study indicates that the advantages of CGA in multidimensional unified representation and calculation can be used to solve problems encountered by topological models in Euclidean space.
... Geometric algebra is considered to be a suitable solution for unified representation of multidimensional objects integrating both geometric and topological information expression in a single data model [27]. Research for geographical representation and analysis has been carried out in recent years indicating the advantages of geometric algebra in geographical expression and analysis [8,9,24,25,28,29]. In order to solve the problems encountered by 3D cadastral data modeling based on topological models in Euclidean geometry, Zhang proposed a prototype of a 3D cadastral data model based on conformal geometric algebra (CGA) [30]. ...
Article
Full-text available
Topological models in Euclidean space are difficult for spatial analysis because of the lack of direct representation of geometric three-dimensional (3D) object information. A 3D cadastral data model in the form of boundary representation based on conformal geometric algebra (CGA) is proposed to realize the integrated representation of geometric and topological information based on previous research. On the basis of the 3D cadastral data model based on CGA and basic geometric operators, self-defined geometric algebraic operators are designed using the advantages of geometric algebra in spatial topological calculation. A computation framework for cadastral parcel topological error detection is put forward based on those self-defined geometric operators. A case study is designed to verify the feasibility of topological error detection methods proposed in this paper. This study is an expansion of research for a 3D cadastral data model based on CGA.
... This is realized through the integration of geographic geometry model and algebraic analysis. With such integration, the complex construction, description and integration of GIS algorithms is simplified to formalized GIS analysis and its template-based implementations (Luo et al. 2017a). Adapted to formalized GA expressions, the calculations of metrics, geometry, and topological relationships are performed with Boolean logic-style GA products (i.e. ...
Article
Full-text available
Due to the increasing complexity of GIS data and service modes, there is an urgent need for the next generation of GIS with new representation and computation methods. A number of spatiotemporal models, analytical and visualization methods, as well as system architectures have been proposed. However, previous studies failed to integrate basic geographical theories with latest computing technologies. Without a well-defined body of underlying theories, new models and methods are limited in scope and not able to meet the ultimate requirements of the next-generation GIS, which demands multidimensional, highly dynamic and semantic-rich representations and computational power. Geometric algebra (GA) provides an ideal tool for the expression and calculation of multidimensional geometric objects, and has proved to be effective for GIS representation and computation applications in our previous studies. We propose to use GA as the basic mathematical language for the establishment of the next-generation GIS. We present the framework of a GA-based next-generation GIS and describe the representation space, data structure, and computational models in this paper. A few issues that have not been sufficiently addressed by previous studies are discussed in detail with potential solutions proposed. These include multi-scale representations, modelling of geographic processes, simulation of geographic interactions, and multi-element modelling. The GA-based next-generation GIS uses an integrated structure consisting of a theoretical architecture, model for information expression, and computational methods. Implementation of the approach aims to improve GIS capacities in applications such as global spatiotemporal modelling and analysis, regional geographic modelling and simulation, smart city applications, and many others.
... It would also be worthwhile to study the method for supplementing the scale data to POI through other Internet datasets. (3) The spatial subdivision method of Tencent LBS data can improve to template-based GIS computation, such as a geometric algebra approach [35][36][37][38][39][40][41]. In this paper, the model provides a new and feasible Internet big data idea for the effective verification of residential area planning, which can be effectively applied to the evaluation of the service facilities in the micro-space residential areas. ...
Article
Full-text available
The spatial allocation rationality of the service facilities of residential areas, which is affected by the scope of the population and the capacity of service facilities, is meaningful for harmonious urban development. The growth of the internet, especially Internet map and location-based service (LBS) data, provides micro-scale knowledge about residential areas. The purpose is to characterize the spatial allocation rationality of the service facilities of residential areas from Internet map and LBS data. An Internet map provides exact geographical data (e.g., points of interests (POI)) and stronger route planning analysis capability through an application programming interface (API) (e.g., route planning API). Meanwhile, LBS data collected from mobile equipment afford detailed population distribution values. Firstly, we defined the category system of service facilities and calculated the available service facilities capacity of residential areas (ASFC-RA) through a scrappy algorithm integrated with the modified cumulative opportunity measure model. Secondly, we used Thiessen polygon spatial subdivision to gain the population distribution capacity of residential areas (PDC-RA) from Tencent LBS data at the representative moment. Thirdly, we measured the spatial allocation rationality of service facilities of residential areas (SARSF-RA) by combining ASFC-RA and PDC-RA. In this case, a trial strip census, consisting of serval urban residential areas from Wuxi City, Jiangsu Province, is selected as research area. Residential areas have been grouped within several ranges according to their SARSF-RA values. Different residential areas belong to different groups, even if they are spatially contiguous. Spatial locations and other investigation information coordinate with these differences. Those results show that the method that we proposed can express the micro-spatial allocation rationality of different residential areas dramatically, which provide a new data lens for various researchers and applications, such as urban residential areas planning and service facilities allocation.
... Such implementations are expected to integrate with existing software systems with minimal issues. This is especially true for large-scale systems related to, for example, Big Data [5] and Geographical Information Systems [47,52,74]. In such large-scale systems, the need for integrating several GAs to model and solve problems is to be expected [5,74]. ...
Article
Full-text available
There is a steadily increasing interest in applying Geometric Algebra (GA) in diverse fields of science and engineering. Consequently, we need better software implementations to accommodate such increasing demands that widely vary in their possible uses and goals. For large-scale complex applications having many integrating parts, such as Big Data and Geographical Information Systems, we should expect the need for integrating several GAs to solve a given problem. Even within the context of a single GA space, we often need several interdependent systems of coordinates to efficiently model and solve the problem at hand. Future GA software implementations must take such important issues into account in order to scale, extend, and integrate with existing software systems, in addition to developing new ones, based on the powerful language of GA. This work attempts to provide GA software developers with a self-contained description of an extended framework for performing linear operations on GA multivectors within systems of interdependent coordinate frames of arbitrary metric. The work explains the mathematics and algorithms behind this extended framework and discusses some of its implementation schemes and use cases. If properly implemented, the extended framework can significantly reduce the memory requirements for implementing Geometric Algebras with larger dimensions, especially for systems based on the symbolic processing of multivector scalar coefficients.
Article
Present changes in land property originate from sizable density growth of the urban environment, led by the high demand of land, especially in industrial and commercial centers. This urbanization development - above and below ground - causes an acute need for developing land administration systems to accommodate current and future demands in land management on the one hand, and urban planning perspectives on the other hand. One approach calls for the design of 3D cadastral registration and management systems, which are planned to replace the well-established 2D systems. One of the key processes that these systems should handle for various cadastral workflows, such as parcel insertion and partition, is accurately determining the spatial topological relationship that exist between 3D Volumetric Parcels. These processes are relatively simple to implement between non-complex 3D Volumetric Parcels, but the reality is that the 3D Volumetric Parcels are mostly geometrically complex. In this paper, we suggest methods and processes based on simplifying unbounded, hollowed, curved, and concaved 3D Volumetric Parcels to enable their robust and accurate spatial relationship determination. As part of the comprehensive solution, we propose a subdivision algorithm used for concaved 3D Volumetric Parcels. We have analyzed the various processes on a realistic simulation, proving that the proposed processes were accurate in handling complex 3D Volumetric Parcels by automatically validating their spatial relatioships. We believe that implementing and embedding the developed set of tools in 3D land administration systems is a step forward in the realization of comprehensive land processes that are essential for the automatic management of our complex and developing urbanization.
Article
Full-text available
Resolving the conflicts between the high dimensionality of geometry representation and the linear organization and storage of geometrical objects in computer memories plays a key role in spatial data structure constructions. In this paper, a new data structure MVTree is developed based on geometric algebra to support the unified organization and computation of geometrical primitives. The MVTree is a tree-like data structure which has a dimensional hierarchical structure generated by outer product. Multidimensional geometrical primitives is represented as the combination of blades stored in the nodes of MVTrees. The geometric computation between different geometrical objects is operated with GA operators with a judgement-based hierarchical computation. Applications of the MVTree are demonstrated by a topological relation computation and a Delaunay-TIN intersection. The results suggest that the MVTree structure can support unified representation of arbitrary-dimensional geometrical primitives, and can integrate data organization and computation in a unitary structure as well. The application of the new MVTree data structure can not only reduce the complexity of data architectures but also inherit the power of geometric algebra computing to improve the processing ability of computer graphic software.
Article
Full-text available
In this paper, conformal geometric algebra (CGA) is introduced to construct a Delaunay–Triangulated Irregular Network (DTIN) intersection for change detection with 3D vector data. A multivector-based representation model is first constructed to unify the representation and organization of the multidimensional objects of DTIN. The intersection relations between DTINs are obtained using the meet operator with a sphere-tree index. The change of area/volume between objects at different times can then be extracted by topological reconstruction. This method has been tested with the Antarctica ice change simulation data. The characteristics and efficiency of our method are compared with those of the Möller method as well as those from the Guigue–Devillers method. The comparison shows that this new method produces five times less redundant segments for DTIN intersection. The computational complexity of the new method is comparable to Möller’s and that of Guigue–Devillers methods. In addition, our method can be easily implemented in a parallel computation environment as shown in our case study. The new method not only realizes the unified expression of multidimensional objects with DTIN but also achieves the unification of geometry and topology in change detection. Our method can also serve as an effective candidate method for universal vector data change detection.
Article
Full-text available
This article presents a geometric algebra-based model for topological relation computation. This computational model is composed of three major components: the Grassmann structure preserving hierarchical multivector-tree representation (MVTree), multidimensional unified operators for intersection relation computation, and the judgement rules for assembling the intersections into topological relations. With this model, the intersection relations between the different dimensional objects (nodes at different levels) are computed using the Tree Meet operator. The meet operation between two arbitrary objects is accomplished by transforming the computation into the meet product between each pair of MVTree nodes, which produces a series of intersection relations in the form of MVTree. This intersection tree is then processed through a set of judgement rules to determine the topological relations between two objects in the hierarchy. Case studies of topological relations between two triangles in 3D space are employed to illustrate the model. The results show that with the new model, the topological relations can be computed in a simple way without referring to dimension. This dimensionless way of computing topological relations from geographic data is significant given the increased dimensionality of geographic information in the digital era.
Article
Full-text available
The completeness and versatility of spatial data models and associated operations serve as the foundation of any GIS. The raster data model and the carto-graphic modeling framework provide the representation and operations for analyz-ing geographic fields. The current GIS raster data model and cartographic modeling operations are limited in that all the attributes measured at each location in fields are scalar quantities. This research proposes a new raster data model for representation and analysis of spatially distributed vector measurements. It extends the carto-graphic modeling framework by identifying new operations specific to vector fields and by extending existing operations to vector fields. Applications of the data model and operations are also provided.
Book
A close relationship exists between GIS and numerous applications, including cartography, photogrammetry, geodesy, surveying, computer and information science, and statistics, among others. Scientists coined the term “geographic information science (GIScience)" to describe the theory behind these fields. A Research Agenda for Geographic Information Science extensively details the issues and fundamental scientific problems that must be solved if the use of GIS in these and other fields is to advance. Immediately following the founding of the University Consortium for Geographic Information Science (UCGIS), the group identified in a Research Agenda the topics that represented major challenges to the GIS research community. The first chapter of this book delivers an introduction to the agenda and to the collective guidance that the agenda provides to researchers. Chapters 2-10 discuss nine original research challenges. Chapters 11-14 provide the basis of the agenda’s four “Emerging Themes.” Each chapter, written by researchers involved in the conception of the topics, discusses basic research elements, the UCGIS approach, the need for the National research agenda, contributions to knowledge and society, and offers a complete set of references. The final section draws general conclusions about the UCGIS approach and the defined research challenges.
Article
GIS: A Computing Perspective, Second Edition, provides a full, up-to-date overview of GIS, both Geographic Information Systems and the study of Geographic Information Science. Analyzing the subject from a computing perspective, the second edition explores conceptual and formal models needed to understand spatial information, and examines the representations and data structures needed to support adequate system performance. This volume also covers the special-purpose interfaces and architectures required to interact with and share spatial information, and explains the importance of uncertainty and time. The material on GIS architectures and interfaces as well as spatiotemporal information systems is almost entirely new.The second edition contains substantial new information, and has been completely reformatted to improve accessibility. Changes include: * A new chapter on spatial uncertainty* Complete revisions of the bibliography, index, and supporting diagrams* Supplemental material is offset at the top of the page, as are references and links for further study* Definitions of new terms are in the margins of pages where they appear, with corresponding entries in the index