https://github.com/digital-botanical-gardens-initiative/pictures-manager
https://github.com/digital-botanical-gardens-initiative/pictures-manager
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: digital-botanical-gardens-initiative
- License: other
- Language: Perl
- Default Branch: main
- Size: 211 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
pictures-manager
An automated process to format pictures from field collection in order to import them to iNaturalist.
- Github repository: https://github.com/digital-botanical-gardens-initiative/pictures-manager/
- Documentation https://edouardbruelhart.digital-botanical-gardens-initiative.io/pictures-manager/
Pictures manager script
Takes pictures from a QFieldCloud server instance (self-hosted or commercial) and modifies the metadata to have an automatic iNaturalist import. It takes the sample sampling code and coordinates in the gpkg file of interest and adds it in the pictures metadata. Then, once uploaded to iNaturalist, it adds the sampling code as a tag and the coordinates to the observation.
Prerequiste to make this code work:
- Pictures have to contain the scientific name of the species, the sampling code and the point of view (if you take multiple pictures of a single plant, it can be either a descripition of the point of view or a number, in order to have unique pictures names) separated by a space or an underscore. This can be done automatically with QField application when taking a picture
- gpkg have to have the columns xcoord that stores the x coordinate and the ycoord that stores the y coordinate. The CRS (Coordinates Reference System) is not important, the code detects it and converts it to EPSG:4326, that is the CRS used in iNaturalist
- gpkg have to have the column sample_id that stores the sampling code (that has to be unique in order to have unique pictures names)
- To have a Nextcloud instance on the same machine (if not the case, delete DBGINextcloudimport.py and remove it from DBGIscriptsrunner.py)
To run this code:
- clone the repository to your computer, by using this link: https://github.com/digital-botanical-gardens-initiative/iNaturalist_uploader.git
- Copy .env.example to .env and change the variables to suit your needs.
- Control that all used libraries are installed on your computer.
- Install exiftool on your Command Line Interface (bash, powershell, ...). Informations about exiftool: https://exiftool.org/
- Run the DBGIscriptsrunner.py script, that runs all the other scripts and perform the pictures metadata edition.
That's all. With that you should obtain modified pictures that contain the coordinates where the plant have been collected and the sampling code. If you want to verify, you can got to the pictures output directory and use the command
Owner
- Name: The Digital Botanical Garden Initiative
- Login: digital-botanical-gardens-initiative
- Kind: organization
- Repositories: 3
- Profile: https://github.com/digital-botanical-gardens-initiative
GitHub Events
Total
- Member event: 1
- Push event: 5
- Create event: 2
Last Year
- Member event: 1
- Push event: 5
- Create event: 2
Dependencies
- actions/cache v4 composite
- actions/setup-python v5 composite
- ./.github/actions/setup-poetry-env * composite
- actions/cache v4 composite
- actions/checkout v4 composite
- ./.github/actions/setup-poetry-env * composite
- actions/checkout v4 composite
- babel 2.17.0
- cachetools 5.5.2
- certifi 2025.1.31
- cfgv 3.4.0
- chardet 5.2.0
- charset-normalizer 3.4.1
- click 8.1.8
- colorama 0.4.6
- coverage 7.6.12
- deptry 0.16.2
- distlib 0.3.9
- exceptiongroup 1.2.2
- filelock 3.17.0
- ghp-import 2.1.0
- griffe 1.5.7
- identify 2.6.8
- idna 3.10
- importlib-metadata 8.6.1
- iniconfig 2.0.0
- jinja2 3.1.5
- markdown 3.7
- markupsafe 3.0.2
- mergedeep 1.3.4
- mkdocs 1.6.1
- mkdocs-autorefs 1.3.1
- mkdocs-get-deps 0.2.0
- mkdocs-material 9.6.5
- mkdocs-material-extensions 1.3.1
- mkdocstrings 0.26.2
- mkdocstrings-python 1.13.0
- mypy 1.15.0
- mypy-extensions 1.0.0
- nodeenv 1.9.1
- packaging 24.2
- paginate 0.5.7
- pathspec 0.12.1
- platformdirs 4.3.6
- pluggy 1.5.0
- pre-commit 3.8.0
- pygments 2.19.1
- pymdown-extensions 10.14.3
- pyproject-api 1.9.0
- pytest 7.4.4
- pytest-cov 5.0.0
- python-dateutil 2.9.0.post0
- pyyaml 6.0.2
- pyyaml-env-tag 0.1
- regex 2024.11.6
- requests 2.32.3
- six 1.17.0
- tomli 2.2.1
- tox 4.24.1
- typing-extensions 4.12.2
- urllib3 2.3.0
- virtualenv 20.29.2
- watchdog 6.0.0
- zipp 3.21.0
- deptry ^0.16.2 develop
- mypy ^1.5.1 develop
- pre-commit ^3.4.0 develop
- pytest ^7.2.0 develop
- pytest-cov ^5.0.0 develop
- tox ^4.11.1 develop
- mkdocs ^1.4.2 docs
- mkdocs-material ^9.2.7 docs
- mkdocstrings ^0.26.1 docs
- python >=3.9,<3.15