Code from: Characterizing partial migration using GPS tracking: High individual consistency in greylag geese
Data files
Aug 31, 2026 version files 35.82 KB
-
GeeseMigration.R
34.99 KB
-
README.md
831 B
Abstract
Migration is a critical ecological strategy throughout the animal kingdom and can be either fixed or flexible at the species, population, and individual levels. In partially migratory species, where only some individuals migrate, individuals may show consistency in their migratory behaviour. Greylag geese (Anser anser) are considered partially migratory, with known population-level flexibility in migration strategy. We used GPS tracking data from 21 wild greylag geese over seven years (2018–2025) around Lake Neusiedl, Austria, to investigate partial migration and the individual consistency of movement behaviour across years. To do so, we developed a multi-metric framework combining 95 % annual kernel density estimates, net squared displacement (NSD) profiles, segment-level distance and speed, and model-based classification with the migrateR package. As part of this framework, we introduce a novel summary metric – the duration-normalized area under the NSD curve – which integrates how far and for how long an individual displaces from its breeding ground into a single, individual-comparable value. Based on these metrics, we found that 20/21 geese were migratory, with only one studied individual remaining a year-round resident for their entire tracking duration. Four individuals changed their movement behaviour between migratory and resident across years. Migratory individuals varied significantly in their movement patterns, overwintering across a broad latitudinal gradient, from upper Germany to Sardinia. These findings highlight the coexistence of plasticity and consistency in greylag goose migration and offer valuable opportunities to investigate the ecological and intrinsic drivers shaping movement behaviour at both individual and population levels.
Dataset DOI: 10.5061/dryad.kprr4xhmx
Description of the data and file structure
This R Code analyses a dataset of tagged greylag geese (Anser anser) from Neusiedler See - Seewinkel National Park, found on Movebank (ID: 505156776).
Files and variables
File: GeeseMigration.R
Description: R code for the analysis of data from Movebank (ID: 505156776). No other data was used and these files include all information necessary.
Code/software
R version 4.5.2
Access information
All data used within this R Code and used to generate the results of Common and Jain et al. (2026) are available from Movebank (ID: 505156776). No other data was used.
Study site
We studied a population of greylag geese that breed and overwinter in the Neusiedler See - Seewinkel National Park (47°46 N, 16°47 E), which surrounds Lake Neusiedl. The park spans the Austrian and Hungarian border, covering 330 km2, with the main lake stretching 36 km in length and ranging from 7 to 15 km in width, alongside over 40 small inland sodic ponds (Steiner & Parz-Gollner, 2003). The greylag goose population in the Neusiedler See region can exceed 20,000 individuals in the winter (Weber, 2016), including approximately 1,000 breeding pairs (Wendelin & Dvorak, 2013).
Trapping and tagging
A total of 29 geese were tagged with Ornitela tags weighing approximately 50 grams (goose neck collar model N44; https://www.ornitela.com/goose-neck-collar-transmitter) between June 25th, 2018, and June 16th, 2022, at four different capture locations (Apetlon Badesee 47.784° 16.839°, Apetlon Finklacke 47.743° 16.824°, Illmitz Steestraß/Seedamm 47.753° 16,760°, Mekszikópuszta 47.679° 16.845°). Permits were granted by the Office of the Burgenland Provincial Government (Permits: A4/AR.DivA-10024-12-2017, A4-AR.DivA-10051-14-2019, A4/AR.DivA-10097-11-2020). Catching was timed so that adults would still be in moult and therefore flightless and goslings were large enough to mark with neck rings. All capture locations represented family rearing areas. Every morning several geese families with their goslings moved to these grazing areas from their roosting sites. Sheep netting fences were strategically positioned as a kind of corral the night before capture so that the flock would walk toward the trap the next morning. A group of up to 20 catchers gently pushed the flock towards the fences. Once the flock reached the fences or started to jump/fly above, catchers tried to catch as many geese as possible. All caught geese were individually put in jute sacks until they were marked. After marking, the geese were immediately released at the site so that they could join the flock again. All marked geese were observed and their wellbeing was checked from a distance a few hours after release. Catching and marking was supervised by a professional ringer and a veterinarian. Sex (known for 14 individuals), capture location, deployment date, tracking years and number of years tracked per individual retained in this study are presented in Table 1. For all tags the position was recorded every 15 min within the defined geofence and every 30 min outside the geofence. To save energy when the battery was less than 50 % charged, positions were recorded every hour. Data were transmitted every 12 hours within and every 24 hours outside the geofence. The geofence was defined as two rectangles with the following configuration: rectangle 1: north-west corner 47.812° 16.636° and south-east corner 47.611° 17.268°, rectangle 2: north-west corner 47.954° 16.637°, south-east corner 47.794° 16.909°. The geofence covered lake Neusiedl and the whole National Park. Family or pair bonds between studied individuals are not known.
Movement data
We downloaded GPS tracking data from all 29 geese from Movebank (ID: 505156776, reference location: 47.723°, 16.829°). Only one individual (X16) was a juvenile at the time of tagging, all others were adults. We sourced data between the 22nd of June 2018, and the 31st of May 2025, and cleaned the data to remove duplicates. We also visually assessed locations with high ground speed estimates (20 observations with > 120 km/h) and removed those associated with sharp turning angles between 120–190 degrees (i.e. high speeds occur in directional trajectories) (Boos et al., 2019; Pennycuick et al., 2013).
To characterize whether individuals in the population exhibited resident versus migratory movements, we first split the data into yearly segments. We defined the annual cycle as beginning on the 1st of June, corresponding to the middle of the breeding season, where geese were in moult and remained within the area of their breeding grounds (Nilsson & Kampe-Persson, 2018; Nilsson et al., 2022; Podhrázský et al., 2017). Additionally, all geese in our study were caught and fitted with GPS transmitters in June. We then filtered for individuals who had data covering a duration of a minimum of 270 days (from start to end) for our analysis to adequately capture the seasonality of potential migratory behaviour (Cagnacci et al., 2016). We chose 270 days (≈ three quarters of an annual cycle) as the minimum tracking window because it spans the full autumn departure, wintering period and spring return for this population, while still retaining enough individual-years for inter-annual comparison.
Within the 270-day period, we assessed trajectories for gaps longer than 24 hours (n = 107 gaps from 14 out of 57 id-year combinations). We shortened the trajectory of one individual (X16) from 365 to 288 days, as it had three longer gaps of 16, 18, and 20 days (in addition to 5 smaller gaps) in a period of a month and a half near the end of its trajectory. For the remaining gaps (n = 99 gaps; mean = 2.9 days [min = 1, max = 11.7 days]), we examined where along the annual cycle these gaps occurred by plotting their occurrence together with the Net Squared Displacement (NSD, described in detail below). We also quantified the displacement distance between successive locations spanning each gap to assess whether missing data were likely to affect the movement metrics in our analysis. Although some trajectories contained multiple gaps of one day or longer (S1), we considered the associated displacement distances relatively small (mean = 15.18 km [min = 0.00, max = 45.40 km]; S2). We therefore considered these gaps unlikely to obscure major movement processes or influence our classification of resident versus migratory movement strategies. We retained these individuals and gaps in the analyses. Our resulting dataset had 1,471,458 GPS fixes for which we quantified various movement metrics across space and time to distinguish whether individuals were resident or migratory (n = 21 individuals, n = 57 id-year combinations).
Annual Kernel Density Estimates
Resident individuals should exhibit localised movements around the breeding ground, resulting in an individual stable or localised spatial range estimate over the whole year. We first computed the annual Kernel Density Estimates (KDEs) as a purely spatial metric, to assess whether individuals’ spatial patterns revealed resident versus migratory characteristics. We estimated the KDE at the 95 % isopleth using the ‘amt’ package in R (Signer et al., 2019). The 95 % KDE represents the spatial area enclosed by the contour lines containing 95 % of the probability density of an individual’s locations across the landscape (Fleming et al., 2015). For resident birds, we expected the 95 % KDEs to be local to the breeding area, and for migratory birds, we expected the 95 % KDEs to span spatially distinct areas representing seasonal ranges. As migratory movement patterns violate the assumptions of range residency, we do not use the 95 % KDEs to make inferences on home range estimation (Silva et al., 2022).
Net Squared Displacement
The Net Squared Displacement (NSD) quantifies spatial displacement of an individual over time by calculating the squared straight-line distance between its initial location and each subsequent position along its movement path (Bunnefeld et al., 2011). It serves as a useful tool to distinguish between phases of long versus short distance movements (Bunnefeld et al., 2011; Cagnacci et al., 2016; Merkle et al., 2022). We calculated the NSD relative to the individual’s first point in its trajectory after tagging (i.e., breeding ground location). We expected that for resident individuals, the NSD across the year would be of low values, indicating displacements close to the breeding ground. For migratory birds, the NSD would indicate low values when near the breeding ground, and larger values as individuals displace to winter grounds in the non-breeding season. In our population of greylag geese, migratory movements, if made, typically occur between autumn and spring.
In addition to visual assessment of NSD patterns and model-based classification (see below), we calculated a summary metric to quantify the overall magnitude of displacement across the annual cycle. We computed the normalized area under the NSD curve (AUC-NSD) by integrating NSD values over time using the trapezoidal rule (trapz function from the 'pracma' package in R). This metric captures both how far and for how long individuals moved away from their starting location. As the NSD connects temporally adjacent fixes with straight line segments (i.e., bridging across gaps in trajectories) and individuals were tracked for various durations (start to end date), we normalised the metric by dividing the AUC-NSD by the total tracking duration (days), to make values comparable across individuals. We expected that resident individuals would have lower normalised AUC-NSD values due to remaining near the breeding ground year-round, and that migratory individuals would have larger normalised AUC-NSD values due to prolonged periods at distant locations. We highlight this duration-normalised AUC-NSD as a novel methodological contribution: existing NSD-based classifiers (e.g., Bunnefeld et al., 2011) can struggle when individuals undertake short-distance or irregular migrations (Singh, Allen, & Ericsson, 2016), because the shape of the NSD curve becomes ambiguous. AUC-NSD instead integrates the entire displacement trajectory into a single scalar that increases with both the magnitude and the persistence of displacement from the breeding ground. Intuitively, a resident that makes a brief, long excursion and a migrant that spends months at a moderately distant wintering site can produce qualitatively similar NSD ‘shapes’ but very different AUC-NSD values – making this metric particularly informative for populations with heterogeneous movement patterns such as the one studied here. By dividing the integrated NSD by total tracking days, the metric is rendered directly comparable across individuals with different tracking durations.
Distance and speed
Individuals embarking on migration should exhibit directed movement patterns at high movement speeds (Chapman et al., 2011b). For each tracking day of an individual, we calculated the direction and speed of each segment between consecutive locations using the mt_azimuth and mt_speed functions from the ‘move2’ package in R. As both direction and speed are metrics sensitive to temporal gaps in the data, we estimated these metrics only for individuals that on any given tracking day had sampling gaps of no longer than 3 hours.
NSD model
To validate our inferences on resident versus migratory strategies on the multiple spatial and temporal metrics we assessed, we also applied a model-driven approach to determine whether a theoretical resident, migratory, mixed-migrant, disperser, or nomad curve best explained the NSD patterns observed (Bunnefeld et al., 2011). We filtered trajectories to one GPS-fix per day, closest in time to noon (Bunnefeld et al., 2011), and we applied the ‘migrateR’ package (Spitz, Hebblewhite, & Stephenson, 2017), which fits a priori non-linear models reflecting movement pattern to NSD data and ranks the resulting behavioural model fits according to the Akaike information criterion (AIC).
Consistency in individual strategy
For individuals tracked across multiple years, we assessed whether individuals were consistent in their movement strategy (i.e., resident versus migratory) across subsequent years.
