MoveApps
Github repository: https://github.com/dmpstats/Behavioural_Classification_for_Vultures
This MoveApp applies a movement-based behavioural classification to bird tracking data, categorizing location events into one of four classes: Feeding, Roosting, Resting and Travelling. These four behaviours may be used in an downstream App for clustering locations (e.g. to find feeding spots).
[A detailed description of the classification process will soon be provided here]
-
This App is strictly dependent on the prior deployment of the App 'Add Local and Solar Time' (GitHub) in the workflow.
-
Accelerometer (ACC) data, when available for a given animal, plays a key role in identifying feeding behaviour during the classification process. To integrate ACC data into the classification, ensure that the App 'Fetch and Merge Accelerometer data to Locations' (GitHub) is deployed earlier in the workflow.
-
Likewise, altitude data, when available, helps differentiate between travelling and stationary events. Ensure that the App 'Standardise Formats and Calculate Basic Statistics' (GitHub) is deployed earlier in the workflow to accurately identify the column
altitudein the input data.
Move2 location object
Move2 location object, with the following key columns in the event dataset:
-
behav: the estimated behaviour at each given location -
RULE: The classification rule determining the behaviour assigned to each given location -
stationary: 0 if the bird is estimated to perform a stationary behaviour, 1 otherwise
-
behavsummary.csv- A .csv object summarising the classification output. For each track/bird, the total number of locations assigned to each behavioural group (SFeeding,SResting,SRoosting,STravelling). -
If Setting
Create Plotsis selected, two files are generated for each track/bird ID whithin the input data:-
birdtrack_(track ID).png - a plot of the animal's movements (with behavioural classification overlaid);
-
speed_hrs_diagnostics - (track ID).png - a set of diagnostic plots assessing the fitted model describing the stationary-speed given hours-since-sunrise relationship required for the speed-time classification step.
-
Upper speed bound for Stationary Behaviour (travelcut): Numeric, the speed beyond which this species is assumed to be travelling (unit: km/h). Default is 3 km/h.
Altitude change threshold (altbound): Numeric, absolute change in altitude between consecutive locations (in meters) beyond which a bird is considered as ascending/descending. For example, setting this to 25 means that the bird is ascending when its change in altitude exceeds 25m, and descending when it falls below -25m. This setting is used only if column altitude is present in the input data.
Sunrise leeway (sunrise_leeway): Integer, defines the number of minutes before/after sunrise marking the start of the 'daytime' period. Negative values (e.g. -5 minutes) move this window before sunrise, while positive numbers indicate a shift after. Used to determine the potential end of the roosting period.
Sunset leeway (sunset_leeway): Integer, defines the number of minutes before/after sunset marking the start of the 'night-time' period. Negative numbers move this window before sunset; positive numbers move it after. Used to define the potential start of the roosting period. Stationary behaviour after this time, and before the next determined daytime, is considered as roosting.
Create Plots (create_plots): Select this option to generate, as artefacts, bird-specific graphs with location plots of behaviourally-classified movements, and diagnostic plots for the stationary-speed given hours-since-sunrise model.
Keep all generated columns (keepAllCols): Select this option to keep all columns created during the classification process. Recommend for debugging purposes only.
-
This MoveApp is designed for species that roost at night. If the species is nocturnal, classifications will be inaccurate or unable to be calculated.
-
This App relies completely on App 'Add Local and Solar Time MoveApp' being deployed earlier in the Workflow to ensure essential columns
sunrise_timestampandsunset_timestampavailable for the classification process. If these columns are not detected in the input dataset, the App will exit abruptly and throw an error.
-
Setting Upper Speed Bound for Stationary Behaviour or Altitude change threshold to
NULLor less than zero, the App exits abruptly and throws an error. -
Empty datasets are returned with a warning (there is nothing to classify).