Data

Data in Camtrap DP are organized as three related resources (CSV files): deployments, media and observations. These Tabular Data Resources are described as resources in the datapackage.json file (see Metadata). The descriptions of their fields follow the Table Schema specifications and are presented below in human-readable form. Fields indicated with * are required (i.e. cannot be empty).

Deployments

Source: deployments-table-schema.json

Table with camera trap placements (deployments). Includes deploymentID, start, end, location and camera setup information.

Name Definition Type
deploymentID *

Unique identifier of the deployment.

Constraints
  • required: true
  • unique: true

Example: dep1

string
locationID

Identifier of the deployment location.

Constraints
  • required: false

Example: loc1

string
locationName

Name given to the deployment location.

Constraints
  • required: false

Example: Białowieża MRI 01

string
latitude *

Latitude of the deployment location in decimal degrees, using the WGS84 datum.

Constraints
  • required: true
  • minimum: -90
  • maximum: 90

Example: 52.70442

number
longitude *

Longitude of the deployment location in decimal degrees, using the WGS84 datum.

Constraints
  • required: true
  • minimum: -180
  • maximum: 180

Example: 23.84995

number
coordinateUncertainty

Horizontal distance from the given latitude and longitude describing the smallest circle containing the deployment location. Expressed in meters. Especially relevant when coordinates are rounded to protect sensitive species.

Constraints
  • required: false
  • minimum: 1

Example: 100

integer
deploymentStart *

Date and time at which the deployment was started. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: true

Example: 2020-03-01T22:00:00Z

datetime
deploymentEnd *

Date and time at which the deployment was ended. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: true

Example: 2020-04-01T22:00:00Z

datetime
setupBy

Name or identifier of the person or organization that deployed the camera.

Constraints
  • required: false

Example: Jakub Bubnicki

string
cameraID

Identifier of the camera used for the deployment (e.g. the camera device serial number).

Constraints
  • required: false

Example: P800HG08192031

string
cameraModel

Manufacturer and model of the camera. Formatted as manufacturer-model.

Constraints
  • required: false

Example: Reconyx-PC800

string
cameraDelay

Predefined duration after detection when further activity is ignored. Expressed in seconds.

Constraints
  • required: false
  • minimum: 0

Example: 120

integer
cameraHeight

Height at which the camera was deployed. Expressed in meters. Not to be combined with cameraDepth.

Constraints
  • required: false
  • minimum: 0

Example: 1.2

number
cameraDepth

Depth at which the camera was deployed. Expressed in meters. Not to be combined with cameraHeight.

Constraints
  • required: false
  • minimum: 0

Example: 4.8

number
cameraTilt

Angle at which the camera was deployed in the vertical plane. Expressed in degrees, with -90 facing down, 0 horizontal and 90 facing up.

Constraints
  • required: false
  • minimum: -90
  • maximum: 90

Example: -90

integer
cameraHeading

Angle at which the camera was deployed in the horizontal plane. Expressed in decimal degrees clockwise from north, with values ranging from 0 to 360: 0 = north, 90 = east, 180 = south, 270 = west.

Constraints
  • required: false
  • minimum: 0
  • maximum: 360

Example: 225

integer
detectionDistance

Maximum distance at which the camera can reliably detect activity. Expressed in meters. Typically measured by having a human move in front of the camera.

Constraints
  • required: false
  • minimum: 0

Example: 9.5

number
timestampIssues

true if timestamps in the media resource for the deployment are known to have (unsolvable) issues (e.g. unknown timezone, am/pm switch).

Constraints
  • required: false
boolean
baitUse

true if bait was used for the deployment. More information can be provided in tags or comments.

Constraints
  • required: false

Example: true

boolean
featureType

Type of the feature (if any) associated with the deployment.

Constraints
  • required: false
  • enum: roadPaved, roadDirt, trailHiking, trailGame, roadUnderpass, roadOverpass, roadBridge, culvert, burrow, nestSite, carcass, waterSource, fruitingTree

Example: culvert

string
habitat

Short characterization of the habitat at the deployment location.

Constraints
  • required: false

Example: Mixed temperate low-land forest

string
deploymentGroups

Deployment group(s) associated with the deployment. Deployment groups can have a spatial (arrays, grids, clusters), temporal (sessions, seasons, months, years) or other context. Formatted as a pipe (|) separated list for multiple values, with values preferably formatted as key:value pairs.

