Commandline tools to upload discrete images to Mapillary. Does not support videos.
This is a rewrite of a portion of the official Mapillary tools found at: https://github.com/mapillary/mapillary_tools
The official Mapillary tools are broken because Python 2 is dead. Major distributions have already removed Python 2 from their standard installation. An official Python 3 port has been requested in May 2018 but has not materialized so far.
A quick look at the official code shows that it is not worth porting anyway. That code was obviously written by lots of different people with varying understanding of Python and then duct-taped together to make it look like one application. It also pulls in way too many dependencies, like a full image manipulation library, 2 different Exif libraries (one of them custom patched) and an advanced keystore.
The rewritten code uses Python 3 and only a few external libraries.
This code does not change your image files, neither does it copy them. All data is put into small sidecar files. This keeps your disk lean and your backups small.
Authorize: This will prompt for your Mapillary password:
.. code-block:: shell
mapillary_auth.py --user_name
This step is needed only once. Your credentials are now stored in the file
:file:~/.config/mapillary/configs/<CLIENT_ID>
. Keep this file secret.
Mapillary credentials do not expire.
Pre-process the images:
.. code-block:: shell
mapillary_process.py ~/Pictures/Mapillary/*.jpg
This step extracts GPS data from your images and stores it in sidecar files.
Upload the images:
.. code-block:: shell
mapillary_upload.py ~/Pictures/Mapillary/*.jpg
The script remembers which images were successfully uploaded. If you run the upload script on the same images again, the ones already uploaded will not be uploaded again.
Cleanup:
.. code-block:: shell
mapillary_process.py --clean ~/Pictures/Mapillary/*.jpg
Delete all sidecar files. Caution: This will erase all memory about which files where already uploaded.
Run the scripts with '-h' to see more options.
This code has no support for GPS tracks.
To use GPS information stored in a GPS track use exiftool to insert GPS information into your image files, then proces them.