Hi there, the GDPR states that every website collecting user data should give to its users a way to massively export their data in a simple way (not a command line tool, which there is not either). Facebook and Google has this feature to request an archive containing pictures and json data, why is there nothing like this on Mapillary?
This is a big problem as more and more people want to have a proper backup with exif data inside of their photos, to import it to other services like panoramax or whatever, but no way to do so.
Who can reach the developer team to comply with law and hear their userbase? Should we unionize with some authority to have this feature which is mandatory in Europe since 2016, nearly 10 years ago?
@googie i did wrote to the support a few years ago about that, but they just never answered. So i hope that if a few people have feedback about a similar experience it would be easier to get it to work more quickly
Hi @tykayn, FYI that while there is no UI, you can get all of the images you have uploaded to Mapillary using the “creator” field in the API and the thumb_original_url
field: API Documentation
First, the download_images.py program was deleted during a “Python3 support” pull request:
Then, download.py was deleted during an “add API v4 support” pull request along with the entire readme section on how to download images.
Both of these were snuck into squashed commits in pull requests that have unrelated titles.
Now, the only way to download your images is through non-obvious API calls. In my opinion, this is a case of enshittification by making it harder and harder for users to extract their own CC BY-SA licensed images.
The ignoring of @tykayn’s request may breach the GDPR’s data portability requirements since you must inform a user who makes a request without undue delay and within one month.
Secondly, only being able to access your data by an obscure API endpoint may also breach GDPR’s data portability requirement. I am not a lawyer and this is not legally actionable.
I am trying to download all of my images with the following query: https://graph.mapillary.com/<image_id>?access_token=<access_token>&fields=thumb_original_url,creator&creator-username=<username>.
I haven’t yet figured out how to download all of my images in one query or if that is even achievable.
It’s problematic that to obtain my images, I need an access token which is obtained by clicking “Register Application” on this page which won’t let me get an API access token unless I provide a company name and a company website.
Even then, if I am able to get an API token, my one downloaded image’s metadata has been stripped of the GPS coordinates and creation date which is important information for archiving our own CC-BY-SA images.
Heya Mapillary team, this is giving Mapillary bad name on social media as well.
What are the plans to fix image downloads (for example, by having a documented API that does not strip crucial info like timestamp, coordinates and heading)?
There is documentation there for how to get the image itself (thumb_original_url) as well as all of the metadata (captured_at, compass_angle, geometry, and many others). It does require someone to call the API, but the data should all be there. I believe the data is not stored as part of the jpeg itself for performance and searchability, but all the data is available and can be written back to the jpeg if that’s what you would like. Here’s one example of a script which does this.
I have read the Mapillary API documentation and there is still no documented way to fetch all of my images.
You are proposing that I use a third-party tool to make API calls to fetch my images, and yet there still is no documented way to fetch all of my uploaded sequences, which is needed to fetch all of my images in that tool. There used to be a well-documented way to fetch all of your sequences but Mapillary removed it when you got rid of the v3 api.
Mapillary is still not providing a means to satisfy the data portability requirement of the GDPR. Telling users to run a script that someone else made on GitHub which is handicapped by Mapillary not documenting how (if it’s even possible) to fetch all of our sequence IDs is not a solution. How do you expect non-technical users to jump through all of these hoops that are convoluted for technical users?
I am disappointed that Mapillary will not even acknowledge this problem and is refusing to comply with the GDPR.
Can you honestly say that you are satisfying the right to data portability, as detailed below?
The right to data portability entitles an individual to:
receive a copy of their personal data; and/or
have their personal data transmitted from one controller to another controller.
Individuals have the right to receive their personal data and store it for further personal use. This allows the individual to manage and reuse their personal data.
Without hindrance means that you should not put in place any legal, technical or financial obstacles which slow down or prevent the transmission of the personal data to the individual, or to another organisation.
Now that’s an interesting question @filpic … Do what are essentially “public” views of the world fall into the category of one’s own “personal data”? The captured data is certainly a licensed (CC by 4.0) entity with the required squelching of other persons, but what about the contributor?
Personal Data - General Data Protection Regulation (GDPR) says a lot, but I see that it only refers to an identifiable natural person, not corporations, foundations and institutions. Unless by mistake it is unlikely that I have ever uploaded anything that is “me”. A reflection in a shop window might be about all… I am however quite happy that there is nothing identifiable about me that I have uploaded.
I have also kept the many TB’s of my uploads, so apart from ethical reasons, never have to be concerned about portability.
Not a legal view, but I am not concerned about Mapillary storage of my captures.
they definitely should add a “export” button somewhere soon to comply to current rules, not offer an unclear api with images and separated gps data
Respectfully, it is clear that some of the above comments are Americans making assumptions about GDPR requests based on lack of understanding.
According to the European Union, " Personal data is any information that relates to an identified or identifiable living individual. Different pieces of information, which collected together can lead to the identification of a particular person, also constitute personal data.
Personal data that has been de-identified, encrypted or pseudonymised but can be used to re-identify a person remains personal data and falls within the scope of the GDPR."
The EU then goes on to specifically state “location data” is included. The images that we upload contain location data AND an image of where we were looking at that time. Even if it has been de-identified or pseudonymised (i.e. a username), it counts as personal data.
We recently added the pagination to our APIs. See Pagination support for images endpoint. All you need is to paginate all your images with fields=thumb_original_url and then follow the URLs. If there is anything unclear in the API docs. Let us know.