Lecture 09: Data Structure Transformations
Geography 128
Analytical and Computer Cartography
Spring 2007
Department of Geography
University of California, Santa Barbara
Why Transform Between Structures?
"In virtually all mapping applications it becomes necessary to convert from one cartographic data structure to another. The ability to perform these object-to-object transformations often is the single most critical determinant of a mapping system's flexibility" (Clarke, 1995)
Geocoding stamps coordinate system, resolution and projection onto objects
Data usually in generic formats at first
Can save space, gain flexibility, decrease processing time
Suit demands of analysis and modeling
Suit demands of map symbolization (e.g. fonts)
Generalization Transformations- Why Generalize?
Conversion of data collected at higher resolutions to lower resolution. Less data and less detail.
Simplicity -> clarity
Information will be lost
John Krygier and Denis Wood, Making Maps: a visual guide to map design for GIS
Generalization Transformations - Point-to-Point
Centroid
Map projections
Usually be seen as a part of Geocoding process
USGS 1:250,000 3-arc second DEM format (1-degree block)
Generalization Transformations - Line-to-Line Generalization
N-th Point retention
Equidistant re-sampling
Douglas-Peucker
Douglas-Peucker line generalization
Generalization Transformations - Line-to-Line Enhancement
Splines
Bezier Curves
Polynomial Functions
Trigonometric Functions (Fourier-based)
Generalization Transformations - Area-to-Area
Problem is given one set of regions, convert to another
– Example: Convert census tract data to zip codes for marketing
– Example: Convert crime data by police precinct to school district
May require dividing non-divisible measures, e.g population
– Areal Interpolation
Greatest common geographic units: Full overlap set for reassignment
0 2 4 6
x 105
3.6
3.7
3.8
3.9
4
4.1
4.2
4.3
4.4
4.5
4.6
x 106
Population at counties
0 2 4 6
x 105
3.6
3.7
3.8
3.9
4
4.1
4.2
4.3
4.4
4.5
4.6
x 106
Population at watersheds=?
Generalization Transformations - Area-to-Area
Algorithm for Overlay – 1. Intersections – 2. Chain splitting – 3. Polygon reassembly
– 4. Labeling and attribution
Generalization Transformations Volume-to-Volume
Common conversion between two major data structures, vector (TIN) and grid
Often via points and interpolation– Change cell size– Generate a new grid– Compute the intersect– Interpolate from neighboring cells
Problem of VIPs
www.soi.city.ac.uk/~jwo/phd/04param.php
Vector-to-Raster Transformations
Easy compared to inverse, a form of re-sampling
Grid must relate to coordinates (extent, bounds, resolution, orientation)
Rasters can be square, rectangular, hexagonal.
Resample at minimum r/2
Problem: What value goes into the cell?– Dominant criterion– Center-point criterion
Separate arrays for dimensions and binary data?
Index entries & look up tables
Vector-to-Raster Transformations (cnt.)- Algorithm
Convert form of vectors (e.g. to slope intercept)
Sample and convert to grid indices
Thin fat lines
Compute implicit inclusion (anti-alias)
www.inf.u-szeged.hu/~palagyi/skel/skel.html
Raster-to-Vector Transformations
Much harder, more error prone.
May involve cartographer intervention
Importance of alignment
Can do points, lines, area
Raster-to-Vector Transformations- Algorithm
Skeletonization and Thinning – Peeling – Expanding
– Medial Axis
Feature Extraction
Topological Reconstruction
Raster-to-Vector Transformations- Edge Detection
Grid Scan
Matrix Algebra - filtering
fourier.eng.hmc.edu/.../gradient/node9.html
Data Structure Transformations
Scale transformations are lossy
(re)storage produce error
algorithmic error, systematic and random
Types are: scale, structural (data structure), dimensional, vector-to-raster
The Role of Error
Kate Beard: Source error, use error, process error
Morrison: Method-produced error
Error is inherent, can it be predicted, controlled or minimized?
XT = X'
X' T^-1 = X + E
Errors are– positional – attribute – systematic – random – known – uncertain – Errors can be attributed to
poor choice of transformations
– Incompatible sequences of T's (non-invertible)
– "Hidden" Error=use error, not process error