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 (1degree 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 Population at counties 6 x 10 4.6 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 4.5 4.4 4.3 4.2 4.1 4 3.9 3.8 3.7 3.6 0 2 4 6 5 x 10 Population at watersheds=? 6 x 10 4.6 4.5 4.4 4.3 Greatest common geographic units: Full overlap set for reassignment 4.2 4.1 4 3.9 3.8 3.7 3.6 0 2 4 6 5 x 10 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.uszeged.hu/~palagyi/skel/skel.html Vector-to-Raster Transformations (cnt.) - Example 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/.../gr adient/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 Next Lecture Map Design