Analysis of Multitemporal UAS Data and Its Applications

Center for Geospatial Analytics at North Carolina State University

Corey White adapted from Helena Mitasova, Anna Petrasova, and Justyna Jeziorska

Objectives

  • Design a UAS monitoring campaign: metrics, spatial and temporal resolution, ground control
  • Register a series of DSMs as a space-time raster dataset and query it by time
  • Aggregate the series over time and compute per-cell statistics
  • Derive core and envelope surfaces and use them to find distorted surveys
  • Apply the series to crop height and biomass, viewsheds, and volumes

Monitoring with UAS

UAS for monitoring change

Low cost and rapid deployment make UAS suited to monitoring change at the local scale: fields, small watersheds, construction sites

  • Crop monitoring: growth, disease, stress
  • Erosion: coastal, stream bank, rills and gullies
  • Natural hazards: flooding, landslides, fire
  • Industrial: mining, construction sites, stockpiles

Monitoring design

Decision What to settle before the first flight
Metrics Relative height, volume, feature migration: what quantity answers the question
Spatial resolution Fine enough to capture the change, coarse enough to process a series
Temporal resolution Regular intervals, or flights timed to events such as storms or harvest
Accessibility Flying over people, line of sight, places for GCPs
Georeferencing The same GCPs surveyed once and used for every flight

Processing a time series

  • Interpolate every point cloud to a DSM on the same aligned grid at a common resolution
  • Rasters suit a series better than TINs: the same cell in every map
  • Check each DSM against GCPs and permanent features; correct shifts, flag distortions (5A)
  • Give every DSM a time stamp and register the set in the temporal framework

Space-time datasets in GRASS

The temporal framework

Space-time raster dataset (STRDS): a set of raster maps registered in a temporal database, each with a time stamp; the maps are the states of a changing surface, and the dataset is treated as one object (Gebbert and Pebesma 2014)

  • Efficient processing, management, and analysis of space-time data
  • The dataset can hold rasters, 3D rasters, or vectors
  • Tools work on the whole dataset: list by time, aggregate, compute statistics, apply map algebra
  • In GRASS: t.create makes the dataset, t.register adds the maps with their times

Time stamps

Time stamp: the time assigned to one map in the dataset, as an instant (2015-06-20) or an interval (2015-06-01 to 2015-07-01), in absolute calendar time or in relative units such as days or years

  • A UAS survey is a snapshot: an instant
  • Aggregating snapshots over months or seasons turns them into intervals
  • The dataset’s temporal type, absolute or relative, is set when it is created
Five small shaded relief DSMs of the Mid Pines fields in a row, labeled 2015-03-18, 2015-06-20, 2015-09-04, 2015-09-21, and 2015-10-06

The registered series

Timeline Tool output: a plot with seven points on a time axis from March to October 2015 for the dataset uas_dsm, and below it a 3D plot of the seven map extents stacked by time, showing that the extents differ
  • The Timeline Tool shows when each map was taken and, in 3D, its spatial extent
  • t.rast.list lists the maps with their times and statistics, optionally filtered with a where clause

Temporal plot

A shaded relief map with two red points, and two line plots of DSM elevation at those points across the 2015 flights: one point stays near 110.5 m and spikes to 112 m in August, the other rises from 112.4 m to 114.4 m in August and drops to 112.3 m in September

The Temporal Plot Tool plots the value of every map in the series at one location

Aggregation and per-cell statistics

Count and intersection

Map of the number of DSMs covering each cell, 0 to 7, from dark purple at the edges to yellow in the center where all seven flights overlap, with nested footprints visible; 100 m scale bar

Count: maps with a value in each cell

A single yellow polygon on a coordinate grid: the area covered by all seven DSMs; 100 m scale bar

Intersection: cells covered by every map

In GRASS: t.rast.series input=uas_dsm method=count output=count, and with -n the count is null where any map is null, which is the intersection

Temporal aggregation

Temporal aggregation: combining the maps that fall in each interval of a chosen granularity into one map with a statistic, such as the monthly mean; t.rast.aggregate

Three shaded relief panels of the same fields: the 2015-09-04 DSM, the 2015-09-21 DSM, and their aggregated average

Per-cell statistics over time

  • Mean and standard deviation of the elevation at each cell
  • Minimum, maximum, and range
  • Time of the minimum and time of the maximum: which map it came from
  • Linear regression through time: slope, offset, and coefficient of determination

In GRASS: t.rast.series input=uas_dsm method=minimum|maximum|min_raster|max_raster|average|stddev|slope ... (Mitasova et al. 2009)

Core and envelope

Core surface: the minimum elevation measured at each cell over the series. Envelope: the maximum. Everything the surface ever did lies between them

3D view of crop fields cut by a vertical plane: the dark green crop canopy, the envelope, stands above the yellow bare ground, the core, and the cut face shows the volume between them

3D view of a long building cut by a vertical plane: the building rises in dark green from the yellow ground surface and the cut face shows its cross section

Cutting planes through the lidar ground, the core, and the envelope of the series

Finding distorted surveys

Map of the lidar bare ground minus the core surface: mostly white, with pink and red patches where the core lies up to 15 m below the lidar ground, and a blue building; legend from minus 4.3 to 15.3 m, 100 m scale bar

