Documente Academic
Documente Profesional
Documente Cultură
Methods Of Representation
Three main methods:
Altitude matrices (grid/raster)
Isolines - e.g. contours (vector)
Triangulated Irregular Networks TINs (vector)
Isolines were the main method in traditional cartography, but
are not very flexible for GIS.
TINs
TINs represent a surface using contiguous, non-overlapping
irregular triangles.
The areas inside each triangle have approximately the same
slope and elevation.
The corners of each triangle are generally at different
altitudes.
Edges form breaks of slope.
Complex terrain can be accommodated using smaller
triangles.
Known features can be recorded accurately (not interpolated
as in a raster).
triangles work best in areas with sharp breaks in slope,
where TIN edges can be aligned with breaks, e.g. along
ridges or channels
Altitude Matrices
Conversion Methods
TINs to altitude matrices. Grid superimposed. Height in
each cell is a distance weighted average of the three corner
points of the triangle within which the centre of the grid falls.
Altitude matrix to TIN. Three stages:
1. Identify minimum number of corner points for the
triangles;
2. Decide which points should be joined to form the
triangles;
3. Convert to a data structure.
1/23/2014
Delauney triangles
A triangulation for given set of points P is called Delauney if every
triangle has empty circumcircle, ie., circle passing through 3 vertices
of a triangle does not contain any other point
For 4 points, we have 2 possible traingulations, of which at least one
is Delauney (unless all 4 are on the circle). See fig below.
If one of them not Delauney, we can select the other diagonal (called Lawson
Flip)
Delauney triangles
See for details
http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/u39.html
Delauney triangulation
Make initial set and then examine groups of 4 at a time and
apply definition and flip
Use Vornonoi based method
Representation in ArcInfo
Field-based and TIN for representing surfaces
1/23/2014
Voronoi Diagrams
pi : site points
q : free point
e : Voronoi edge
v : Voronoi
vertex
v
q
pi
A vertex has
degree 3
A Voronoi vertex is
the center of an empty
circle touching 3 or
more sites.
Half lines
Segment
Bounded Cell
Unbounded Cell
1/23/2014
If all the sites are collinear, then Vor(P) consist of n-1 parallel
lines and n cells. Otherwise, Vor(P) is a connected graph and
its edges are either line segments or half-lines.
Other Characteristics
(Assumption: No 4 points are on the circle)
2. Vor(P) is connected
v
pi
24
1/23/2014
1/23/2014
q
pi
pi
Sweep Line
Equidistance
Sweep Line
v
e
1/23/2014
pi
pi
Sweep Line
Sweep Line
Equidistance
The Result
The finished Voronoi Diagram
1/23/2014
Merge:
Compute the edge sequence K separating P1 and P2
Cut VD(P1) and VD(P2 ) by means of K starting from
VD(P1 ) and VD(P2 ) and K
S
A
A
B
C
C
S1
P2
S2
P1
Computation of K
Example
First edge in K
4 tangential points P1 P2
Observation: K is y - monotonous
P1
P2
Last edge in K
47
1/23/2014
q
pi
pi
Sweep Line
Equidistance
Sweep Line
v
e
pi
pi
Sweep Line
Sweep Line
Equidistance
pi
Sweep Line
pi
Sweep Line
Voronoi vertex!
1/23/2014
Data Structures
Cell(pi)
Cell(pi)
Vertex Table
vi : list of pointers to all incident half-edges
pi
pj
pl
pk
pj
pk
pl
l
10
1/23/2014
pi
pj
pl
pk
pj
pk
pl
l
Site Event
Site Event
Site Event
Circle Event
Circle Event!
Sweep Line
l
Voronoi vertex!
11
1/23/2014
given as input
represented by the xy-coordinate of the site point
Algorithm
1. Initialize
2. While Q not ,
HandleEvent(e, T, D)
The x coordinate of the new site is used for the binary search
The x coordinate of each breakpoint along the root to leaf path
is computed on the fly
pj
pk
pj
pk
pi
pj
pk
pi
pi
pl
pj
pk
pl
pm
pl
pl
pm
pl
12
1/23/2014
pj
pk
pj
pk
pl
pl
pm
pl
13
1/23/2014
pi
pj
pk
pi
pk
pl
pj
< pm, pl>
pm
pl
pm
pl
Link!
Endpoints.add(x, y)
Endpoints.add(x, y)
pi
pk
pi
pk
pi
pl
pj
pi
pk
pj
< pm, pl>
pm
pl
pm
pl
pl
pk
pj
pl
pm
pj
pk
pi
pk
pi
pl
pj
pk
pj
pm
pl
pi
pk
pl
pj
pm
pm
pl
pm
14
1/23/2014
Minor Detail
pj
pk
pi
pk
pl
pj
pm
pl
pm
y
new circle event
Algorithm Termination
Algorithm Termination
pj
pk
pi
pk
pi
pl
pj
pm
pm
pl
pm
pi
pj
pl
pk
pl
pj
pm
Q
l
Algorithm Termination
< pj, pm>
< pm, pl>
< pi, pj>
pi
pi
pj
pm
pl
Terminate half-lines
with a bounding box!
pk
pl
pj
pm
15