GeoFoto Copy

Python plugin for QGIS that copies georeferenced photos associated with selected features.

Organizes images into destination folders by code/identifier (e.g., R-1) and displays progress and log information during the process.

GeoFoto Copy - Main Interface

About the Project

GeoFoto Copy is a QGIS plugin developed in Python (PyQt5) that automates the copying of georeferenced photos from a vector layer. It allows users to select features on the map, read file names from a layer field (default: Name), search for those images in a source folder, and copy them to a destination folder organized by plate codes or identifiers.

The plugin displays a progress bar, keeps a detailed log with the status of each file (copied / not found), and saves the used paths in config.ini for future sessions.

Main Features:

Why I Created This Plugin

At work, we needed to copy specific georeferenced photos that contained certain types of traffic signs. Until then, the process was completely manual — checking the photo name in the layer, finding the file in the source folder, and copying it to the destination, which was time-consuming and error-prone.

To automate this task, I created GeoFoto Copy. With it, we can:

This plugin can also be expanded in the future with features such as:

Technologies Used

Python QGIS PyQt5 os shutil configparser Shapefile / Vector Layers

How to Use

  1. Install the plugin by copying the folder to the QGIS plugin directory or from GitHub.
  2. Open QGIS and load the vector layer with a Name field containing photo filenames.
  3. Select the features corresponding to the photos you want to copy.
  4. Open the plugin from the GeoFoto Copy menu.
  5. Select the source and destination folders.
  6. Enter the plate or feature code, which will be created as a subfolder in the destination folder.
  7. Click Start Copy and monitor progress via the log and status bar.

Example of Use

For example, if you have a layer with a Name field containing IMG_001.jpg, IMG_002.jpg, and IMG_003.jpg, and you select two features while running the plugin with plate R-1, it will create the folder destination/R-1/ and copy only the found files, logging which ones were copied and which were missing.

Screenshots

Plugin Dialog

Dialog showing folder selection, code field, progress bar, and log

Plugin Log

Log displaying copied and missing files

Destination Folder

Example of destination folder containing the plate subfolder

← Back to Portfolio