|
| 1 | +--- |
| 2 | +title: FAQ |
| 3 | +description: Frequently Asked Questions |
| 4 | +permalink: /faq/ |
| 5 | +toc: true |
| 6 | +--- |
| 7 | + |
| 8 | +{:id="bboxes"} |
| 9 | +## How to describe bounding boxes of detected objects? |
| 10 | + |
| 11 | +In Camtrap DP, in the [observations](/data/#observations) table there are four terms used to describe bounding boxes: [`bboxX`](/data/#observations.bboxX), [`bboxY`](/data/#observations.bboxY), [`bboxWidth`](/data/#observations.bboxWidth), and [`bboxHeight`](/data/#observations.bboxHeight). The values for all these fields are numbers between 0 and 1, relative to the image size. |
| 12 | + |
| 13 | +The `bboxX` and `bboxY` fields represent the coordinates of the top-left corner of the bounding box. `bboxX` is measured from the left edge of the image, while `bboxY` is measured from the top edge. `bboxWidth` represents the width of the bounding box, measured from its left edge to its right edge. Similarly, `bboxHeight` represents the height of the bounding box, measured from its top edge to its bottom edge. |
| 14 | + |
| 15 | +{:id="multiple-events"} |
| 16 | +## How to describe multiple events related to a single resource? |
| 17 | + |
| 18 | +Multiple records in the observations table can reference the same media. See the [github issue](https://github.com/tdwg/camtrap-dp/issues/39). |
| 19 | + |
| 20 | +{:id="multi-camera"} |
| 21 | +## How to handle multi-camera deployments? |
| 22 | + |
| 23 | +See the [github issue](https://github.com/tdwg/camtrap-dp/issues/328). |
| 24 | + |
| 25 | +{:id="non-animal"} |
| 26 | +## Can I describe plant or fungus observations using camtrap-dp? |
| 27 | + |
| 28 | +Currently, possible values for the [`observationType`](/data/#observations.observationType) field in the observations table are: `animal`, `human`, `vehicle`, `blank`, `unknown` and `unclassified`. This definition does not allow for observations of plants or fungi. |
| 29 | + |
| 30 | +If you have a use case for describing non-animal observations using camtrap-dp, please let us know in [this github issue](https://github.com/tdwg/camtrap-dp/issues/346). |
| 31 | + |
| 32 | +{:id="measurements"} |
| 33 | +## How to include measurements in a data package? |
| 34 | + |
| 35 | +There are two ways to include additional information (values not covered by the standard fields) in a camtrap-dp data package: |
| 36 | + |
| 37 | +### Using tags |
| 38 | + |
| 39 | +Deployment and observation tables include [`deploymentTags`](/data/#deployments.deploymentTags) and [`observationTags`](/data/#observations.observationTags) fields. These fields can be used to store additional information as pipe-delimited key:value pairs. For example, this is how temperature and snow cover information could be represented in the deployment table: |
| 40 | + |
| 41 | +deploymentID | deploymentTags |
| 42 | +--- | --- |
| 43 | +dep1 | temperature:20 | snow_cover:false |
| 44 | +dep2 | temperature:-5 | snow_cover:true |
| 45 | + |
| 46 | +There are some drawbacks to using this method. Storing additional information in the media table is not possible, since it does not contain a tags field. Additionally, data represented this way is difficult to parse. |
| 47 | + |
| 48 | +### Using a custom table |
| 49 | + |
| 50 | +A custom table can be added to the data package to store additional information. This requires providing a schema for the additional table. The schema must include a foreign key to the referenced table ([`deploymentID`](/data/#deployments.deploymentID), [`observationID`](/data/#observations.observationID), or [`mediaID`](/data/#media.mediaID)) and the additional fields. Here is an example schema for the deployment measurement table: |
| 51 | + |
| 52 | +```json |
| 53 | +{ |
| 54 | + "name": "deployment-measurements", |
| 55 | + "title": "Deployment measurements", |
| 56 | + "description": "Table with weather measurements for deployments. Associated with deployments (`deploymentID`).", |
| 57 | + "fields": [ |
| 58 | + { |
| 59 | + "name": "deploymentID", |
| 60 | + "description": "Identifier of the deployment. Foreign key to `deployments.deploymentID`.", |
| 61 | + "skos:broadMatch": "http://rs.tdwg.org/dwc/terms/parentEventID", |
| 62 | + "type": "string", |
| 63 | + "constraints": { |
| 64 | + "required": true |
| 65 | + }, |
| 66 | + "example": "dep1" |
| 67 | + }, |
| 68 | + { |
| 69 | + "name": "temperature", |
| 70 | + "description": "Temperature (in Celsius) at the time of the observation.)", |
| 71 | + "type": "number", |
| 72 | + "constraints": { |
| 73 | + "required": false, |
| 74 | + "minimum": -50, |
| 75 | + "maximum": 100 |
| 76 | + }, |
| 77 | + "example": 19.5 |
| 78 | + }, |
| 79 | + { |
| 80 | + "name": "snowCover", |
| 81 | + "description": "Snow cover present at the time of the observation.", |
| 82 | + "type": "boolean", |
| 83 | + "constraints": { |
| 84 | + "required": false |
| 85 | + }, |
| 86 | + "example": true |
| 87 | + } |
| 88 | + ], |
| 89 | + "foreignKeys": [ |
| 90 | + { |
| 91 | + "fields": "deploymentID", |
| 92 | + "reference": { |
| 93 | + "resource": "deployments", |
| 94 | + "fields": "deploymentID" |
| 95 | + } |
| 96 | + } |
| 97 | + ] |
| 98 | +} |
| 99 | +``` |
| 100 | + |
| 101 | +The schema has to be added to the `datapackage.json` file in the [`resources`](/metadata/#resources) field. |
| 102 | + |
| 103 | +This is an example table following the schema above: |
| 104 | + |
| 105 | +deploymentID | temperature | snowCover |
| 106 | +--- | --- | --- |
| 107 | +dep1 | 20 | false |
| 108 | +dep2 | -5 | true |
| 109 | + |
| 110 | +We recommend this approach for storing additional information. It allows for easier parsing and merging of tables and is more flexible than using tags. |
| 111 | + |
| 112 | +For more details, see [this github issue](https://github.com/tdwg/camtrap-dp/issues/358). |
| 113 | + |
| 114 | + |
| 115 | +{:id="merge"} |
| 116 | +## How to merge data packages describing different projects? |
| 117 | + |
| 118 | +By design, a single camtrap-dp data package describes a single project. However, there are some use cases (for example, a meta-analysis) where merging multiple data packages could be beneficial. |
| 119 | + |
| 120 | +We provide an [R package](https://inbo.github.io/camtrapdp/) to read and manipulate camtrap-dp data packages. The R package includes the [merge function](https://inbo.github.io/camtrapdp/reference/merge_camtrapdp.html), which can be used to merge two data packages into one. The resulting data package will be in a valid camtrap-dp format and can be published. |
| 121 | + |
| 122 | +Refer to the merge function documentation to understand how specific fields are merged to avoid information loss. Please note that when merging data packages x and y, the [`project$samplingDesign`](/metadata/#project.samplingDesign) field in the resulting package will be set to the value of `project$samplingDesign` from data package x. Therefore, we recommend merging data packages only for projects that use the same sampling design. |
| 123 | + |
0 commit comments