STE General Workflow — User Guide

This guide walks you through loading, configuring, and running the STE General Workflow, which generates a comprehensive elephant movement analysis report for Save the Elephants sourced from EarthRanger and Google Earth Engine.

What it produces

The workflow processes GPS observations for a chosen subject group and produces a full suite of spatial, temporal, and ecological analyses:

Requirements

1. Load the Workflow

In the workflow runner, go to Workflow Templates and click Add Workflow Template. Paste this repository's URL into the Github Link field, then click Add Template:

https://github.com/wildlife-dynamics/ste-general.git

Once added, it appears in the Workflow Templates list as ste_general. Click it to open the workflow configuration form (the card may show Initializing… briefly while the environment is set up).

2. Configure the Workflow

You'll be prompted to fill in the following parameters before running.

Data Source Connections

Navigate to Data Sources and click Connect. A dialog will prompt you to Select Data Source Type. This workflow requires two connections:

Data Source TypePurpose
EarthRangerPull subject observations and collaring events
Google Earth EngineFetch satellite imagery and compute NDVI-based seasonal windows

EarthRanger connection — select EarthRanger, then fill in:

Credentials are not validated at setup time — any authentication errors will appear when the workflow runs.

Google Earth Engine connection — select Google Earth Engine, then fill in:

To generate a private key, follow the instructions in the Setup Guide. The key is stored encrypted and used only to authenticate with Google Earth Engine.

Once both connections exist, select them from the Connect to earth ranger and Connect to earth engine dropdowns in the workflow form.

Workflow Details

FieldDescription
Workflow NameA short name to identify this run
Workflow DescriptionOptional notes (e.g. date range or subject group)

Basemap Layers

The Configure basemap layers step sets the two stacked background tile layers shared by all maps. Pre-filled with sensible defaults, but the URL, opacity, and max zoom of each layer are editable.

LayerDefault OpacityMax Zoom
ESRI World Hillshade0.99520
ESRI World Boundaries & Places0.3520

Analysis Time Range

FieldDescription
TimezoneSelect the local timezone (e.g. Africa/Nairobi UTC+03:00)
SinceStart date and time of the analysis period
UntilEnd date and time of the analysis period

All subject tracks, home ranges, and activity maps are computed within this window.

Previous Period Range

This period drives the "Previous tracks" layer on the Movement Tracks Map, enabling direct before-and-after comparison alongside the current period tracks. Every mode computes a comparison period that ends on your time range's Start Date, then works backward to determine its own Start Date.

Offset ModeDefaultDescription
Preset1 month backA common lookback: Same as current period, 1 month back, 3 months back, 6 months back, or 1 year back
CalendarPick an exact Start Date for the comparison period
CustomYears 0, Months 1, Weeks 0, Days 0Manually set how far back the comparison period's Start Date should be

Subject Group

FieldDefaultDescription
Subject Group NameElephantsName of the subject group to pull from EarthRanger (case-sensitive)

Map Overlay

Choose the overlay layer displayed on every map. This overlay is also used to calculate which GPS fixes fall inside vs. outside protected land, which drives the Protected/Unprotected Home Range maps and the Protection Status Bar Chart. Only protected-area style layers are supported for now.

OptionWhen to useWhat to provide
LandDx (Default Protected Areas) — defaultStandard use caseNothing — the workflow automatically downloads and styles the standard LandDx GeoPackage. It is filtered to three area types and coloured as follows: Community Conservancy #a6b697 (sage green), National Reserve #88a78e (muted green), National Park #115631 (dark forest green)
EarthRanger Spatial FeatureYour protected areas are maintained as EarthRanger spatial featuresOne or more layers, each specifying what to load (featureset / type / id) and optional style overrides
Custom Local FileYou have a local GeoJSON / GeoPackage / GeoParquet fileOne or more local files (or split groups within a file), each becoming its own styled layer

Trajectory Segment Filter

Applied to both the current and previous period trajectories before any analysis. Removes GPS noise and biologically unrealistic movement segments.

FieldDefaultDescription
Minimum Segment Length (m)0.001Discard segments shorter than this distance
Maximum Segment Length (m)5000Discard segments longer than this distance
Minimum Segment Duration (s)1Discard segments shorter than this duration
Maximum Segment Duration (s)21600Discard segments longer than this duration (6 hours)
Minimum Speed (km/h)0.01Discard segments where average speed falls below this value
Maximum Speed (km/h)9Discard segments where average speed exceeds this value (a sensible ceiling for elephants)