Constraints
  • required: false

Example: season:winter 2020 | grid:A1

string
deploymentTags

Tag(s) associated with the deployment. Formatted as a pipe (|) separated list for multiple values, with values optionally formatted as key:value pairs.

Constraints
  • required: false

Example: forest edge | bait:food

string
deploymentComments

Comments or notes about the deployment.

Constraints
  • required: false
string

Media

Source: media-table-schema.json

Table with media files (images/videos) recorded during deployments (deploymentID). Includes timestamp and file path.

Name Definition Type
mediaID *

Unique identifier of the media file.

Constraints
  • required: true
  • unique: true

Example: m1

string
deploymentID *

Identifier of the deployment the media file belongs to. Foreign key to deployments.deploymentID.

Constraints
  • required: true

Example: dep1

string
captureMethod

Method used to capture the media file.

Constraints
  • required: false
  • enum: activityDetection, timeLapse

Example: activityDetection

string
timestamp *

Date and time at which the media file was recorded. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: true

Example: 2020-03-24T11:21:46Z

datetime
filePath *

URL or relative path to the media file, respectively for externally hosted files or files that are part of the package.

Constraints
  • required: true
  • pattern: ^(?=^[^./~])(^((?!\.{2}).)*$).*$

Example: https://multimedia.agouti.eu/assets/6d65f3e4-4770-407b-b2bf-878983bf9872/file

string
filePublic *

false if the media file is not publicly accessible (e.g. to protect the privacy of people).

Constraints
  • required: true

Example: true

boolean
fileName

Name of the media file. If provided, one should be able to sort media files chronologically within a deployment on timestamp (first) and fileName (second).

Constraints
  • required: false

Example: IMG0001.jpg

string
fileMediatype *

Mediatype of the media file. Expressed as an IANA Media Type.

Constraints
  • required: true
  • pattern: ^(image|video|audio)/.*$

Example: image/jpeg

string
exifData

EXIF data of the media file. Formatted as a valid JSON object.

Constraints
  • required: false

Example: {"EXIF":{"ISO":200,"Make":"RECONYX"}}

any
favorite

true if the media file is deemed of interest (e.g. an exemplar image of an individual).

Constraints
  • required: false

Example: true

boolean
mediaComments

Comments or notes about the media file.

Constraints
  • required: false

Example: corrupted file

string

Observations

Source: observations-table-schema.json

Table with observations derived from the media files. Associated with deployments (deploymentID). Observations can mark non-animal events (camera setup, human, blank) or one or more animal observations (observationType = animal) of a certain taxon, count, life stage, sex, behavior and/or individual. Observations can be made at different levels (observationLevel).

Name Definition Type
observationID *

Unique identifier of the observation.

Constraints
  • required: true
  • unique: true

Example: obs1

string
deploymentID *

Identifier of the deployment the observation belongs to. Foreign key to deployments.deploymentID.

Constraints
  • required: true

Example: dep1

string
mediaID

Identifier of the media file that was classified. Only applicable for media-based observations (observationLevel = media). Foreign key to media.mediaID.

Constraints
  • required: false

Example: m1

string
eventID

Identifier of the event the observation belongs to. Facilitates linking event-based and media-based observations with a permanent identifier.

Constraints
  • required: false

Example: sequence1

string
eventStart *

Date and time at which the event started. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: true

Example: 2020-03-01T22:00:00Z

datetime
eventEnd *

Date and time at which the event ended. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: true

Example: 2020-04-01T22:00:00Z

datetime
observationLevel *

Level at which the observation was classified. media for media-based observations that are directly associated with a media file (mediaID). These are especially useful for machine learning and don’t need to be mutually exclusive (e.g. multiple classifications are allowed). event for event-based observations that consider an event (comprising a collection of media files). These are especially useful for ecological research and should be mutually exclusive, so that their count can be summed.

Constraints
  • required: true
  • enum: media, event

Example: media

string
observationType *

Type of the observation. All categories in this vocabulary have to be understandable from an AI point of view. unknown describes classifications with a classificationProbability below some predefined threshold i.e. neither humans nor AI can say what was recorded.

Constraints
  • required: true
  • enum: animal, human, vehicle, blank, unknown, unclassified

