Photo2shape analyzes a collection of geotagged images or photos and creates a vector layer, containing their location and some additional information extracted from the EXIF tags.
Starting from the version 3.0 Photo2Shape supports different backends for reading EXIF metadata. Some backends may rely on the 3rd party libraries, so in order to use them you will need to install corresponding dependencies first.
Currently the following backends are available:
- exifread. This backend is based on the exifpy — a Python module to extract EXIF metadata. If you want to use this backend, it is necessary to install exifpy >=2.0.1. This is a default backend.
- GDAL. This backend is based on the GDAL’s ability to read EXIF metadata. Does not require any additional packages.
NotePhoto2Shape loads all available backends automatically. If you don’t see some backends in the list, please check QGIS message log for any messages, probably you did not install required dependencies.
Once installed and enabled, Photo2Shape creates a submenu in the QGIS “Vector” menu and also adds a button to the “Vector” toolbar. If you don’t see its icon, please make sure that the “Vector” toolbar is enabled.
Clicking on the plugin’s button or menu item will open the Photo2Shape dialog.
Select a directory with the photos using the “Directory with images” selector. You can also drag-and-drop files from the file manager to this widget. If images are organized in subdirectories, and you want to process them all, please check the “Recurse subdirectories” option, otherwise only the top-level directory will be processed.
Then, select the output file using the “Output shapefile” selector or drag-and-drop a file from file manager to this widget. If you already have an existing shapefile from previous runs and want to append new data to it, check the “Append to existing file” option.
WarningPhoto2Shape does not check if target layer has all required fields nor create missed fields in “Append to existing file” mode. If you use “Append to existing file” mode, it is your responsibility to select a target layer containing all the required fields in its attribute table.
Note that, if the “Append to existing file” option is checked and a new, non-existent, file is selected as output, a warning will be shown, and you will be asked to select an existing file or deactivate the checkbox.
Also, it is possible to select an output encoding from the “Encoding” combobox. Use the “Backend to use” combobox to select which backend should be used to extract information.
If you want to load the resulting layer into QGIS, check the “Add result to canvas” option.
Finally, to start processing press the “OK” button. The dialog will close and operation will be scheduled for execution as a background task. When the task will be started by the task manager, the operation progress will be shown with a progress bar at the bottom of the QGIS main dialog. Use QGIS task manager interface to interact with the running task, e.g. to interrupt it at any time. In case of interruption, the plugin will finish processing the currently analyzed photo and stop, so that the output file will remain in the consistent state.
When task finishes, you will be informed with a message bar pop-up. If the “Add result to canvas” option was checked, the layer will be loaded with a built-in style applied to allow better UX when using layer and its attribute table. Namely the “filepath” field will use the “photo” editing widget.
Also if map tips are enabled, it is possible to view a photo preview by hovering mouse cursor over a point.