Map Zoom & Extent

Calculates the geographic extent of the movement tracks and determines an appropriate zoom level and center point, ensuring all tracks are visible and well-framed.

FieldDefaultDescription
Expansion Factor1.5Factor to expand the bounding box around the tracks (e.g. 1.2 = 20% larger)

Retrieve All Events

FieldDefaultDescription
Event Types(empty)Filter to specific EarthRanger event types (click Add to add entries; leave empty to include all event types)
Force Point GeometrytrueIf enabled, polygon/multipolygon event geometries are reduced to their centroid; disable to preserve native geometry types

Optional — provide the logo image to appear on the report cover page. Leave blank to omit a logo.

Input MethodWhat to provide
Download from URLPaste the direct download URL into the URL field
Use local fileEnter the absolute path to the logo file on the machine running the workflow

Raster Maps

Configures how the mean speed raster is generated from movement trajectories.

FieldDefaultDescription
Step Length / Grid Size (m)2000Pixel size (in meters) used to generate the Recursion Events raster and the dry/wet season Mean Speed rasters — one value drives all three. Smaller values are more detailed but slower to generate and produce larger files

3. Run the Workflow

Once all parameters are configured, click Submit. The runner will:

  1. Pull subject GPS observations (current and previous period) from EarthRanger.
  2. Process relocations and apply the trajectory segment filter to both periods.
  3. Query Google Earth Engine to determine NDVI-derived wet and dry seasonal windows; label each trajectory segment accordingly.
  4. Load and style the selected Map Overlay layer (LandDx protected areas by default).
  5. Generate the Movement Tracks Map (current + previous overlay) and the Subject Tracks Map.
  6. Fetch EarthRanger events and generate the Elephant Sightings map.
  7. Compute Elliptical Time Density home ranges: overall, filtered 99th percentile, protected/unprotected split, and per-subject seasonal.
  8. Generate the Recursion Events raster and dry/wet season Mean Speed rasters.
  9. Compute the Day/Night Dominance grid and Night Fixes grid.
  10. Render the Protection Status bar chart.
  11. Assemble the Word report (cover page + general section) and the dashboard.
  12. Save all outputs to the directory specified by ECOSCOPE_WORKFLOWS_RESULTS.

Output Files

All outputs are written to $ECOSCOPE_WORKFLOWS_RESULTS/:

FileDescription
relocations.geoparquetCurrent period GPS fix locations with day/night labels
previous_period_relocations.geoparquetPrevious period GPS fix locations
trajectories.geoparquetCurrent period trajectory segments with season labels
previous_period_trajectories.geoparquetPrevious period trajectory segments
homerange_etd.geoparquetOverall ETD home range polygons (50–99.9th percentiles)
homerange_protected_etd.geoparquetETD home range for fixes inside protected areas
homerange_unprotected_etd.geoparquetETD home range for fixes outside protected areas
<subject>_seasonal_etd.geoparquetSeasonal ETD per subject
seasonal_windows.csvNDVI-derived wet/dry season date ranges
weighted_raster.*Recursion events ecograph raster file
movement_tracks.htmlInteractive movement tracks map (current + previous period)
subject_tracks.htmlInteractive subject tracks map (coloured per individual)
collared_points.htmlInteractive elephant sightings / collaring events map
overall_homerange.htmlInteractive overall home range map
filtered_homerange.htmlInteractive 99th percentile home range map
protected_areas.htmlInteractive protected areas home range map
unprotected_areas.htmlInteractive unprotected areas home range map
<subject>_seasonal_homerange.htmlInteractive seasonal home range map per subject
recursion_events.htmlInteractive recursion events raster map
dry_mean_speed_raster_map.htmlInteractive dry season mean speed raster map
wet_mean_speed_raster_map.htmlInteractive wet season mean speed raster map
time_of_day_dominance.htmlInteractive time of day dominance grid map
night_fixes.htmlInteractive night fixes grid map
protection_status_bar.htmlInteractive protection status bar chart
*.png (per map above)2× resolution screenshot of each interactive map/chart
general_cover_page.docxRendered report cover page (logo, subject count, report period)
overall_report.docxFinal combined Word report (cover page + general per-subject section)

Something not working as expected? See Troubleshooting. For a deeper look at the pipeline internals, see the Technical Guide.