Example: animal

string
cameraSetupType

Type of the camera setup action (if any) associated with the observation.

Constraints
  • required: false
  • enum: setup, calibration

Example: calibration

string
scientificName

Scientific name of the observed individual(s).

Constraints
  • required: false

Example: Canis lupus

string
count

Number of observed individuals (optionally of given life stage, sex and behavior).

Constraints
  • required: false
  • minimum: 1

Example: 5

integer
lifeStage

Age class or life stage of the observed individual(s).

Constraints
  • required: false
  • enum: adult, subadult, juvenile

Example: adult

string
sex

Sex of the observed individual(s)

Constraints
  • required: false
  • enum: female, male

Example: female

string
behavior

Dominant behavior of the observed individual(s), preferably expressed as controlled values (e.g. grazing, browsing, rooting, vigilance, running, walking). Formatted as a pipe (|) separated list for multiple values, with the dominant behavior listed first.

Constraints
  • required: false

Example: vigilance

string
individualID

Identifier of the observed individual.

Constraints
  • required: false

Example: RD213

string
individualPositionRadius

Distance from the camera to the observed individual identified by individualID. Expressed in meters. Required for distance analyses (e.g. Howe et al. 2017) and random encounter modelling (e.g. Rowcliffe et al. 2011).

Constraints
  • required: false
  • minimum: 0

Example: 6.81

number
individualPositionAngle

Angular distance from the camera view centerline to the observed individual identified by individualID. Expressed in degrees, with negative values left, 0 straight ahead and positive values right. Required for distance analyses (e.g. Howe et al. 2017) and random encounter modelling (e.g. Rowcliffe et al. 2011).

Constraints
  • required: false
  • minimum: -90
  • maximum: 90

Example: -8.56

number
individualSpeed

Average movement speed of the observed individual identified by individualID. Expressed in meters per second. Required for random encounter modelling (e.g. Rowcliffe et al. 2016).

Constraints
  • required: false
  • minimum: 0

Example: 1.75

number
bboxX

Horizontal position of the top-left corner of a bounding box that encompasses the observed individual(s) in the media file identified by mediaID. Or the horizontal position of an object in that media file. Measured from the left and relative to media file width.

Constraints
  • required: false
  • minimum: 0
  • maximum: 1

Example: 0.2

number
bboxY

Vertical position of the top-left corner of a bounding box that encompasses the observed individual(s) in the media file identified by mediaID. Or the vertical position of an object in that media file. Measured from the top and relative to the media file height.

Constraints
  • required: false
  • minimum: 0
  • maximum: 1

Example: 0.25

number
bboxWidth

Width of a bounding box that encompasses the observed individual(s) in the media file identified by mediaID. Measured from the left of the bounding box and relative to the media file width.

Constraints
  • required: false
  • minimum: 1e-15
  • maximum: 1

Example: 0.4

number
bboxHeight

Height of the bounding box that encompasses the observed individual(s) in the media file identified by mediaID. Measured from the top of the bounding box and relative to the media file height.

Constraints
  • required: false
  • minimum: 1e-15
  • maximum: 1

Example: 0.5

number
classificationMethod

Method (most recently) used to classify the observation.

Constraints
  • required: false
  • enum: human, machine

Example: human

string
classifiedBy

Name or identifier of the person or AI algorithm that (most recently) classified the observation.

Constraints
  • required: false

Example: MegaDetector V5

string
classificationTimestamp

Date and time of the (most recent) classification. Formatted as an ISO 8601 string with timezone designator (YYYY-MM-DDThh:mm:ssZ or YYYY-MM-DDThh:mm:ss±hh:mm).

Constraints
  • required: false

Example: 2020-08-22T10:25:19Z

datetime
classificationProbability

Degree of certainty of the (most recent) classification. Expressed as a probability, with 1 being maximum certainty. Omit or provide an approximate probability for human classifications.

Constraints
  • required: false
  • minimum: 0
  • maximum: 1

Example: 0.95

number
observationTags

Tag(s) associated with the observation. Formatted as a pipe (|) separated list for multiple values, with values optionally formatted as key:value pairs.

Constraints
  • required: false

Example: travelDirection:left

string
observationComments

Comments or notes about the observation.

Constraints
  • required: false
string