[User Story] 2. Images & Traffic Signs
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
Piste de recherche
Commencez par localiser le point d’entrée du SDK pour l’opération get_data proposée ainsi que les requêtes existantes de tuiles image-coverage et traffic-sign. Examinez comment pourraient s’articuler la validation de l’organisation, de la plage de dates, de la boîte englobante, du rayon et des entrées obligatoires. Le travail sera considéré comme terminé lorsqu’une conception et un périmètre d’implémentation convenus auront été définis pour le workflow de filtrage de image et traffic-sign ainsi que pour les limites de taille des requêtes.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Context
A user who uses a camera to take images all over the city would like to,
- Get a list of images uploaded to their organization (request to the image coverage tiles, then filter by the organization)
- Filter for images during a certain date range, like last week (so apply a date filter).
- Then they want to get all traffic signs visible in these images (so must really then call the same tiles from the traffic signs layer, using the same z/x/y)
- Then filter by calling graph.mapillary.com/TRAFFIC_SIGN_ID?fields=images, and keep only the traffic signs where at least 1 image in the images list matches a universal list of images from the tile request that uses date and organization filter
Concern
Each of these red boxes is 1-degree longitude by 1-degree lat. Maybe the max can be 2x2 degrees. And the user could set an override maybe, but by default, we reject if the area is 2x2 = 4 square degrees for a bbox.
For a radius, simply take area = (2* radius) ^ 2. And reject if area > 4 sq degrees also. But radius may be in meters, we need to have a handler of that too. The user should input radius in meters which we need to convert to degrees maybe.

Approaches/Limitations
Interestingly, this is not a function to get data by a bounding box, nor an input coordinate with a radius search. It has no geographic input argument, only organization name/key, and date range. So maybe a get_data function needs some special design.
It must have some argument that limits the search,
- The bounding box (with max size maybe, like a bounding box for all of Africa may be too big for the API or server)
- A radius around a coordinate (and max radius, like 200 meters is okay but 25,000km is too much), a date range (is their one that is too big?)
- An organization key for example, if I just do get_data(<date range from 2014 to 2021>) it would try to pull all global data from all time Mapillary existed. Too big. But the API would return a 500 probably, or deny access with a rate limit.
- We also need to say that you need either a bbox, a radius, an organization key, or a date range, or a combination, but you cannot have any. So all these arguments are optional as long as 1 exists as a minimum, but you cannot call a get_data function with no arguments. So thinking about how to check that.
- The other limitation then is just on bounding box, radius, or date range size maybe. For example,
- If bbox is within the size limit, then the date range can be anything
- If bbox and date range both exceeds the size limit (box size of Africa, date of 3 years), reject
- If bbox is the size of Africa, but the date range is 1 week, accept
- Same with radius. No limits on the organization as a parameter.
I will ask for some tips on bbox and radius size limits. For bbox, maybe an area limit, so abs(max_x - min_x) * abs(max_y - min_y) must be < limit. Then x,y of bbox are in degrees though, not meters. But that's okay. Maybe 1x1 degree is the limit, so 1 square degree.
Code Example [OPTIONAL]
Something like,
get_data(layer=traffic_signs,filter=[organization=XXX, min_date=YYYY-MM-DD HH:MM:SS, max_date=YYYY-MM-DD HH:MM:SS])
Inside this is a function that gets a list of all image keys that are in the organization, and have the date range like valid_images=[key1,key2,key3,...keyN], but also the tile coordinates like tiles = [ [x,y], [x,y], [x,y] ]
If there are 3 tiles (maybe just 1, maybe 20?). Then get a list of all traffic sign IDs in the same tile coordinates, and make an API request for each traffic sign ID (that's a lot of computing, unfortunately)
If there are 500 signs, for example, with fields=images, and then a condition of if any image keys in the traffic sign. Images field is in the valid_images list, then push the traffic sign with all fields including geometry to the output file
- Langage dominant
- Python
- Étoiles
- 66
- Forks
- 23
- Merge moyen
- 1 j 20 h
- PR mergées (30 j)
- 11
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de mapillary/mapillary-python-sdk
-
bug
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
-
How to render 'spherical' images Ouverteenhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 15/100
mapillary/mapillary-python-sdk#156 · 1 commentaire ·
-
Bug Report Ouvertebug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
mapillary/mapillary-python-sdk#150 · 1 commentaire ·
-
point cloud data Ouverteexample
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
mapillary/mapillary-python-sdk#147 · 11 commentaires ·
-
feature
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 32/100
mapillary/mapillary-python-sdk#127 · 1 commentaire · 2 réactions ·
Toutes les issues de mapillary/mapillary-python-sdk
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
OpenHands/extensions#626 · 1 commentaire ·
-
Change observation tooltip text Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
CSCfi/sd-search-api#39 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
please add to porn list Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
StevenBlack/hosts#3255 ·