Hi @eneerhut , thanks for this.
I have three frustrations at the moment. (Four if I include the GoPro crashing in the Dubai heat, but that is a different topic ):
a) also the latest CLI tool keeps crashing before it even starts uploading; I collected roughly 30,000 pics yesterday, and when I restart it I get this:
Sub process ended
Processing image upload parameters: 100%|███████████████████████████████████████████| 314/314 [00:00<00:00, 688.32it/s]
Sub process ended
Inserting mapillary image description in image EXIF: 91%|███████████████████████▊ | 288/315 [00:00<00:00, 840.76it/s]
Traceback (most recent call last):
File "main.py", line 4, in <module>
File "mapillary_tools\__main__.py", line 93, in main
File "mapillary_tools\commands\process_and_upload.py", line 445, in run
File "mapillary_tools\insert_MAPJson.py", line 91, in insert_MAPJson
File "mapillary_tools\processing.py", line 591, in get_final_mapillary_image_description
File "mapillary_tools\exif_write.py", line 15, in __init__
File "piexif\_load.py", line 28, in load
File "piexif\_load.py", line 104, in __init__
piexif._exceptions.InvalidImageDataError: Given file is neither JPEG nor TIFF.
 Failed to execute script main
One of the images is damaged, probably from the GoPro crashing. Not Mapillary’s fault, obviously. But did you notice that it does not tell me WHICH picture is broken? I restarted the script several times, which is why it only counts 315 unprocessed images, but how am I going to find the faulty file in my 30k images?
Easy: I use an old version of the command line tools from January 2020, which gives me a meaningful errormessage:
Error opening file: Given file is neither JPEG nor TIFF.
Error, image EXIF could not be written back for image X:\mapillary\2021-07-17\107GOPRO\_G0029696.JPG
Sub process ended
I appreciate that Mapillary migrated the CLI tools to Python3, which was a lot of work, and I appreciate the regular updates that seem to be making it better, every time. But as a user, there is also a regression in my experience, where a previously helpful error message was taken away.
b) Pictures uploaded after mid June are not available on API V3 - this breaks my tools (see below), and iD does not have the images that I have uploaded. Yes, the JOSM plugin has them, but I do not like JOSM. This is a hobby, I do not get paid for my time or wear and tear of my car (and SD cards), and I do not want to spend my free time with things that I do not like. (And look, dear reader, if you love JOSM and are happy with it, awesome and more power to you. But it is not for me. I tried it several times over the last 4 weeks, and was able to achieve what I set out to do, but I did not like it. We are just not meant to be together.)
In short, I think withholding new images from API V3 should have waited a lot longer.
c) API V4 took away the function that I used on API V3 (closeTo), and there is no meaningful migration guide anywhere that would explain how to achieve the same results; there is a huge learning curve from parsing JSON to downloading and decoding vector tiles - finding a solution (with help from the forum here) and implementing it cost me two weekends
And the frustrating thing is that when I compare the new code with the old solution, I even have to agree that the new API helped me write much cleaner code with a lot less lines, and is much faster. But you are shooting yourself in the foot by making the migration more work that it would have to be.
Have a great Sunday!