Overview
This course is intended to introduce students to CyberGIS—Geospatial Information Science and Systems (GIS)—based on advanced cyberinfrastructure as well as the state of the art in high-performance computing, big data, and cloud computing in the context of geospatial data science. Emphasis is placed on learning the cutting-edge advances of cyberGIS and its underlying geospatial data science principles.
Syllabus
- Course Orientation
- You will become familiar with the course, your classmates, and our learning environment. The orientation will also help you obtain the technical skills required for the course.
- Module 1: What is CyberGIS?
- In this module, we will get introduced to the basics of CyberGIS and Geospatial Data Science. First, we'll learn about the definition ofGeographic information science and systems, and related concepts. Next, we'll get introduced to the basics of advanced cyberinfrastructure and its components. Then we will see how CyberGIS combines Cyberinfrastructure and GIS to produce a sum that is greater than its parts.We will see the components of CyberGIS and the community and sciences it supports. Then, we look at geospatial big data, specifically the complexity and challenges it presents in terms of data representation, sharing, and privacy.We then look at how Geospatial Data Science provides tools to resolve the challenges posed by big geospatial data. Finally, we conclude the lesson by looking at scientific applications and drivers that require CyberGIS and Geospatial Data Science to address the problems posed by them.
- Module 2: Geospatial Visualization using Python
- In this module, students will get introduced to techniques for geospatial visualization and Web mapping using Python. First we'll learn about the basics of plotting geospatial data and creating maps using Matplotlib, Basemap, and Cartopy.Next, we will learn techniques to create and share our Web maps using Mplleaflet and Folium libraries. Lastly, we will see a brief introduction to GeoPandas and how to use it to do simple plot, simple geometry, and conduct basic spatial operations.
- Module 3: Geospatial Object Manipulation and an Introduction to Taming Big Data with Hadoop
- In this module, students will get first get introduced to techniques for manipulating geospatial objects using geospatial libraries in Python. Specifically, we will learn how to manipulate both vector and raster data objects using Shapely and RasterIO libraries. Next, students get introduced to using the Hadoop paradigm for taming big geospatial data. Specifically, we will learn the fundamentals of how to process big spatial data with Hadoop. Students will get a brief introduction to the Hadoop framework, its major components, and its characteristics, and will learn about Hadoop Distributed File System (HDFS), its architecture and simple commands to interact with it. We will also learn about the MapReduce computing paradigm and see an example of how it may be applied using Hadoop streaming API to process New York City taxi data.
- Module 4: Theoretical Foundations and Future Trends
- In this module, we will learn about the theoretical underpinnings of CyberGIS. We will start the module by looking into theoretical foundations of cyberGIS, specifically looking at the computational intensity calculations. Then we will apply the theoretical concepts to an application case study learning how to calculate this computational intensity. Lastly, we will conclude the module and course by looking at some future trends.
Taught by
Shaowen Wang and Anand Padmanabhan