1 unstable release

0.1.0 Nov 22, 2023

#2 in #trap

MIT license

35KB
329 lines

camtrap_dp

Documentation Crate License

Description

camtrap_dp is a Rust crate designed for handling Camera Trap Data Packages as specified by the Camera Trap Data Package standard. It provides a standardized format for describing camera trap deployments and the media files recorded, based on Data Package and Tabular Data Package specifications.

This library streamlines both reading and writing camera trap data, including deployments, media files, and observations derived from these files.

Features

  • Structures for representing camera trap deployments, media files, and observations.
  • CSV serialization and deserialization capabilities.
  • Comprehensive handling of various camera trap data attributes.

Installation

Add camtrap_dp as a dependency in your Cargo.toml:

[dependencies]
camtrap_dp = "0.1.0"  # Replace with the latest version

Usage

Reading Data

Reading deployment and media data example:

use camtrap_dp::{Deployment, Medium, Observation};

// Reading deployment data from a CSV file
let deployments = Deployment::from_file("path/to/deployments.csv").unwrap();

// Reading media data from a URL
let media_data = Medium::from_url("http://example.com/media.csv").unwrap();

// Reading observations from a file
let observations = Observation::from_file("path/to/observations.csv").unwrap();

Writing Data

Writing deployment data to a CSV file example:

// Assuming deployments is a Vec<Deployment> populated with data
deployments.to_file("path/to/output/deployments.csv").unwrap();

Contributing

Contributions are welcome! Feel free to report issues, suggest features, or submit pull requests on our GitHub repository.

License

camtrap_dp is licensed under the MIT License - see the LICENSE file for more information.

Acknowledgments

Thanks to all contributors and the teams behind the Camera Trap Data Package standards.

Dependencies

~6–18MB
~241K SLoC