Analysis case study: Puma Tracking in Santa Cruz, California

Application:  Terrestrial Animal Tracking

Client:  Chris Wilmers / UCSC

Result:  Effective visualisation and analysis of behavioural patterns, ecology.

Introduction:

In this study we present some initial work done in Eonfusion using Puma tracking data from the Santa Cruz Mountains of California.  GPS position information for a single Puma was provided by Chris Wilmers at the University of California Santa Cruz.  The overall goal of Wilmers' project is to understand how habitat fragmentation affects predator physiology, behaviour and ecology.  Using several features in Eonfusion we demonstrate advanced visualisation and analysis capabilities to support these goals.

Data:

The Puma tracking data set contained GPS positional information at roughly 20 minute intervals spanning a two week period.  No elevation data were present in this data set.

GIS layers in the form of ESRI shapefiles were acquired from the local Santa Cruz Government GIS data library.  These data included information which may be relevant to studying the ecology, physiology and behaviour of the animal.  This data included stream locations, transportation (roads) data, as well as habitat classification data such as grassland and riparian regions. 

A DEM and aerial photo for the region were acquired from the USGS National Map Seamless Server.

By combining diverse data layers Eonfusion creates a rich 4-D visualisation and analysis environment which supports and extends the typical GIS/Geospatial workflow.

Methods:

The data was imported into Eonfusion and run through a series of operations which added additional attributes to the data sets. This migration of attributes was performed in order to support complex visualisation and analysis of the data. 

Attributes necessary to encode light level (crepuscular coding) were added to the tracking data to indicate time of day.  Four bins were used: night, dawn, day, and dusk.  The calculations to compute the number of daylight hours were implemented directly in Eonfusion using the Expression Evaluator.  The Expression Evaluator was also used to compute distance and speed between positions and these values were then attributed to the tracking data. 

Next the GPS data was combined with a Digital Elevation Model (DEM) and the DEM elevation was migrated into the Puma data set as a new attribute.  This ensured that the tracking data draped nicely onto the DEM within the 3D visualisation.  The migration of the elevation component was achieved by spatially linking the DEM and the GPS track.  Using the same method, the data from each shapefile (streams, roads, habitat information) were assigned elevations from the DEM.

Finally a high resolution aerial photo was draped over the DEM in order to provide a visual context for subsequent analysis of the animal's behaviour in a particular area of interest. 

A density estimation method was then applied to the GPS data in order to analyse sites of interest.  This density estimation method was implemented using a combination of four operations:

  • A "Vector grid generator" was written using the Eonfusion API (Application Programming Interface). It generates a set of uniform vector grid squares.
  • The Puma track data was assigned new attributes that binned its vertex positions into a specific grid square.
  • The vector grid squares created by the Vector grid generator were joined with the Puma track data.
  • The track vertices within each square were counted, and the vertex count was assigned to the relevant grid square as a new vertex density attribute.

These operations result in a grid of square vector features that carry the number of Puma track vertices within each square as a feature attribute. This density grid can then be visualized along with the raw track data and other contextual information in Eonfusion's 4D scene environment.

The group of operators that embody the density estimation method will also be freely distributed. Eonfusion's flexible dataflow model allows methods such as these to easily be bundled and moved, for use in other Eonfusion dataflows.

The Eonfusion API is based on the C/C# language and .NET platform and is freely available to all Eonfusion users. The Vector grid generator will be delivered as a no-cost add-in to the baseline Eonfusion architecture with version 2.0.

Results:

pumatracking1.jpg

Figure 1: Several ARC GIS shapefile layers have been overlaid on the DEM as follows:  Grassland areas ( lime green), Watershed Areas (blue shades), Riparian regions (dark green), Streams (purple shades).  Puma tracking data is shown red.  Animal track data was fused with the streams shapefile and processed to reveal stream crossing points (yellow).  These points are derived from the interpolated positional information of the Puma track.  Halos in Eonfusion can be used to further visualise the uncertainty in positional accuracy of each crossing.

pumatracking2.jpg

Figure 2: Depicting the positional uncertainty of crossing points.  Puma track color-coded for light level.  Yellow halo indicates uncertainty and can be computed directly within Eonfusion using GPS accuracy information or density of tracking data.

pumatracking3.jpg

Figure 3: Puma road crossings (white points) computed using the same methods as in Figure 1.  The exported crossing data is shown as a table that indicates the computed crossing point, road type, X,Y,Z, & Time. 

pumatracking4.jpg

Figure 4: High resolution aerial photo courtesy of USGS National Map is draped onto a DEM (also USGS) with crepuscular color-coded track overlaid.  Halos were assigned to each point and sized to give a rough estimate of time spent in a particular location.  A time and distance filter was developed within Eonfusion  (not shown) which removes GPS fixes when the animal is at a den site/sleeping.  This filter bins all of the fixes within the satellite drift errors into two points and as such gives a better idea of the overall time spent each day at these den/sleeping sites.  This feature is particularly helpful when dealing with very large datasets where multiple intersections of the tracks are present.

pumatracking5.jpg

Figure 5: Puma GPS tracks were fed through a density estimation method developed within Eonfusion.  When the crepuscular coded Puma tracks are overlaid on the density grid it becomes apparent where time is spent as well as the preference for time of day in that region.  In this example the Puma remains within sheltered regions of the hills for most of the day light hours.  Towards dusk/night the Puma makes repeated trips to an area near a mountain trail which may indicate a kill site.

pumatracking6.jpg

Figure 6: The application of a Segment Probe to tag tracking data is shown.  In this case the probe is used to help label a probable kill site.  The probe allows the user to manually highlight a segment of a track and assign a new attribute to qualify any points within that region.  The ASCII tag is then applied to the tracking data as a new column of information.  The output of the tagging operation is also shown in Excel format for reference.  The excel file was created using Eonfusion's Tabular Text Data Writer.

Click here to see a video of this application in Eonfusion.

Back to Newsletter