Vector Field Data Model and Operations

Vector Field Data Model and Operations
Xingong Li
Department of Geography, University of Kansas, Lawrence, Kansas 66045
Michael E. Hodgson
Department of Geography, University of South Carolina, Columbia,
South Carolina 29208
Abstract: The completeness and versatility of spatial data models and associated
operations serve as the foundation of any GIS. The raster data model and the cartographic modeling framework provide the representation and operations for analyzing 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 cartographic 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.
INTRODUCTION
Data models and operations are the essence of any GIS. The representation and
analysis capabilities of GIS are often limited by the completeness and versatility of its
data models and operations. This research proposes a data model and associated operations to represent and analyze geographic fields where the measurement at each
location may be a vector. Examples of such fields are wind and flow fields.
The raster data model is one approach for representing geographic fields. It represents fields through a tessellation of space as locations (also known as cells), each
of which is associated with a value indicating the class, rank, identity, or quantity of
the phenomenon that occupies it. The proposed data model tessellates space the same
way as the raster data model does. However, the value at each cell in the proposed
data model is a vector instead of a scalar.
Operations are defined and organized following the cartographic modeling
framework. Cartographic modeling is a framework that defines and organizes analytic
GIS operations in the raster data model. This framework attempts to generalize and
standardize a modeling language for geographic information systems (Tomlin, 1990).
It decomposes spatial analytic tasks into elementary operations that can be flexibly
recombined. Primitive operations are grouped into local, neighborhood (i.e., focal),
and zonal classes based on the spatial scope of the operations.
1
GIScience and Remote Sensing, 2004, 41, No. 1, pp. 1-24.
Copyright © 2004 by V. H. Winston & Son, Inc. All rights reserved.
2
LI AND HODGSON
In the following sections, vector measurements and vector fields are introduced,
followed by a discussion of operations on vector fields. We then demonstrate the
application of the proposed data model and operations, followed by conclusions.
VECTOR MEASUREMENTS AND VECTOR FIELDS
In the raster data model, the quantities that can be measured at each location are
characterized by only one piece of information—their magnitude. Such quantities are
called scalar quantities or simply scalars. Traditionally, scalar quantities are further
classified into four levels of measurements—nominal, ordinal, interval, and ratio
(Stevens, 1946). Distinctions among these four levels become quite significant when
these values are processed mathematically (Tomlin, 1990). The inadequacy of
Stevens’ levels of measurements for other quantities has been pointed out by Coombs
(1964) and Chrisman (1997).
In addition to scalar quantities, there are quantities that require two “pieces” of
information, such as their magnitude and direction. These quantities are called vector
quantities or simply vectors. For example, the wind velocity at a point is characterized by both direction and the speed of wind. Data describing the movement of mass
or people across space, such as overland or groundwater flow, are often measured
using vectors. Spatially distributed vector quantities are called vector fields.
Taxonomy of Fields
A taxonomy of fields could be based on the concept of function. A function in
mathematics is a mapping from a domain to a range. Let f be a function whose
domain is a subset A of Rn and with a range contained in Rm, where Rn refers to the set
of all ordered n-tuples (x1, x2, …, xn) of real numbers. To each x = (x1, x2, …, xn) ∈ A,
f assigns a value f(x), a m-tuple in Rm. A function f is a scalar-valued function if m =
1, and a vector-valued function if m > 1. Functions from Rn to Rm are not just mathematical abstractions; they arise naturally in problems studied in all sciences. For
example, to specify the temperature T in a region A of a space requires a function f:
A ⊂ R3 → R (n = 3, m = 1). Since m = 1, f is a scalar-valued function. To specify the
instantaneous velocity of the surface water in a river requires a mapping f: A ⊂ R2 →
R2 (n = 2, m = 2) and because m > 1, f is a vector-valued function.
From the function definition and examples above, fields are essentially mathematical functions that map points in spatial domains to ranges. The spatial domain
may vary from one-dimension to n-dimension space, although this discussion will
focus on a two-dimensional spatial domain. The range can be a scalar or a vector of
two or more dimensions. Based on this functional view, fields can be classified into
two categories—scalar and vector fields—depending on whether the dimension of
their ranges is one- or two-dimensional. Scalar fields could also be further classified
into integer and float fields depending on whether the range (value) is an integer or a
floating-point number. Vector fields can also be further classified into two-dimensional and three-dimensional vector fields depending on the dimensionality of the
vectors (Fig. 1).
VECTOR FIELD DATA MODEL
3
Fig. 1. Taxonomy of fields.
Research on Vector Fields
Theory on fields, in physics, is well developed (McQuistan, 1965). Most fields in
physics and engineering could be expressed as pure mathematical functions. Field
analysis becomes the manipulation of mathematical functions. For most geographical
fields, the fact that the value at a point cannot be evaluated from a mathematical function makes it impossible to represent them as pure mathematical functions. The mapping (or function) from a spatial domain to a range, therefore, has to be explicitly
stored as a tuple consisting of a position and a value. Most geographical fields (e.g.,
raster) are stored functions because the mappings are stored explicitly. Stored functions require a sampling or tessellation of the spatial domain to accommodate the discrete nature of computer systems. Analysis on stored functions is different from
manipulations on pure mathematical functions.
Geographers make use of directional statistics for a variety of studies, including
patterns of mobility (Clark, 1971; Costanzo et al., 1986), cartography comparisons
(Tobler, 1978), digital elevation modeling (Hodgson, 1995, 1998; Hodgson and Gaile,
1996), vector interpolation, solar insolation (Hodgson and Gaile, 1999), and evaluation of sand dunes (Blumberg and Greeley, 1996). Directional and vector statistical
primers also have appeared in the geographical literature (Gaile and Burt, 1980).
Most of these studies, however, deal with directional vectors where the vector has a
constant, unit magnitude. Whole vector (i.e., vector has non-unit magnitude) analysis
appears in the study of wind, currents, and other fluids. Weber and Blanton (1980)
evaluated vector means and Hsueh and Romea (1983) correlated wind velocities.
Hardy and Walton (1978), Legler (1983), and Servain and Legler (1986) computed
the principal components of wind fields. Expanding on these latter studies, Klink and
Willmott (1989) demonstrated that isolated analysis of the surface wind field component (i.e., direction or speed) could lead to incomplete or biased results and interpretations. Hanson et al. (1992) introduced vector correlation among vector fields into the
geographic literature and identified a particularly useful vector correlation coefficient.
Klink (1998) later reviewed the complementary use of scalar, directional, and vector
statistics with an application to surface wind. Despite the potential for widespread
applicability, the use of spatially distributed vector data in the geographic research
community is still uncommon. Hanson et al. (1992) found that “our limited use of
directional and vector statistics reveals more about the relative unavailability of such
4
LI AND HODGSON
methods than about the number of geographic problems that could make appropriate
use of such statistics.”
Kemp (1997a, 1997b) proposed the possible usefulness of a vector field data type
as a natural extension to scalar fields in the integration of GIS and environmental
modeling. The vector field was discussed under the general terminology of physics.
Operations on vector fields in a geographic context, however, were not further
explored. Also, in the synthesis of GIS and environmental modeling, Maidment
(1993) noticed that it would be helpful to have functions to analyze vector fields of
motion, such as the divergence, gradient, and curl of fields (McQuistan, 1965). Tauxe
(1994) noted the lack of vector field constructs at the same level as cartographic modeling operations. Van Deursen (1995) and Wesseling et al. (1996) recognized the
directional field, local drain direction, and vector field data types in their efforts to
develop dynamic modeling in a GIS. In their work, a directional field is a unit vector
field and a local drain direction field is a discrete direction field. Operations on vector
fields and the applications of the data type, however, were not discussed in their
research.
Hodgson and Gaile (1996) identified the lack of appropriate analysis functions in
GIS to deal with directional field data. Based on the existing constructs in cartographic modeling and the fundamentals of directional statistics, Hodgson and Gaile
(1999) implemented the fundamental directional operators and demonstrated their
usefulness in several applications. Their implementation required a decomposition of
vectors into fields of vector components (i.e., x, y, and z of a 3D vector). Although
implementing the fundamental statistical operations on directional fields by using
constructs from cartographic modeling and component scalar fields is elegant, it may
not be appropriate to implement complex operations such as correlation between two
vector fields. In addition, the authors noted there is no formalized method for encapsulation of modeling code segments into operators. The provided implementation
must rely on separation of embedded models using separate script files (Hodgson and
Gaile, 1999).
Current GIS and image processing systems also lack the data model and operations for vector fields. Some GIS and image processing systems do provide ad hoc
functions for topography related problems, such as topographic normalization and
surface distance calculation, where vector concepts are used. However, those functions are strictly limited to specific problems and are not incorporated in the cartographic modeling framework. In fact, users of the GIS and image processing systems
will note that no operations (such as the LocalMean of two vector fields) are accessible in those software packages. Vector classes (or data types) were introduced only
recently into some commercial GIS. However, the vector classes refer to point vectors. There are other data types, such as grid stacks and image catalogs, where vector
fields could be stored. However, none of them provides operations on vector fields.
The lack of data models and operations for vector fields has forced researchers to
handle vector fields using data models and operations only appropriate for scalar
fields. The lack of analytical tools for spatially distributed vector measurements was
noted and the concept of vector field was proposed in the literature. However, except
for the research on surface orientation and wind direction, operations on vector fields
have not been fully explored. The next section discusses representations of vector
fields and the extension of the cartographic modeling framework to vector fields.
VECTOR FIELD DATA MODEL
5
REPRESENTATIONS OF AND OPERATIONS ON VECTOR FIELDS
Representations of vector fields start with vector representations. We then briefly
introduce vector algebra and how vector calculus is used to manipulate vector fields
in physical science and engineering, followed by operations for geographic vector
fields based on the cartographic modeling framework.
Representations of Vector Fields
A vector, defined geometrically as a directed line segment, begins at the origin of
a coordinate system and terminates at a point in the coordinate system. The terminal
point uniquely describes the vector. The problem of representing vectors, therefore,
becomes the problem of describing the positions of points in space. Two-dimensional
vectors can be represented as pairs of numbers, (x, y) in the Cartesian coordinate system and (p, θ) in the polar coordinate system. Three-dimensional vectors can be represented as triples of numbers, (x, y, z) in the Cartesian, (p, θ, z) in the cylindrical, and
(p, θ, ø) in the spherical coordinate system (McQuistan, 1965). Vectors are typically
represented in the Cartesian coordinate system mainly because the mathematics for
vector manipulation (vector algebra) is based on the system.
Various data models, such as rasters, TINs, and isolines, can be used to represent
scalar fields (Goodchild, 1992). Although some of the data models can be extended to
vector fields (Kemp 1997a, 1997b), the raster representation is still the simplest and
most practical representation for vector fields. In the raster representation, a vector
field is an assembly of vectors, one for each cell. Assuming the vectors are in the
Cartesian coordinate system, this assembly of vectors can be stored in at least two
ways. A vector field can be stored as a sequence of two-number or three-number
tuples as we traverse the cells of the vector field, left to right and top to bottom. This
is similar to the band interleaved by pixel file (BIP) format in digital image processing (Jensen, 1996). An alternate approach would store the vector field as a stack of
two or three scalar fields which store the x, y, or the z components of the vectors
(Hodgson and Gaile, 1999). Stacks of raster layers have been used to represent multivalued rasters and time-series images.
Vector Algebra and Vector Calculus
In general, vector algebra assumes vectors are represented in the Cartesian coordinate system (McQuistan, 1965). Vectors in three-dimensional space are used as
examples in the following discussion.
Vector a in 3D can be represented by an ordered triple (a1, a2, a3), where a1, a2,
a3, are the x, y, z coordinates of the corresponding point. The length (also called magnitude and norm) of vector a is defined as || a || = sqrt(a12 + a22 + a32). Given two
vectors, a = (a1, a2, a3) and b = (b1, b2, b3) are equal if and only if a1 = b1, a2 = b2, and
a3 = b3. The sum and difference of vector a and b are defined as a + b = (a1 + b1, a2 +
b2, a3 + b3) and a – b = (a1 – b1, a2 – b2, a3 – b3), respectively. Vector addition is both
commutative and associative.
Given a scalar m and a vector a, the scalar multiplication of vector a by scalar
m is defined as ma = (ma1, ma2, ma3). Given two vectors, a = (a1, a2, a3) and b = (b1,
6
LI AND HODGSON
b2, b3), the dot or inner product of vector a and b is defined as a scalar a · b = a1b1 +
a2b2 + a3b3. The cross product or vector product of vector a and b is defined as a vector a × b = (a2b3 – a3b2, a1b3 – a3b1, a1b2 – a2b1). It can be proven that the dot product
of vector a and b can also be written as a · b = || a || || b || cos(θ), where θ is the angle
between vector a and b and 0 ≤ θ ≤ π. From this definition, if vector a and b are nonzero, the angle θ between them can be expressed as θ = arccos (a · b/(|| a || || b ||)).
Division of a vector a by a scalar m can be defined as the multiplication of a by
the scalar 1/m. Given two vectors, a = (a1, a2, a3) and b = (b1, b2, b3), the division
between them leads to an ambiguous result except when vector a and b are parallel.
Vector division is permissible only when the vectors are parallel.
The mean vector characterizes the central tendency of a set of vectors. Let a be a
3D vector. A sample has n observation vectors denoted by a1, a2, …, an, where ai =
[ai1, ai2, ai3]. The sample mean vector a can be obtained as a = 1/n Σ ai = [ a 1, a 2, a 3]
where a i is the mean of the n observations on the ith element, and 1 ≤ i ≤ 3. Since it is
impossible to order points beyond a one-dimensional linear scheme, the concepts of
maximum, minimum, and ordering are not applicable to vectors.
Vector fields in physical science and engineering are described as vector-valued
mathematical functions. Vector calculus is the mathematical language for manipulating the functions. The basic concepts of vector calculus are similar in many respects
to the corresponding principles in scalar calculus. There is also a close relationship
between scalar and vector fields through calculus.
Differentiation and integration are central to both scalar and vector calculus. Differentiation of a scalar field enables us to locate maximum and minimum and, more
importantly, to compute the spatial rate-of-change of the field. The term gradient is
often used when a differentiation operation is performed on a scalar field. The gradient of a scalar field is a vector field that represents the direction and magnitude of the
greatest rate of change. The gradient of a vector field is more complex. The reason is
that direction as well as magnitude may change from one point to another point in a
vector field. There are two differentiation operations, divergence and curl, which
characterize the spatial rate of change of vector fields. The divergence of a vector
field is a scalar field that calculates the potential of a vector field and describes the
amount added or subtracted at a location in the field. The curl of a vector field is a
vector field that measures the net tangent component of the field, that is, the rotation
at every location of the field.
The concept of integration comes from the calculation of arc length and surface
area. Line and surface integrals on scalar fields are a natural generalization of the
basic concept where the scalar field has a constant value of one. Line and surface integrals are also applicable to vector fields. A wide variety of physical concepts, such as
the notion of work and the motion and flux of fluids, can be analyzed with the help of
line and surface integrals. Differentiation and integration operations in calculus are
based on the fundamental concept of infinitely small displacement. This concept has
to be approximated, as it is not appropriate for geographic vector fields that are stored
functions involving sampling of the spatial domain.
Cartographic modeling (Tomlin, 1990) provides a simple and convenient framework to define and organize GIS operations in the raster data model. The framework
organizes the operations on scalar fields into local, focal, and zonal functions based
on the spatial scope of the operations. Local operations compute a new value for each
VECTOR FIELD DATA MODEL
7
location as a function of one or more existing values associated only with that location. Focal operations compute each location’s new value as a function of existing
values within its neighborhood. Zonal operations compute each location’s new value
as a function of existing values within a common zone. Complex analysis can be
formed by controlling the order in which operations are performed and by using the
output from one as input to another. In the following discussion, the cartographic
modeling operations are presented in the context of vector fields.
Local Operations
Local operations compute a new value for every location as a function of one or
more values at the same location (Table 1). Operation LocalRating, also variously
referred to as reclassification, assigns new values to each location through a look-up
table that indicates the relationship between new values and existing values or ranges
of existing values. Vector fields can be reclassified to new vector fields or scalar
fields based on direction, magnitude, or both. However, since no order exists among
vectors, using a linear range of vectors in a look-up table for reclassification is not
appropriate.
LocalCombination assigns to each location a value representing the unique combinations of input values. Locations with the same combination have the same value.
This is a local operation where the combinations at other locations have to be examined before a new value is assigned. Theoretically, the LocalCombination operation
could be extended to handle vector combinations.
Operation LocalRoot requires scalar values while trigonometric operations
LocalSine, LocalCosine, LocalTangent, LocalArcSine, LocalArcCosine, and LocalArcTangent process angular measurements. Those specific requirements on input values make the operations inappropriate to vector fields.
Operation LocalVariety, LocalMajority, and LocalMinority calculate a new value
indicating the diversity in input values at each location. Since equality is defined and
can be tested between two vectors, those operations are applicable to vector fields.
LocalMaximum, LocalMinimum, and LocalMean are the operations that calculate descriptive statistics at each location. LocalMaximum and LocalMinimum are not
applicable to vector fields because orders among vectors are not defined. LocalMean
is applicable to vector fields but vector algebra must be used to obtain mean vectors
(Hodgson and Gaile, 1996).
LocalSum and LocalDifference are extensible to vector fields using vector algebra. Two operations, LocalDotProduct and LocalCrossProduct, represent the product
of two vector fields. LocalDotProduct calculates the dot product of two vectors at
each location and creates a scalar field. LocalCrossProduct calculates the cross
product of two vectors and creates a vector field. LocalCrossProduct is only appropriate for 3D vector fields. LocalRatio is not applicable to two vector fields because
division between two vectors is undefined. Since the ratio between a vector and a scalar does exist, LocalRatio is applicable only when the second field is a scalar field.
There are many other possible local mathematical operations. These may include
rounding and truncation functions, absolute values, modular differences, factorials,
exponentials, logarithms, and so on. Most of these operations are only applicable to
scalar fields on the interval/ratio scale.
8
LI AND HODGSON
Table 1. Local Operations on Scalar and Vector Fields
Operation
Scalar field
Vector field
LocalRating
LocalCombination
LocalRoot
LocalSine
LocalCosine
LocalTangent
LocalArcSine
LocalArcCosine
LocalArcTangent
LocalVariety
LocalMajority
LocalMinority
LocalMaximum
LocalMinimum
LocalMean
LocalSum
LocalDifference
LocalProduct
LocalDotProduct
LocalCrossProduct
LocalRatio
LocalMagnitude
LocalAngle
LocalNorm
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
aMust
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yesa
Yesb
Yes
Yes
Yes
be 3D vector fields.
field must be a scalar field.
bSecond
There are several new operations specific to vector fields. Operation LocalMagnitude computes the magnitude (length) of the vector at each location and creates a
scalar field. The angle between two vectors is an important measurement. LocalAngle
is used to compute angle(s) between two vector fields and generates a field with angular measurement(s). This operation is especially useful when comparing two directional fields. LocalNorm is another new operation that normalizes the vector at each
location and creates a unit vector field. LocalNorm can be achieved through operation
LocalRatio and LocalMagnitude, i.e., LocalNorm(V) = LocalRatio(V, LocalMagnitude(V)), where V is a vector field.
Focal Operations
Unlike local operations which calculate a new value using the values at the
same location, focal operations compute the value as a function of the values in its
9
VECTOR FIELD DATA MODEL
Table 2. Focal Operations of Immediate and Extended Neighborhoods
Operation
FocalRating
FocalCombination
FocalVariety
FocalMajority
FocalMinority
FocalMaximum
FocalMinimum
FocalSum
FocalProduct
FocalMean
FocalPercentage
FocalPercentile
FocalRanking
IncrementalLinkage
IncrementalPartition
IncrementalLength
IncrementalFrontage
IncrementalArea
IncrementalVolume
IncrementalDrainage
IncrementalGradient
IncrementalAspect
IncrementalDiv
IncrementalCurl
FocalProximity
FocalBearing
FocalNeighbor
FocalGravitation
FocalPosition
Immediate neighborhood
Extended neighborhood
Scalar field
Vector field
Scalar field
Vector field
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
neighborhood. A neighborhood is a set of locations related to a particular location
called the neighborhood focus. There are two types of neighborhoods in cartographic
modeling. An immediate neighborhood is limited to the eight locations immediately
adjacent to the neighborhood focus. An extended neighborhood is defined as a set of
locations within specified distances and/or direction(s) with respect to its neighborhood focus (Tomlin 1990).
Operations of immediate neighborhoods. Based on the same reasoning as their
local counterparts, operations FocalRating, FocalCombination, FocalVariety, FocalMajority, FocalMinority, FocalSum, and FocalMean are extendable to vector fields,
10
LI AND HODGSON
while FocalMaximum, FocalMinimum, and FocalProduct are not applicable to vector
fields (Table 2). The operations LocalDotProduct and LocalCrossProduct are not
extendable to immediate neighborhoods.
Operation FocalPercentage, FocalPercentile, and FocalRanking contrast the
value of its focus to those in its neighborhood. Only the FocalPercentage is applicable
to vector fields since the equality relationship can be verified between two vectors.
Both FocalPercentile and FocalRanking involve the ordering of the vectors within a
neighborhood, and thus are not applicable to vector fields.
Operation IncrementalLinkage and IncrementalPartition characterize the form of
linear and area features within the neighborhood, respectively. These operations operate on input fields representing linear or area features with nominal data, and are thus
not applicable to vector fields.
Operation IncrementalVolume, IncrementalDrainage, IncrementalGradient, and
IncrementalAspect characterize surface conditions. IncrementalVolume and IncrementalDrainage are limited to scalar fields. Cartographic modeling defines IncrementalGradient and IncrementalAspect as two operations that characterize the slope and
aspect of a surface in the immediate neighborhood. The operations, however, could be
endowed with the concept of derivative. A derivative of different orders may be
applied to fields. The first derivative of a surface represents the greatest rate of
change that is a vector quantity and can only be fully described by its direction
(aspect) and magnitude (rate). Theoretically, only one operation, IncrementalGradient, is needed. When it is applied to a scalar field, the result is a vector field that indicates the greatest rate of change at every location.1 Several methods for deriving
gradient in an immediate neighborhood have been empirically evaluated in the literature (Hodgson, 1998). Although operation IncrementalGradient is typically defined
on immediate neighborhoods, it may be calculated using 24 (or more), instead of 8,
neighbors.
While operation IncrementalGradient calculates the magnitude and direction of
the greatest rate of change, the rates of changes in any direction could also be computed. This is called directional differentiation in mathematics. A new operation
IncrementalGradientIn, which calculates the rate of change in a specific direction,
could be added. The result from IncrementalGradientIn is a scalar field storing just
the magnitude of a vector field where all the vectors have the same direction.
Extending the concept of a derivative to vector fields, two new operations, IncrementalDivergence and IncrementalCurl, can be introduced. While IncrementalDivergence computes a scalar field that represents the amount added or subtracted at the
focus based on the flow within its neighborhood operation IncrementalCurl computes
a vector field that represents the rotation vector at the focus. The two operations are
the discrete approximation of the divergence and curl operations in vector calculus.
Operations of extended neighborhoods. By extended neighborhoods, we
mean the locations at a specified distance and/or direction in the Euclidean or a
non-Euclidean space, or the locations that have a certain relationship with the focus.
While immediate neighborhoods are normally defined in Euclidean space, extended
neighborhoods may be defined in a non-Euclidean space where distance between two
1Actually, it is an approximation of the greatest rate of change because of the sampling on the surface
in the raster data model.
VECTOR FIELD DATA MODEL
11
locations is expressed in terms of the quickest time or least cost associated with the
motion between them. The path of the motion in a non-Euclidean space may not confirm to a straight line. Extended neighborhoods may also be defined as locations that
exhibit certain functional relationships with the neighborhood focus. This type of
neighborhood need not be contiguous. Examples of such neighborhoods are viewsheds and watersheds.
Incremental operations are limited to immediate neighborhoods and are not
applicable to extended neighborhoods. All other focal operations discussed above can
be applied to extended neighborhoods. Their applicability to vector fields (Table 2)
follows the same reasons as that for immediate neighborhoods.
Operation FocalProximity, FocalBearing, and FocalNeighbor characterize,
respectively, the distance, direction, and value of the nearest target within its
neighborhood. Targets in the input field typically represent point, line, or polygon features. Because of this, they are generally not applicable to vector fields. However,
when operation FocalProximity is applied in a non-Euclidean space, the distance
between a location and its nearest target is calculated based on movement cost on a
friction field that could be a vector field. The third application example in the next
section demonstrates such a case. A new operation, FocalPosition, would calculate
the distance and direction to the nearest neighborhood and store them as a vector in a
vector field.
Operation FocalGravitation calculates a new value for the focus as a distance
weighted average of the target values within its neighborhood. It is also generally
known as the inverse distance weighted interpolation method. Directional isolation
interpolation (Shepard, 1984) is based on angles between observations. With vector
measurements as targets in vector fields, directional isolation could be included in the
FocalGravitation operation.
The diversity and challenge of constructing neighborhoods are an interesting and
useful part of the cartographic modeling framework. The framework does provide
several extended neighborhoods (through the spreading and radiating options) implemented as black-box options for some focal operations. However, the cartographic
modeling framework neither provides for user-defined neighborhoods nor does it supply elementary operations for neighborhood construction.
FocalInsularity was originally listed as an operation of immediate neighborhoods
in the cartographic modeling framework (Tomlin, 1990). We suggest this operation as
a method of delineating neighborhoods where the locations in a neighborhood are
contiguous and have the same value as the focus.
Zonal Operations
Zonal operations compute a new value for each location as a function of the values within a zone containing the location. Zonal operations require two input fields,
the value field and the zonal field. Integer numbers are most conveniently used to
define zones. Theoretically, real numbers as well as vectors could also be used to
define zones. For example, all the cells having a magnitude of 7.56 and a direction of
204.89 may define a zone in a vector field. Zones provide all-inclusive but mutually
exclusive coverage of a spatial domain. Zones are not necessarily contiguous.
12
LI AND HODGSON
Table 3. Zonal Operations on Scalar and Vector Fields
Operation
ZonalRating
ZonalVariety
ZonalMajority
ZonalMonority
ZonalMaximum
ZonalMinimum
ZonalProduct
ZonalSum
ZonalMean
ZonalPercentage
ZonalPercentile
ZonalRanking
Scalar field
Vector field
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Operations ZonalCombination, ZonalRating, ZonalVariety, ZonalMajority,
ZonalMinority, ZonalMaximum, ZonalMinimum, ZonalSum, ZonalProduct, and
ZonalMean summarize the values from within a zone (Table 3). For the same reasons
as their counterparts in the local and focal groups, some of those zonal operations are
applicable to vector fields.
Operations ZonalPercentage, ZonalPercentile, and ZonalRanking contrast the
value at each location to those in the zone. As their counterparts in the focal group,
ZonalPercentage is applicable to vector fields while ZonalPercentile and ZonalRanking are not appropriate for vector fields.
Both neighborhoods and zones are not required to be contiguous. It could be
argued that zones are special neighborhoods that do not overlap. Zonal operations are
therefore essentially focal operations where the non-overlapping zonal field stores
neighborhood definitions for each location.
Global Operations
Some commercial GIS also offer an additional group of global operations that the
original cartographic modeling framework does not provide. Some of those operations, for example, component labeling, cost distance calculation, and watershed
delineation, are the operations for constructing extended neighborhoods. Other global
operations might be considered as either focal operations where the neighborhoods
cover the entire area or zonal operations where a single-zone represents the entire
area. The mathematical functions involved in those global operations can be much
more complex than the operations listed in the focal and zonal groups. Examples of
such mathematical functions are histogram equalization, principal component transformation, and supervised or unsupervised classifications in digital image processing.
Principal component transformation on vector fields has been developed by Klink and
Willmott (1989). A method of calculating the correlation between two vector fields
has already been developed (Hanson et al., 1992). The correlation method, however,
VECTOR FIELD DATA MODEL
13
should be used cautiously because the sample size influencing the degrees of freedom
can be artificially varied by creating grids with different cell spacing. In addition, correlation in traditional statistical methods assumes that the observations are taken as
independent samples from the larger population. This assumption may be difficult to
accommodate with the exhaustive sampling method implied in the raster representation of fields. To the best of our knowledge, no research on spatial autocorrelation and
geostatistics of vector fields has been conducted.
It becomes clear at this point that the cartographic modeling approach only provides a convenient framework for organizing operations. It fails to identify elemental
operations as applications constantly introduce new operations.
EXAMPLE APPLICATIONS
This section demonstrates the applications of the proposed vector data model and
vector operators. The examples presented focus on the problems related to a digital
elevation model (DEM). The cartographic model procedures given in the examples
adopt the common syntax of object-oriented languages. A typical statement in those
procedures has the form of NewField = Field.Method(Arguments), where Field and
NewField are either scalar or vector field objects and Method is one of the operations
applicable to the Field object. A method (i.e., an operation) may require zero or many
arguments.
Surface Normal Calculation
The terrain surface normal is widely used in shaded relief mapping, topographic
normalization, solar radiation calculation, and surface comparisons (Hodgson, 1998).
The terrain surface normal is a three-dimensional vector field, which could be computed using the operations on vector fields. The following method of calculating a terrain surface normal is based on Fleming and Hoffer’s algorithm (Ritter, 1987) using
4-neighbors.
The normal vector, n, at cell pc, is calculated using the elevation values of the
four immediately adjacent locations (Fig. 2). Vector new, which originates at the center
of cell pw and ends at the center of pe, represents the spatial rate of change along the
west-east direction. Another vector nsn, which originates at the center of cell ps and
ends at the center of cell pn, represents the spatial rate of change along the south-north
direction. In mathematics, vectors new and nsn are the directional differentiation of the
DEM in the west-east and south-north directions, respectively. From Figure 2, both
new and nsn are three-dimensional vectors. In the Cartesian coordinate system, new is
the triple (2d, 0, ee-ew) and nsn is the triple (0, 2d, en - es), where d is cell size and ee,
ew, en, and es are the elevations at the center of the cell pe, pw, pn, and ps, respectively.
The cross product of vector new and nsn is the vector that is perpendicular to the
plane formed by vector new and nsn (Fig. 2). The norm of the cross product is the surface normal at the center of cell pc. It is worth noting that the choice of vector new and
nsn is arbitrary. Vectors representing the spatial rate of change along the diagonal
directions of the cell pc could also be used in the calculation. The surface normal
vector field could be constructed using the following vector cartographic modeling
procedure:
14
LI AND HODGSON
Fig. 2. Surface normal calculation from two vectors.
WEVField = aDEM.IncrementalGradientIn(#WESTEAST);
SNVField = aDEM.IncrementalGradientIn(#SOUTHNORTH);
VField = WEVField.LocalCrossProduct(SNVField);
SurfaceNormal = VField.LocalNorm().
In the procedure, WEVField, SNVField, VField, and SurfaceNormal are four 3D
vector fields, and aDEM is a scalar field representing the terrain. The spatial rates of
changes on elevation in the west-east and south-north directions are derived using the
operation IncrementalGradientIn on aDEM. The results of those two operations are
two 3D vector fields WEVField and SNVField. The LocalCrossProduct operation
applied to vector fields WEVField and SNVField creates another vector field VField.
The LocalNorm operation on VField creates the terrain surface normal vector field
SurfaceNormal.
Surface Comparison
A common method for assessing the accuracy of a DEM is to compare the surface derived from a specific technique (e.g., softcopy photogrammetry) to the reference data for the same study area. The common practice in accuracy assessment is to
conduct separate evaluations of the errors in elevation, slope, and aspect. Two DEMs
for the Bethel, TN study area are shown in Figure 3A and 3B.
The errors in elevation could be simply derived by calculating the difference
between the DEM in question and the reference DEM. Deriving errors in aspect, however, are not as straightforward as in elevation. Hodgson and Gaile (1996) pointed out
that aspect difference could not be correctly obtained by directly applying the
LocalDifference operation to two aspect fields (Fig. 3C). The bright and dark areas in
Figure 3C indicate the locations with large differences between the two aspect fields.
The gradient of a DEM should be represented as a vector field (Chrisman, 1997)
VECTOR FIELD DATA MODEL
15
Fig. 3. Bethel Valley quad represented by two different stereophotography-derived DEMs—a
USGS DEM 30m DEM (A) and high resolution reference 30m DEM (B). Aspect difference
based on difference in scalar fields (C) and bidirectional difference between vector fields (D).
instead of two scalar fields (i.e., conventionally represented as slope and aspect). The
difference in the direction of the two gradients could be calculated, correctly, through
the following vector cartographic modeling procedure:
USGSGradient = USGSDEM.IncrementalGradient();
ReferenceGradient = ReferenceDEM.IncrementalGradient();
DirectionDifference = ReferenceGradient. LocalAngle(USGSGradient).
In the procedure, USGSGradient and ReferenceGradient are two 2D vector fields
derived from the USGSDEM and ReferenceDEM, which are scalar fields, using the
IncrementalGradient operation. Operation LocalAngle generates an angular field,
DirectionDifference, which contains the angles between two gradient vector fields.
16
LI AND HODGSON
Fig. 4. Three-dimensional angular difference between surface normal vectors from the two
Bethel Valley DEMs.
The correct aspect differences (Fig. 3D), when calculated using the vector cartographic
modeling procedure, are not as large as the ones incorrectly calculated in Figure 3C.
With the presented concept of vector fields and associated operations, errors in
surface normals from two different DEMs could also be calculated. Knowledge of the
errors in surface normal is important for applications where solar radiation or topographic normalization will be conducted. A similar procedure could be applied to
derive the surface normal difference between two DEMs:
USGSSurfaceNormal = USGSDEM.SurfaceNormal();
ReferenceSurfaceNormal = ReferenceDEM.SurfaceNormal();
Difference = ReferenceSurfaceNormal. LocalAngle(USGSSurfaceNormal).
In the above procedure, USGSSurfaceNormal and ReferenceSurfaceNormal are
3D vector fields. Both could be derived from the DEMs using the procedure discussed earlier. Local operation LocalAngle calculates the angular difference between
the two surface normal fields. Figure 4 illustrates the result when the procedure is
applied to the USGS DEM and the reference DEM in Figures 3A and 3B.
Cost Distance
FocalProximity is an operation that calculates the distance between a focus and
the nearest target in its neighborhood. In a non-Euclidean space, distance reflects the
cost of movement across a friction field, which could be measured as time, dollars, or
energy. Finding the shortest distance from a location to its nearest target views the
raster data model as a network. The centers of the cells are network nodes while the
VECTOR FIELD DATA MODEL
17
line segments connecting the center of a cell to the centers of its eight immediate
neighbors are network links. Travel cost through the links is determined from the
values in the friction field. Dijkstra’s (1959) shortest path algorithm on graphs and
variations of the algorithm (Dreyfus, 1969) are typically used to compute the leastcost path. This example demonstrates how the least-cost path could be calculated
when the friction is a vector field, whereas most GIS only deal with scalar friction.
A hypothetical DEM based on a 2D Gaussian distribution function (Fig. 5A) is
generated. The least cost path between a source cell and a destination cell on the
Gaussian DEM is desired (Fig. 5A). Cost in this example has two components, horizontal distance and vertical distance. Slope of the DEM (Fig. 5B) is the friction field,
which actually measures the cost of vertical movement. It is further assumed that the
vertical movement costs 10 times more than horizontal movement, and moving down
a slope costs the same as moving up a slope. With those inputs and assumptions, the
least-cost path derived using a commercial GIS in shown in Figure 5C. Common
sense would suggest the least cost path would be parallel to isolines (e.g., contours) as
they minimize vertical movement.
The problem lies in the way the vertical cost is calculated from the slope friction
field. When movement is up/down slope, friction is encountered (represented as angle
a in Figure 6A). If the movement is perpendicular to the slope direction (i.e., across
slope), there is no friction. Thus, friction changes with movement direction. The relationship between the amount of friction and the projected angle between a movement
direction and the slope direction is shown in Figure 6B. When both the movement and
the slope friction are represented as vectors, the relationship in Figure 6B could be
mathematically described as the dot product of the two vectors.
To correctly derive the least-cost distance, the slope friction field should be represented as a vector field, in which its magnitude has a unit of meters per unit distance. The calculation of movement cost from cell-to-cell requires a new method
involving vector algebra when the friction is a vector field (Fig. 7). The friction field
for the topographic surface contains a vector in each cell where the magnitude represents the slope and the direction indicates aspect. The incremental cost of moving
from the center cell (A) to the northeast cell (B) has two parts. The first part, horizontal distance (COSTd in Fig. 7), is the distance between cell A and B. Vector C represents the movement vector from cell A to cell B. The magnitude of vector C is the
distance between cell A and B and its direction is 45°. The friction vector Fm, which
introduces vertical cost to the movement vector C, is approximated as the mean vector of the friction vectors at cell A and B. The second part, vertical distance (COSTf in
Fig. 7), is the dot product of the movement vector C and the mean friction vector Fm.
The total cost is the sum of COSTd and COSTf.
This new method, which represents the slope friction field as a vector field
(Fig. 8A) and uses vector algebra in the cost calculation, is applied to the Gaussian
DEM. The gray path in Figure 8B is the least-cost path derived by the new method
and the black path is the one derived by the traditional method. By overlaying the
least-cost paths on top of the friction vector field (Fig. 8C), it is obvious that the traditional method does not consider cost differences in different movement directions.
Because of this, the least-cost path derived by the traditional method follows slope
direction (Fig. 8C) while the path derived by the new method is almost always perpendicular to slope direction.
18
LI AND HODGSON
Fig. 5. Least-cost path between A and B where slope is treated as a scalar friction field. The
hypothetical DEM is shown in (A) while the slope is in (B). The incorrectly calculated “leastcost” path is shown in (C).
VECTOR FIELD DATA MODEL
19
Fig. 6. Friction, slope direction, and movement direction angles are shown in (A). Slope angle
(a), movement slope angle (b) and projected angular difference between slope direction and
movement direction (c). Relationship between projected angular difference and friction are
shown in (B).
Fig. 7. Computation of incremental cost (i.e., COST) for moving from the focus cell to a
diagonal neighbor cell.
20
LI AND HODGSON
Fig. 8. Least-cost paths on the hypothetical DEM. Slope friction as a vector field (A). Leastcost paths (B). Least-cost paths overlain on the vector friction field (C).
The slope vector friction field in this example has a physical meaning, the vertical distance introduced by a movement. The concept and method of calculating vector
friction, however, is general in nature and should not be limited to this example. In
our example, we assume that moving uphill would cost the same as moving downhill.
Removing this assumption would introduce negative impedance in the calculation of
least-cost path that Dijkstra’s algorithm cannot handle. The authors are exploring
other shortest path algorithms that can include a negative friction.
Applications of the proposed data model and operations are not limited to the
demonstrated examples. In the analysis of mean surface winds in the contiguous
United States (Klink, 1998), the mean surface wind vector field could be interpolated
from weather stations using the FocalGraviation operation. Monthly wind differences
could be derived using the LocalDifference operation. Zonal operations, such as
ZonalMean, could also be used to calculate mean wind characteristics for climatic
zones or states. Wind steadiness index (Klink, 1998) could also be computed by first
using the LocalMagnitude and then the LocalRatio operation. In the atmospheric
moisture study (Maidment, 1996), operation IncrementalDivergence could be applied
to the moisture flow vector field. The divergence of the moisture flow vector field,
which is a scalar field, is the net rate of additional vapor to the flow field by evaporation less precipitation. In groundwater modeling, Darcy’s law is the governing equation that predicts average fluid volume flux rates through porous media. A fluid
velocity vector field could be derived by applying the IncrementalGradient operation
to a head field.
CONCLUSIONS
While the approach to measurements in GIS is still strongly influenced by
Stevens’ four levels of measurements, there are other measurements that are not handled by the taxonomy (Chrisman, 1998). As demonstrated by this research, vector
measurements, which require both direction and magnitude to completely describe
them, are another example that is beyond Stevens’ four levels. Existing GIS data
21
VECTOR FIELD DATA MODEL
Table 4. New Operations Applicable Only to Vector Fields
Local operations
LocalMagnitude
LocalNorm
LocalDotProduct
LocalCrossProduct
LocalAngle
Focal operations
Zonal operations
IncrementalDivergence
IncrementalCurl
FocalPosition
models and operations are inadequate and must be expanded to represent and analyze
spatially distributed vector measurements (vector fields).
The cartographic modeling framework provides a convenient way of organizing
GIS operations. This research adopted an evolutionary, instead of revolutionary,
approach of extending the cartographic modeling concept to vector fields. Vector
algebra, which is different from the traditional arithmetic on scalar measurements,
serves as the mathematical foundation for manipulating vector measurements. This
difference leads to the identification of existing operations that are inappropriate for
vector measurements and new operations that are only appropriate for vector measurements (Table 4). The concept of vector fields and associated operations were used
in three DEM-related applications. The examples demonstrated the usefulness of the
data model and operations in spatial analysis involving vector fields.
The cartographic modeling framework adopts a reductionist approach in its
attempt to identify the most elementary GIS operations and to operate complex tasks
by combining the fundamental operations. Operations must perform on attributes or
measurements. The originally conceptualized and implemented cartographic modeling framework is limited to Stevens' four levels of measurements. This research
demonstrates that as new measurements (vectors) are introduced, there are both new
operations specific to and old operations inapplicable to the measurements. It is
conceivable that cartographic modeling operations on fuzzy measurements could
also be developed in the future. A complete set of elementary cartographic modeling
operations, if ever possible, will not be available until all measurement types are
identified.
Cartographic modeling operations do not adequately provide needed constructs
for process-based environmental modeling, especially when the models are built on
physical principles. The mathematical equations that characterize the movement of
mass and energy across space reflect fundamental physical principles, such as the
conservation of mass, energy, and monument (Hodgson and Gaile, 1999). Most of
those equations do not have analytic solutions and numerical approximations are necessary. The incorporation of these elementary numerical methods in cartographic
modeling is the first step in the development of process-based models within GIS.
The cartographic modeling framework relies on the raster representation of
geographic phenomena. Although extensions to cartographic modeling on point
sets (Chan, 1988) and networks (Armstrong and Densham, 1997) have been done, it
is still not clear whether the cartographic modeling framework can be fully extended
to alternative representation schemes, such as the classical vector data model.
Alternative taxonomies of GIS operations exist (Goodchild, 1987; Maguire and
22
LI AND HODGSON
Dangermond, 1991; Burrough, 1992; Giordano et al., 1994; Chrisman, 1997, 1999).
These different taxonomies may also be appropriate for the organization of GIS operations.
REFERENCES
Armstrong, M. P. and P. J. Densham, 1997, “Toward a Network Map Algebra,” in
Proceedings of the 13th International Symposium on Computer-Assisted Cartography, Auto-Carto 13, Seattle, WA: ASPRS and ACSM, 1-10.
Blumberg, D. G. and R. Greeley, 1996, “A Comparison of General Circulation Model
Predictions to Sand Drift and Dune Orientations,” Journal of Climate, 9(12II):3248-3259.
Burrough, P. A., 1992, “Development of Intelligent Geographic Information Systems,” International Journal of Geographical Information Systems, 6(1):1-11.
Chan, K. K. L., 1988, Evaluating Descriptive Spatial Models for Prescriptive Inference, Ph.D. dissertation, Department of Urban and Regional Planning, Harvard
University, Cambridge, MA.
Chrisman, N., 1997, Exploring Geographic Information Systems, New York, NY:
John Wiley and Sons, 298 p.
Chrisman, N., 1998, “Rethinking Levels of Measurement for Geography,” Cartography and Geographic Information Systems, 25(4):231-242.
Chrisman, N., 1999, “A Transformational Approach to GIS Operations,” International Journal of Geographic Information Science, 13(7):617-637.
Clark, W. A. V., 1971, “A Test of Directional Bias in Residential Mobility,” in Perspectives in Geography 1: Models of Spatial Variation, Dekalb, IL: Northern
Illinois University Press, 2-27.
Coombs, C. H., 1964, A Theory of Data, New York, NY: John Wiley and Sons, 585 p.
Costanzo, C. M., Halperin, W. C., and N. Gale, 1986, “Criminal Mobility and the
Directional Component in Journeys to Crime,” in Metropolitan Crime Patterns,
Monsey, NY: Willow Tree Press, 73-95.
Dijkstra, E. W., 1959, “A Note on Two Problems in Connexion with Graphs,”
Numerische Mathematik, 1:269-271.
Dreyfus, S., 1969, “An Appraisal of Some Shortest Path Algorithms,” Operations
Research, 17:395-412.
Gaile, G. L. and J. E. Burt, 1980, Directional Statistics, Northwich, UK: University of
East Anglia, 350 p.
Giordano, A., Veregin, H., Borak, E. and D. Lanter, 1994, “A Conceptual Model of
GIS-Based Spatial Analysis,” Cartographica, 31(1):44-51.
Goodchild, M. F., 1987, “A Spatial Analytical Perspective on Geographical Information Systems,” International Journal of Geographic Information Science,
1(1):327-334.
Goodchild, M. F., 1992, “Geographical Data Modeling,” Computers & Geosciences,
18(4):401-408.
Hanson, B., Klink, K., Matsuura, K., Robeson, S. M., and C. J. Wilhnott, 1992, “Vector Correlation: Review, Exposition, and Geographic Application,” Annals of the
Association of American Geographers, 82(1):103-116.
VECTOR FIELD DATA MODEL
23
Hardy, D. M. and J. J. Walton, 1978, “Principal Components Analysis of Vector Wind
Measurements,” Journal of Applied Meteorology, 17(11):1153-1162.
Hodgson, M. E., 1995, “What Cell Size Does the Computed Slope/Aspect Angle
Represent,” Photogrammetric Engineering and Remote Sensing, 60(2):513-517.
Hodgson, M. E., 1998, “Comparison of Bi-Directional Angles from Surface Slope/
Aspect Algorithms,” Cartography and Geographic Information Systems,
25(3):173-187.
Hodgson, M. E. and G. L. Gaile, 1996, “Characteristic Mean and Dispersion in Surface Orientations for a Zone,” International Journal of Geographical information Systems, 10(7):817-830.
Hodgson, M. E. and G. L. Gaile, 1999, “A Cartographic Modeling Approach for
Surface Orientation-Related Applications,” Photogrammetric Engineering and
Remote Sensing, 65(1):85-96.
Hsueh, Y. and R. D. Romea, 1983, “A Comparison of Observed and Geostrophically
Calculated Wintertime Surface Winds over the East China Sea,” Journal of Geophysics Review, 88(10):9588-9594.
Kemp, K. K., 1997a, “Fields as a Framework for Integrating GIS and Environmental
Process Models. Part One: Representing Spatial Continuity,” Transactions in
GIS, 1(1):219-234.
Kemp, K. K., 1997b, “Fields as a Framework for Integrating GIS and Environmental
Process Models. Part Two: Specifying Field Variables,” Transactions in GIS,
1(1):235-246.
Klink, K., 1998. “Complementary Use of Scalar, Directional, and Vector Statistics
with an Application to Surface Winds,” The Professional Geographer, 50:3-13.
Klink, K. and C. J. Willmott, 1989, “Principal Components of the Surface Wind Field
in the United States: A Comparison of Analysis Based upon Wind Velocity,
Direction, and Speed,” International Journal of Climatology, 9(2):293-308.
Jensen, J. R., 1996, Introductory Digital Image Processing, Upper Saddle River, NJ:
Prentice-Hall, 318 p.
Legler, D. M., 1983, “Empirical Orthogonal Analysis of Wind Vectors over the Tropical Pacific Region,” Bulletin of American Meteorology Society, 64(1):234-241.
Maidment, D. R., 1993, “GIS and Hydrologic Modeling,” in Environmental Modeling
with GIS, Oxford UK: Oxford University Press, 147-167.
Maidment, D. R., 1996, “Environmental Modeling within GIS,” in GIS and Environmental Modeling: Progress and Research Issues, Fort Collins, CO: GIS World,
315-323.
Maguire, D. J. and J. Dangermond, 1991, “The Functionality of GIS,” in Geographical Information Systems: Principles and Applications, Harlow, UK: Longman,
319-335.
McQuistan, R. B., 1965, Scalar and Vector Fields: A Physical Interpretation, New
York, NY: John Wiley & Sons.
Ritter, P., 1987, “A Vector-Based Slope and Aspect Generation Algorithm,” Photogrammetric Engineering and Remote Sensing, 53(11):1109-1111.
Servain, J. and D. M. Legler, 1986, “Empirical Orthogonal Function Analysis of
Tropical Atlantic Sea Surface Temperature and Wind Stress: 1964-1979,” Journal of Geophysics Review, 91(10):14181-14191.
24
LI AND HODGSON
Shepard, D. S., 1984, “Computer Mapping: The SYMAP Interpolation Algorithm,” in
Spatial Statistics and Models, Dordrecht, Netherlands: D. Reidel, 133-145.
Stevens, S. S., 1946, “On the Theory of Scales of Measurement,” Science, 103:677680.
Tauxe, J. D., 1994, Porous Medium Advection-Dispersion Modeling in a Geographic
Information System, Ph.D. dissertation, Department of Civil Engineering, University of Texas, Austin, TX.
Tobler, W. R., 1978, “Comparison of Plane Forms,” Geographical Analysis,
10(2):154-162.
Tomlin, C. D., 1990, Geographic Information Systems and Cartographic Modeling,
Englewood Cliffs, NJ: Prentice Hall, 249 p.
Van Deursen, W. P. A., 1995, Geographical Information Systems and Dynamic Models. Development and Application of a Prototype Spatial Modeling Language,
Ph.D. dissertation, University of Utrecht.
Weber, A. H. and L. O. Blanton, 1980, “Monthly Mean Wind Fields for the South
Atlantic Bight,” Journal of Physical Oceanography, 10(8):1256-1263.
Wesseling, C. G., Karssenberg, D., Burrough, P. A., and W. P. A. van Deursen, 1996,
“Integrating dynamic environmental models in GIS: The development of a
dynamic modeling language,” Transactions on GIS, 1(1):40-48.