Lidar ground minus core

Map of which survey gave the minimum at each cell, indexed 0 to 6: large teal areas for index 3, green and blue for index 2, purple for 0, and yellow patches for 6; 100 m scale bar

Index of the map with the minimum

  • Compute the core and subtract it from the lidar bare ground
  • Where the core lies well below the ground, min_raster names the survey responsible

Corrected core surface

Lidar ground minus the core recomputed without the two distorted surveys: nearly white everywhere, with faint blue along the forest edge in the east and a blue building; legend from minus 4.8 to 8.5 m

Without the two distorted surveys

The same difference with a histogram-equalized color table: the northwest half is red and the southeast half blue, split along a straight diagonal line

Histogram-equalized colors

  • Remove the distorted DSMs and recompute the core: the difference to the lidar ground is now small
  • A histogram-equalized color table stretches the small differences and reveals a shift between two lidar swaths

Envelope and range

Map of the lidar ground minus the envelope surface: crop fields in deep blue down to minus 3 m, bare ground and roads near white, forest in blue along the east edge; legend from 0 to minus 3 m

Lidar ground minus envelope: the tallest crop at each cell

3D view of the envelope surface in yellow and orange: the crop fields at their tallest, trees and a building rising above them

The envelope surface in 3D

  • Envelope minus ground: the maximum crop height over the season at each cell
  • Time of maximum: when each cell was highest
  • Range: where the surface varied most

Envelope of a parking area

Shaded relief of the envelope surface around a long building: a row of car-sized bumps along the road, several more beside the building, and trees
  • The envelope shows every car that was parked at the site during any flight
  • Core, snapshot, and envelope surfaces together describe how an area is used

Regression through time

  • Needs a well designed, systematic series: regular flights over a longer period
  • Choose the part of the series where the change is close to linear, such as a growth period
  • Per-cell linear regression gives a map of the rate of change and a map of the fit

Map algebra on a series

  • Apply one map algebra expression to every map in the series, cell by cell
  • The result is a new series, registered as a new dataset with the same time stamps
  • Simpler than temporal algebra, which combines maps across time

In GRASS: t.rast.mapcalc inputs=uas_dsm expression="uas_dsm - lidar_dem" output=height basename=height, where uas_dsm stands for each map in turn

Applications

Crop height series

Crop height above the lidar ground on 2015-06-20, 0.3 to 2 m in purple to yellow: the curved field strips filled with 1 to 2 m crop, bare strips and roads blank

June 20

The same map for 2015-07-27: scattered purple and yellow patches across the whole area and along the forest edge, not following the fields, the signature of a distorted survey

July 27

The same map for 2015-10-06: thin purple remnants on a few strips after harvest, the rest blank

October 6

Height above the lidar bare ground between 0.3 and 2 m, from t.rast.mapcalc with if() on the fields raster

Crop volume

3D view of crop fields cut by a vertical plane, the dark green canopy above the yellow bare ground with the volume between them exposed on the cut face
  • Sum of the crop height over the field cells, times the cell area, is the crop volume above ground
  • A proxy for above ground biomass, and its change through the season

Volume of a structure

3D view of a long building rising in dark green from the yellow ground surface, cut by a vertical plane that shows its cross section
  • Difference between the DSM and the bare ground over the footprint of the feature
  • r.volume sums the difference over a clump of cells and reports the volume

Viewsheds on a changing surface

Cumulative viewshed: the number of observer points from which each cell is visible; r.viewshed per observer, then r.series method=count

Shaded relief with the extent of a viewshed drawn in orange, pink, and yellow for different dates, spreading from an observer point across the fields; a cyan rectangle marks the study area
  • The vegetation height decides what a camera sees, so the viewshed changes through the season
  • Compute the viewshed on the lidar DSM and on the envelope DSM to see the best and worst case

Visualizing a series

  • Animation Tool: one frame per map, draped over a shaded relief, exported as a GIF (5A)
  • Temporal Plot Tool: the value through time at a point
  • 3D view of two surfaces with a cutting plane: core, envelope, and lidar ground
  • The GRASS temporal workshop has the terrain time series example

Key terms

Space-time raster dataset: a set of rasters registered with time stamps and handled as one object

Time stamp: an instant or an interval, in absolute or relative time, assigned to each map

Temporal aggregation: one map per interval of a chosen granularity, with a statistic such as the mean

Core surface: the per-cell minimum over the series; near bare ground on a field

Envelope surface: the per-cell maximum over the series; the tallest the surface ever was

Cumulative viewshed: the number of observer points from which each cell is visible

Wrap-up

References

Gebbert, Sören, and Edzer Pebesma. 2014. “A Temporal GIS for Field Based Environmental Modeling.” Environmental Modelling & Software 53: 1–12. https://doi.org/10.1016/j.envsoft.2013.11.001.
Mitasova, Helena, Eric Hardin, Margery Overton, and Russell S. Harmon. 2009. “New Spatial Measures of Terrain Dynamics Derived from Time Series of Lidar Data.” 2009 17th International Conference on Geoinformatics, 1–6. https://doi.org/10.1109/GEOINFORMATICS.2009.5293539.