Lecture Topics

In order to provide the students with the widest range of topics the material will be presented with two different approaches. The first presentation approach will use ‘classic’ lecture style to explain core critical concepts (delineated with green background below) that all students need to some extent. The second approach will use video presentations, which cover a wide range of topics, but do not have the same degree of relevance to all the students. In this case each student will be able to individually select a subset of videos which best support their particular research goals.   


Math review: It is expected that at least a few students will have rusty mathematical skills. If necessary a short review of Taylor series and basic calculus relationships(integration by parts, Mean Value Theorem,chain rule, derivatives and integration of exponentials and polynomials )will be given.

Assumptions: Discuss the rational for the assumptions used in this class

Datum-projection explanation: If ESS420 is not a prerequisite for this class then a single lecture will be devoted to describing datum and projection features. Map transformations (e.g. registering a raw image to UTM) will also be discussed in detail.

Python: Covers how fundamental operations (loop, if statements, functions ,..) and data structures (arrays, dictionaries, lists, real numbers, integers ...) are implemented in Python. In addition object based programing will be compared and contrasted with procedural programing. It will also include a basic discussion of Matplotlib graphing tools

Matrix math: Covers the use of the Python Numpy library for: matrix multiplication, numerical differentiation, solution of sets of linear equations, numerical integration and eigenvectors-eigenvalues calculations. Includes important concepts from Linear Algebra including: inter product, orthogonally, and basis functions.

MATLAB: Building on a good understanding of Python a short comparison and contrast to MATLAB will provide the student with a fundamental understanding of MATLAB. The goal here is to enable the student to rapidly ‘come to speed’ if he has the opportunity to work with faculty that use MATLAB.

Open Source: A short review of open source GIS tools

Raster vs. Vector: Defines raster features and compares and contrasts raster functionally to vector (described in more detail in ESS 420) representation in: capturing geologic features (e.g. spatial resolution-generalization and aliasing issues),data structures(e.g. Quadtress,run-length encoding, line and point approximations) and common GIS operations (e.g. buffering, dissolve, intersection, merging).

Interpolation of random points: Compares and contrast various methods to interpolate unordered points to a raster grid. Include: nearest neighbor, radial bases functions,inverse distance, natural neighbor interpolation,splines, and Kriging.

TIN Characterization and LIDAR: Includes:

Data sources: Covers the use of remote sensing for raster generation with an overview of both optical and radar systems and TIN generation with LIDAR. Sources of public domain data will also be discussed. For more detailed remote sensing based information generation methods the student will be encouraged to take ESS 421

Raster operations: Tools include: smoothing or low-pass filters, directional filters, hill shading, texture filters(e.g. used to support Geomorphometrics), differentiation and integration.

Raster/TIN vs. Continuous Surface modeling: Continuous functions (e.g. Polynomials, Fourier series, wavelets) can provide an alternative to discrete raster and TIN points. This lecture will emphasize polynomials since they are intuitive and easily calculated. An overview of Fourier series will be offered but students will be referred to ESS 522 for details. Surface generation from discrete points will include a discussion of least-square (with possible data transformations),and splines.

Raster based equation solvers: Raster data structures naturally support finite difference methodology to solve differential equations. This lecture will introduce the concept of finite difference by modeling 2D perfect fluid flow in a lake and a simple erosion model. The goal is not to make the student an expert but expose him to some of the power of the method (e.g. error analysis will be minimal) and refer him to other courses for a (e.g. AMATH 301 ) for more detail. Likewise the lake example with be extend with depth averaging to illustrate Finite Volume capabilities with the interested student referred to ESS 526 for more material. Alternately TIN data structures naturally support finite element. While a complete finite element description is beyond the scope of this class the major features will be explained and the student referred to AA540 for details. Mesh free solvers are clearly beyond the scope of this class and will only be mentioned for completeness.

Monte Carlo: One of the assumptions of this class was a deterministic Newtonian world. However, a short example of Monti Carlo methodology using random numbers to set the input parameters of the perfect fluid flow lake example, used in the equation solver lecture, will be used to illustrate the method.

Hardware control:Basic hardware control methods will be presented using the Raspberry Pi system. Particular emphases will be given to capturing real time environmental parameters.

Raster map tools for thematic map generation:A major goal of raster operations is to turn raw imagery (e.g. an image of a thin section) into a thematic map (e.g. a map of minerals). Tools include: classification methods (and the corresponding error matrix), morphological operations (e.g. erosion, dilation), data fusion, object based analysis, and filters (e.g. for edge detection). Students interested in more detail will be referred to ESS 421 and CS 455-computer vision.

Students will also be encouraged to create videos. Possible student projects include: