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.

  1. Introduction: Objectives and methods; State Transformation (database->output); Why program?; Administrativia; Review of Computing Facilities;
    Read: Sylabus; WWW resources (
    Do: get unix ID, get set up for Java
  2. 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.
  3. 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?)
  4. 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
  5. Java Language Basics:
    Read: O'Reily excerpts
    Do: Great Circle Distance Applette
  6. 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.
  7. Point in Polygon Routines:
    Read: Feuguson
    Do: Probablistic point in polygon in Java (add data structuring & sorting strategies).
  8. Assessing Data Quality/Comparability:
    Read: to be announced
    Do: Compare datasets: Wessel's, DCW, MicroCAM, and others - how (much) do they differ? Why?
  9. 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?)
  10. Polygon Overlay:
    Read: Aronson
    Do: Code Overlay routines using different algorithms and data structures.
  11. Map Projection 1:
    Read: Snyder excerpts; source examples from Sol Katz
    Do: Program that projects lat, lon into plotting x,y.
  12. 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.
  13. 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).
  14. 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
  15. 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.
  16. 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
  17. Buffer Generation:
    Read: Pavlidis ?
    Do: Program to create buffer zones around points, lines, polygons
  18. Summary, Term Projects, Evaluation
  19. 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).
  20. Bressenham's Algorithm: for Line Drawing in a Raster
    Do: Code it to run on a raster in Java
  21. Animation Strategies
    Read: Moellering, others
    Do: you've already done it!
  22. Complex lines: Dashed, Crossed and Cased
    Read:Yoeli, p. 61-92
  23. Drawing Area Symbols
    Read:Yoeli, p. 93-108