Skip to content

Import locations & deployments

At a glance

Import Locations and Deployments via CSV, and get timezone/DST handling right so timestamps process correctly.

  • Time: ~10 minutes
  • Who: anyone setting up a new project's spatial/temporal scaffolding

Importing Locations

Two ways to add Locations: manually via the map view, or in bulk via CSV/GPX.

CSV columns:

Column Meaning
locationID The ID/name of the location
longitude WGS84 decimal degrees, e.g. 19.58536776
latitude WGS84 decimal degrees, e.g. 63.55417296

Import via Geomap → Locations, then the Import locations from CSV/GPX action in the list header, selecting the right timezone and target Research Project.

Importing Deployments

Manually adding Deployments is error-prone — generate the table from the media files instead:

trapper-tools helpers template --data-path /path/to/data

Import the resulting CSV via Geomap → Deployments, then the Import deployments from CSV action in the list header. If the table includes longitude/latitude, Location rows are created automatically and you can skip the Locations import entirely.

See the full supported metadata field list at the Camtrap DP deployments spec — the generated template only fills the minimum required set.

Timezone behaviour

The default timezone for the TRAPPER app is Europe/Warsaw. Set your own working timezone in your User Profile settings (click your username in the top-right corner). Your working timezone affects how system notifications are displayed and is used as the default in forms — it does not change how recorded data timestamps are interpreted.

Daylight Saving Time

If a camera trap at a given Location does not observe DST (doesn't shift its clock in spring/autumn), mark that Location's ignore_DST flag True. With that set, all timestamps in recorded metadata from that Location (Deployment.start_date, Deployment.end_date, Resource.date_recorded) are processed ignoring DST.

Note

Two Locations have "the same timezone specification" only when both timezone and ignore_DST match — both values together describe how TRAPPER processes timestamps for that Location.

Setting timezone for a Location

Specify timezone and ignore_DST whichever way you add Locations:

  • The map-view single-location form.
  • Bulk CSV/GPX import.
  • Automatic Location creation during a Deployments bulk import.

Getting this right matters — it's used to process timestamps for every Deployment and Resource tied to that Location.

Timezone rules during CSV import

Import type Rule
Locations All locations in one file get the timezone/DST values from the form — you can only import one timezone/DST combination per CSV
Deployments Can reference different Locations, but all must share the same timezone specification. If creating new Locations, they get the form's timezone/DST values
Collections via trapper-tools Resources must link to Locations sharing one timezone specification; the YAML describing the Collection carries the timezone, validated against the database on upload

Data that doesn't meet the "same timezone specification" requirement has to be split across separate import files.

Next steps