GEOG498I/788I Algorithms for Geospatial Computing (Spring 2020)


  • Instructor: Professor Leila De Floriani
  • Office: 4132 Iribe Center, and 1169 LeFrak
  • E-mail:
  • Office hours: 2:00pm-3:00pm Thursday (1169 LeFrak), or at Iribe Center by appointment
  • Schedule of Classes: Tuesdays and Thursdays: 12:30pm – 1:45pm, 1171 LeFrak

Course Description

Geospatial data science deals with representation, and analysis of data in which the spatial component plays a key role. The aim of the course is to familiarize the student with the fundamental algorithms in geospatial data science and their implementation in geographical information systems and in geospatial data analysis software tools. The course provides an introduction to fundamental geometric primitives and algorithms, which are the basic building blocks for spatio-temporal data processing and analysis. It will focus on algorithms and data structures for managing point clouds, including unsupervised learning algorithms, which are at the basis for geospatial data exploration and analysis, and apply them to processing and analysis of LiDAR (Light Detection And Ranging) data in the context of terrain reconstruction, urban modeling, forest management and coastal data management and analysis. Emphasis will be placed on surface and scalar field modeling, such as terrains, discussing both raster and vector models as well as algorithms for building, querying and performing morphological and visibility computations on them. Algorithms for road network analysis and reconstruction will be studied in connection with real-world applications. Special attention will be paid to scalable algorithms and representations for big geospatial data. Some programming background (like GEOG 376) is required for this course.

Course Learning Objectives

Upon a successful completion of the course the students will be able to:

  • Have in-depth knowledge of fundamentals of algorithms for geospatial data science.
  • Learn techniques for efficiently encoding, manipulating and querying geospatial data.
  • Gain substantial understanding of how geospatial data are actually processed in modern geographical information systems.
  • Learn how to design, use and implement algorithms dealing with geospatial data, with emphasis on point data processing and analysis, on terrain modeling and on road network analysis.
  • Apply algorithms for discrete and continuous geospatial data to LiDAR data processing and analysis, and algorithms for road network routing and reconstruction to real-world data sets.
  • Learn how to use open-source libraries to solve geospatial data analysis problems.

List of Topics

  • Fundamental geospatial concepts (objects (points, lines, regions), maps, fields (terrains), networks) and geospatial data models (raster, vector, Triangulated Irregular Networks (TINs), graphs).
  • Basic geometric algorithms: point-in-polygon, line segment intersections, polygon centroid, polygon overlay, etc.
  • Processing and analysis of point data:
    • Uniform grids; hierarchical spatial indexes: quadtrees, kd-trees, R-trees; spatial subdivisions (Voronoi diagrams); algorithms for nearest neighbor, and range searching.
    • Unsupervised learning algorithms: clustering, hierarchical nearest neighbor, k-means, density-based clustering.
    • Application: tree mapping and reconstruction from LiDAR (Light Detection And Ranging) data in forest management for carbon emission and visualization.
  • Surface and field modeling (terrain models):
    • Triangulated Irregular Networks (TINs): data structures, Delaunay triangulation.
    • Raster models: regular grids, gridding and deterministic interpolation algorithms.
    • Computing terrain morphology: slope, aspect, curvature, critical points and watershed segmentation on grids and TINs.
    • Visibility on terrains: algorithms for viewshed analysis and horizon computation.
    • Applications: terrain reconstruction from LiDAR point clouds, rooftop reconstruction from LiDAR point clouds in urban environments; bathymetry and coastline reconstruction for coastal data processing and analysis.
  • Road network computation and reconstruction:
    • Networks: definitions, basic data structures, hierarchical networks.
    • Algorithms for route computations in road networks; hierarchical approaches.
    • Route network reconstruction from GPS and satellite data; clustering algorithms and morphological approaches. Applications to transportation network data and to vessel route reconstruction.