Home > Research

Cartography Applications

This page classifies my cartographic applications research by topic.

Contents:

1. PRISM

An algorithm and implementation for displaying 3D prism maps showing data depending on geographic regions by raising a prism above each region. The program preprocessed the 2D map in advance so that new data could be displayed, with hidden surfaces removed, quickly.

1.1. Papers

2. Overlaying Two Maps

An algorithm for calculating the areas of overlaid polygons without calculating the overlay itself, is presented. OVERPROP is useful when the sole purpose of overlaying two maps is to find some mass property of the resulting polygons, or for an areal interpolation of data from one map to the other. Finding the areas of all the output polygons is both simpler and more robust than finding the polygons themselves. OVERPROP works from a reduced representation of each map as a set of `half-edges'; with no global topology. It uses the uniform grid to find edge intersections. The method is not statistical, but is exact within the arithmetic precision of the machine. It is well suited to a parallel machine, and could be extended to overlaying more than two maps simultaneously, and to determining other properties of the output polygons, such as perimeter or center of mass. OVERPROP has been implemented as a C program, and is very fast.

One subtask is to locate all the points of each map in a specific polygon of the other, which is a useful application in its own right.

The largest example intersected counties of the coterminous US against hydrography polygons. They have these stats:

Map #0: 55068 vertices, 46116 edges, 2985 polygons
Map #1: 76215 vertices, 69835 edges, 2075 polygons

The total CPU time, in seconds, on an IBM T30 Thinkpad with a 1600MHz Pentium is about:

Execution times:
   Read map:                      0.87
   Scale vertices:                0.02
   Extract edges:                 0.08
   Calculate areas:               0.08
   Make grid:                     0.00
   Add map to grid:               0.10
   Intersect edges:               0.13
   Locate map 0 points in map 1:  0.40
   Locate map 1 points in map 0:  0.48
   Accumulate areas:              0.28
   Print areas:                   0.20

TOTAL TIME=                       2.65

2.1. Papers

Code.

3. Logic Programming for Map Overlay

3.1. Paper

4. Compressing Terrain Data

Very efficient, wavelet-based, lossy and lossless compression of gridded terrain elevation data.

4.1. Papers

5. CONTOUR->GRID

Conversion of Elevation Contours to a Grid: Mike Gousie and I have new techniques for this classic problem, which reduce the terracing effect seen in many other methods, and produce a smoother, more realistic, result.

5.1. Papers

5.2. PhD

5.3. Masters

6. TIN-73

This is the Triangulated Irregular Network (TIN) program that I wrote at Simon Fraser University in the summer of 1973, at Tom Poiker's and Dave Douglas's suggestion. This was possibly the first TIN program written anywhere in a GIS context. The code is in PL/1 There are also some related programs, such as a simple convex hull code.

6.1. Code

.

6.2. Interview

Jeff Thurston, Looking Back and Ahead: The Triangulated Irregular Network (TIN) GEOinformatics, Vol 6, oct/nov 2003.

7. TIN

TIN is the current version of my efficient Triangulated Irregular Network computation program, for input points on a grid. Due to its compact and simple data structures, TIN can easily process all 1,442,401 points in a 1201x1201 level-1 DEM. Degeneracies, such as included points falling on the edge of the square, or on an existing edge, are handled. TINning the Lake Champlain West DEM until all points were included used about 70 CPU secs on a 1600-MHz Pentium linux box.

This is the 2001 version. It fixes an error in the 1999 version, where edges were not always swapped properly, and cleans things up. It replaces my 1973 TIN program.

7.1. Code (compressed tar file)

Alternative archive formats: uncompressed tar file, zip file

8. Visibility and Observer Siting

This work produced new algorithms and implementations relating to terrain visibility. These involve fast approximations to the Line of Sight (LOS) problem, where we wish to compute the visibility index of every point in a Digital Elevation Model (DEM) array describing some terrain. The object is to find a set of site which, together, can cover the whole area of interest. This work has produced some counterintuitive results. For example, for some terrain, there is no significant correlation between elevation and visibility index; on the average, higher is no better for observation.

8.1. Papers and contract reports

9. GENERAL

Here are broader papers and talks covering more than one topic, or reviewing the field, or that don't fit into one of the above categories.

9.1. Papers and talks