Skip to content
/ EO Public

EO is an earth observation (EO) toolkit for land analysis. Focus areas include Landsat 8/9 raster data, 3DEP elevation data and USGS features.

Notifications You must be signed in to change notification settings

KJSloan2/EO

Repository files navigation

EO - Earth Observation Tools for Land Analysis

EO is a toolkit of earth observation tools for spatial and temporal analysis. Please note, this project is in progress. This toolkit is being developed the streamline the acquisition, preprocessing, spatial and temporal analysis of multispectral raster data from the USGS's Landsat 8 and 9 missions. The toolkit also incorporates other spatial features such as slope, elevation, catalogued features (water bodies, land formations, forests, built structures etc.), and socioeconomic and demographic data such as population, income and various other indicators. The intent of this project is to provide comprehensive descriptions of land characteristics and changing land dynamics over time. An example of this toolkit's usage may be to determine the suitability of land for purposes like homesteading or small scale farming by analyzing how land surface temperature and vegetation health have changed in an given area over time and if terrane characteristics such as topography are suitable for the intended land use.

Landsat/3DEP and Data Aquisition with Earth Engine

image Landsat is a continuous series of earth observation satellite missions conducted through a joint effort between the USGS and NASA, going back to the 1970s. Earth observation data from the Landsat missions constitutes the larges and most comprehensive data collection of moderate resolution multispectral data, which as of 2008, is available to the public for "free" (if you live in the U.S. you technically pay for it with your taxes). Landsat moves in a sun-synchronous orbit around the earth to capture daylit imagery. The imagery is captured and processed (orthographically rectified, radiometrically calibrated etc.) by the USGS and made available to the public within a matter of weeks from acquisition in either tier 1 or tier 2 collections. In this project, I use tier 1 data because it provides better quality than tier 2, especially for multi-temporal analysis. I use Earth Engine to tap into the Landsat imagery collection and perform basic preprocessing steps such as creating composite imagery with cloud cover and shadows removed and top of atmosphere conversion from digital numbers. Once acquired and preprocessed, the imagery is exported as a geo-referenced GeoTiff. This is done for all years in the analysis period, providing a single composite image for each year of the analysis.

Earth Engine

Google Earth Engine is an important component of the backend processing for this analysis. Earth Engine is used for data acquisition and preprocessing of acquired imagery in the cloud. Certain components of the UHI analysis could potentially be moved exclusively to Earth Engine, but to maintain flexibility in the development process of these tools, the majority of the analysis is conducted locally with Python based scripts. Earth Engine is utilized to acquire imagery from the USGS's Landsat 8 collections. Of the available collections, this analysis process makes use of two collections. One, analysis ready data from the USGS Landsat 8 Level 2, Collection 2, Tier 1 collection. This imagery is considered "analysis ready data" for certain applications including land surface temperature (LST) analysis. The original analysis process used raw imagery and derived LST from band 9 with the single channel algorithm [1]. This process was later revised to instead use analysis ready data products from Collection 2, Tier 1, to ensure the best quality and accuracy of derived LST. The ARD collection however, converts optical bands 1 through 7, captured by the Onboard Land Imager (OLI) to surface reflectance (SR). To conduct certain analysis such as deriving normalized difference vegetation index (NDVI) from Landsat imagery, reviewed resources such as Chander et al. (2009) indicate that top of atmosphere TOA values are preferred. Top of atmosphere in this context refers to the calibration of band data from digital numbers to physically meaningful data. Digital number in this context, refers to the numerical value(s) associated with pixels in the imagery. These numbers need to be converted into physically meaningful data in order conduct analysis of the Earth's surface.

Converting to TOA (Top of Atmosphere)

Converting to ToA reduces scene to scene variability. When comparing data from different sensors, there are thee important benefits from ToA conversion. It removes the cosine effect of solar zenith angles due to the time difference between data acquisition. The angle of incidence of light striking the surface of the Earth impacts how a sensor captures the spectral characteristics of an object. The solar angle changes at different times of day and seasonally, so this can impact how the sensor captures spectral data. For example, sunlight at noon is higher frequency (shorter wave length) than in the afternoon (longer wavelength). Coefficients are used to compensate for these differences. Compensates for different values of exoatmospheric solar irradiance, arising from spectral band differences. Exoatmospheric solar irradiance refers to the intensity of solar radiation outside the Earth's atmosphere. Corrects for the variation in Earth-Sun distance between different data acquisition dates. These variations can be significant geographically and temporally. The distance between the Earth and Sun changes throughout the year, and there are differenced in distance depending on geographic location on Earth. This compensates for the variation in distance. This process uses the Earth-Sun distance in astronomical units, generated by the Jet Propulsion Laboratory (JPL). This data is tabulated in the Nautical Almanac.

To conduct TOA conversion, we make use of Earth Engine's built in simple composite algorithm [3], which takes a collection of raw imagery as input, converts digital numbers to TOA as well as conducts cloud scoring and mosaicking operations to generate a relatively cloud free composite image from the given collection. The simple composite algorithm takes only raw imagery, so we therefore use imagery from the USGS Landsat 8 Collection 2 Tier 1 Raw Scenes collection.

Temporal filtering

This process is designed to analyze imagery on a year over year, pixel wise basis. Input images consist of composite/mosaic imagery created from spatially and temporally filtered imagery. Temporal filtering is conducted in Earth Engine at the time of data retrieval. The user specifies the year and window of time for which to retrieve imagery. For example, in the DFW urban heat island analysis, imagery spanning from June to September between 2015 and 2022 was filtered to generate the composite/mosaic imagery.

Spatial Filtering

This process take what we refer to as the "main roi", which captures the full extents of the analysis area. To Filter imagery, we construct a bounding box in Earth Engine, using bounding point coordinates given by the user. The points are used to construct the lower left and upper right corners of the bounding box. This main roi is then applied to the retrieved filter collection and used to clip the collection to images within the bounds of the main roi.

3DEP Elevation Data

Earth Engine is also used to acquire elevation from the USGS 3DEP 10m National Map Seamless (1/3 Arc-Second) collection. 3Dep elevation data is preprocessed with local Python tools in this repo and integrated with Landsat data to map land surface temperature and vegetation data to 3D points (Lat, Lon, Elv) rather than just 2D (Lat, Lon) points. image 3DEP elevation data for Fredericksberg TX, visualized with Grasshopper + Rhino

Spatial Resolutions

Landsat 8 optical data from the OLI is 30 meters spatial resolution, Landsat 8 TIRS data is 100 meter spatial resolution and 3DEP elevation data is 10.2 meter spatial resolution. To reconcile different spatial resolutions between these data, special spatial aggregation functions were implemented in the band preprocessing tools. See documentation for bandPreprocessing.py for more information.

LST and NDVI Spatial and Temporal Analysis

image

About

EO is an earth observation (EO) toolkit for land analysis. Focus areas include Landsat 8/9 raster data, 3DEP elevation data and USGS features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published