Geog 487
Tentative Topics, Readings & Exercises (Fall 1998)
Note:
We only have 16 weeks.
Figuring (unduely optimistically) one week per topic,
there are too many topics.
We will need to prioritize and some will fall off the back.
-
Introduction:
Objectives and methods;
State Transformation (database->output); Why program?;
Administrativia;
Review of Computing Facilities;
Read: Sylabus; WWW resources (www2.hawaii.edu/~matt)
Do: get unix ID, get set up for Java
-
Some Unix data manipulation tools:
cat, head, tail, grep, vi, awk, perl, cut, paste, join
Read: Aho et al, Unix man pages; USGS GNIS User's Guide
Do: Awk scripts to extract PPL names and coordinates (as decimal degrees)
into ArcView .txt format and into AutoCad .dxf format.
-
Some Display/Output formats (Languages):
Postscript & VRML
Read: PostScript manual
Do: Convert Extracted DLG hydrography line data to PostScript EPS
(try to get the streams to increase their width from source to mouth).
(Shell script?)
-
C Language Introduction:
Read: Kernighan & Ritchie The C Language; the GRASS or GMT C source
Do: Make 3D buildings (in VRML) from IDRISI footprints and heights file
-
Java Language Basics:
Read: O'Reily excerpts
Do: Great Circle Distance Applette
-
Generalization and Line Thinning:
Read: Peucker-Douglas; Pavlidis, p. 195-214; Buttenfield & McMaster 1991
Do: Program 3D generalization of XYZ stream data in to VRML.
-
Point in Polygon Routines:
Read: Feuguson
Do: Probablistic point in polygon in Java
(add data structuring & sorting strategies).
-
Assessing Data Quality/Comparability:
Read: to be announced
Do: Compare datasets: Wessel's, DCW, MicroCAM, and others
- how (much) do they differ? Why?
-
Line Intersection:
On a plane (could be on a sphere, or geoid)
Read: Bowyer and Woodwark; Yoeli, p. 50-52 Douglas, all Salfeld
Do: Calculate line intersections (in Java, can you simulate limited
precison of coordinates and consequent limits of representaiton?)
-
Polygon Overlay:
Read: Aronson
Do: Code Overlay routines using different algorithms and data structures.
-
Map Projection 1:
Read: Snyder excerpts; source examples from Sol Katz
Do: Program that projects lat, lon into plotting x,y.
-
Map Projection 2:
Read: to be found
Do: Modify a generaalization routine to account for interaction
between map projection and simplification at a point
given that the SF varies over the map.
-
Automated Name Placement:
Read: Hirsh; Kelly; Freeman and Ahn; others?
Do: Program a routine that can place text (boxes) so as not
to intersect each other or map features (could demonstrate how it
has to back-track and ways of sorting to speed things up).
-
Interpolating a Regular Grid from Irregularly Spaced Points:
Read: MacDougall, p. 109-114, Monmonier, p. 58-65
Do: Program to interpolate a grid/surface from points
-
Contour Threading:
In TIN vs Grid vs by "bit mapping" a raster
Read: Pavlidis, p. 142-148
Do: Program that threads contours and shows what is being considered
and drawn at each juncture.
-
Shaded Relief, Slope and Aspect Mapping:
Read: Monmonier, p. 76-81; BKP Horn
Do: Program to display a TIN data set as shaded terrain via Postscript output
-
Buffer Generation:
Read: Pavlidis ?
Do: Program to create buffer zones around points, lines, polygons
-
Summary, Term Projects, Evaluation
-
Avenue Language
Read: ESRI Programming with Avenue, others
Do: Implement a "high-level" function, or demonstrate
a low one, or test ArcView's capabilites (i.e., limits).
-
Bressenham's Algorithm:
for Line Drawing in a Raster
Read:
Do: Code it to run on a raster in Java
-
Animation Strategies
Read: Moellering, others
Do: you've already done it!
-
Complex lines: Dashed, Crossed and Cased
Read:Yoeli, p. 61-92
Do:
-
Drawing Area Symbols
Read:Yoeli, p. 93-108
Do: