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.
[6596] 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!