chei90 / EMAC_Corridors

0 stars 0 forks source link

Movement Corridor Detection

MoveApps

Github repository: https://github.com/chei90/EMAC_Corridors

Description

This app is about detecting corridors of animal movement. The current output of this app is a html file (containing a map, can be opened with browser) that highlights areas where more individuals have traversed through. The darker the color, the more individuals were recorded.

EuroDeer Roe deer in Italy 2005-2008

EuroDeer

North Sea population tracks of greater white-fronted geese 2014-2017 (data from Klzsch et al. 2019)

White-fronted geese

LifeTrack White Stork SW Germany

Stork

Documentation

  1. The input data is stripped from all unwanted data. Only the individual id, the timestamp and position are kept.
  2. The trajectories are simplified by using Ramer-Douglas-Peucker-Algorithm. The magnitude of simplification can be controlled via the Rdp Epsilon parameter. As described in the Settings section.
  3. The trajectories are traced against a grid
  4. The number of different individuals per grid is counted
  5. Adjacent cells (moore neighbourhood) are joined, the MCP is calculated.
  6. The sum of mcps is simplified and returned.

Input data

The app expects a TrajectoryCollection whose GeoDataFrames contain the following columns:

Output data

This app produces multiple polygons that denote the different passage corridors. Since TrajectoryCollection doesn't support polygons, the data has to be provided as artifact (downloadable content). See below.

In consequence: the output data of this app is not intended to be processed further. The app outputs the input data.

Artifacts

Settings

All settings values are positive integers, so negative values are not allowed.

Working Example

This section is intended to give you a good basis on where to start while checking out the app. Create a new workflow: Example Workflow

If you want to start by reproducing my results, choose the following movebank dataset as datasource: Dataset

Note Don't forget to use the translator app that converts R dataframes to pythons' Trajectorycollection (see in the workflow above: moveStack to MovingPandas).

Open the App Settings of Movement Corridor Detection:

Settings

Set the settings to:

You will get the following result

Result