These labs are assigned as part of the Advanced GIS for Natural Resource Management (ENVB 530) course and explore tutorials that introduce different components of GIS softwares.
Lab 1 of ENVB 530 serves as an introductory look into Google Earth Engine (GEE): a powerful browser-accessible software that doubles as both a database and a programming interface for geospatial analysis and remote sensing. It provides access to a deep repository of satellite imagery and Earth Observation (EO) data to anyone with a personal computer and access to the internet. Unique to GEE is its functionality as an Application Programming Interface (API) that primarily runs a JavaScript syntax (scripts can also be written in Python and there's even a compatible R package, rgee), which allows for a wide array of manipulations and analyses which can be used to cultivate meaningful results and robust research.
This lab will be broken into two sections. In Chapter F1.0, we will learn how to write and save a simple script in GEE's Code Editor, while also familiarizing ourselves with the JavaScript syntax. In Chapter F1.1, we will apply our new knowledge of the Code Editor to explore, render, and manipulate satellite imagery. Both chapters in this lab were based on corresponding chapters in the Earth Engine Fundamentals and Applications (EEFA) book.
In Lab 2 of ENVB 530, we explored the Spatial Analyst extension of ArcMap software through a comprehensive tutorial created by ESRI. ArcGIS and ArcMap offer a wide variety of tools that allow users to perform spatial analyses on their data of choice. These tools are entirely contained within a "no-programming-experience-required" User Interface (though it is certainly still possible to write raw code in ArcGIS). In this tutorial, we explore the ArcMap interface and the functionality of the Spatial Analyst extension using the following exercises to guide our process:
In Exercise 1, we begin unpacking the provided set of data and preparing it for analysis. First, we'll need to make a local copy of our data and create a new geodatabase to store our results.
In Exercise 2, we'll learn how to activate the Spatial Analyst tool, as well as create and explore a hillshade output layer from our initial set of data.
In Exercise 3, we use the Spatial Analyst tool in conjunction with the Model Builder to easily visualize how our analyses build on top of one another to facilitate deeper understandings and more comprehensive results. We create a new toolbox and use it to derive new outputs for Euclidean distance and Slope, reclassify and weigh them according to our building site selection criteria, and use them to locate the optimal building site for the new school.
In Exercise 4, we finish up our project by performing a cost distance analysis to be able to find the least costly route for an alternate access road to the new school site.
In Lab 3 of ENVB 530, we explored a useful methodology for manipulating and transforming rasterized paper maps in ArcMap known as Geometric Rectification. Georectification allows us take an image (i.e., raster data) that has yet to be orthorectified and manually match it to a shapefile (i.e., vector data) that has been orthographically corrected. Essentially, we use vector data that has already been geometrically corrected for digital use as a reference to help us rectify a given set of raster data (e.g., a scan of a historical map, aerial photos, etc.). We will be using georectification to correct a scanned raster street map of Montreal in 1903 with present-day vector street data as reference. This lab will be broken into the following three sections:
In Section 1, we will unpack our data and preparing it for analysis. We'll also need to make a new .mxd file and orient our layers in the ArcMap Table of Contents.
In Section 2, we'll learn how to access the Georeferencing tool in ArcMap to help us orthorectify a street map of Montreal from 1903.
In Section 3, we expand on the utility of the Georeferencing tool to perfect our 1903 street map. The Control Points tool is our best friend in this section!
In Section 4, we export our image and learn how to edit and import projection metadata from one file to another.
In the 4th lab of ENVB 530, we explored how to combine our previous knowledge of the Model Builder with the Python shell interface available in ArcGIS's ArcMap (version 10.8.1). We revisited several important data types (e.g., variables, strings, lists, functions) and basic Python functionality was explored through for loops, if statements, the with...as structure, and more. We also tested our knowledge by undertaking a challenge activity using the Python shell to reclassify several raster images, calculate some statistical values, and write our results to a new .txt file – all solely with the Python Shell. Let's begin!
Lab 5 was designed as a "pick-your-poison" sort of activity. Instead of following a tutorial provided by Professor Cardille, students were given a list of possible tutorials to execute and base a lab report on. Having a deep personal interest in the marine sciences, I chose to execute a tutorial explaining how to map benthic habitats in Google Earth Engine (GEE). This lab report explains how to:
We learned how to import and preprocess our data, how to develop a Depth Invariant Index (DII) image, how to perform supervised classification of an image using predetermined classification types, and how to determine and visualize bathymetric data using a function employing the Random Forest (RF) Regression method. In conjunction, these methods can be used to garner a deeper understanding of our world's coastal waters using satellite imagery collected miles above the Earth's surface.
Import satellite imagery of a marine environment somewhere in Greece
Perform various preprocessing methods, including masking land areas, correcting for sunglint, and producing a Depth Invariant Index (DII)
Perform supervised classification of marine imagery using predetermined classification types
Compute and analyze bathymetric data with the help of field-collected sonar data using machine learning (i.e., Random Forest (RF) Regression method)