Départage pour le choix de la catégorie principale d'un lieu
publié le , mis à jourJ'ai remarqué quelques incohérences dans la catégorie principale affichée en haut de la fiche lieu, par exemple :
- "magasin réparation de vélo" au lieu de "magasin d'équipement sportif" https://cartes.app/?perspective=non&allez=Intersport%7Cn1980177952%7C-1.55889%7C47.21723#18/47.21723/-1.55889
- "défibrillateur" au lieu de "pharmacie" https://cartes.app/?perspective=non&allez=Pharmacie+de+Bretagne%7Cn5277807123%7C-1.55966%7C47.21700#18/47.217/-1.55966
A ce propos je n'ai trouvé que ce ticket qui date un peu : #1092
De ce que j'ai compris en relisant le code, le départage se fait actuellement de la manière suivante :
- dans categories.yaml, recherche de la combinaison de requête Overpass qui a le plus grand score (donc la plus spécifique) => fonctionne bien pour retourner "pizzeria" au lieu de "restaurant", mais à l'inverse ne fonctionne pas si une des particularités d'une commerce est réductrice, comme par exemple la réparation de vélos pour un magasin de sport généraliste.
- Si égalité de score, on garde la première dans l'ordre de la liste => est-ce qu'un parle de l'ordre du fichier yaml ou d'une liste triée par ordre alphabétique ?
J'ai vu qu'il y avait la possibilité de mettre des règles spécifiques dans le fichier /categories/index.ts mais est-ce que c'est vraiment la bonne méthode ? https://codeberg.org/cartes/web/src/commit/cdae9acc1cba235bcc382ae93efcb2e7c9a205f1/components/categories/index.ts#L192
etienneJr
bravo, tu as trouvé le bon endroit ! c'est en effet
findCategory(tags, categories)qui cherche la catégorie. Est-ce que j'ai assez documenté la fonction ? tu arrives à comprendre ce qu'elle fait ou pas ?Avant de mettre des exceptions, ça serait pas mal d'essayer de comprendre pourquoi elle ne trouve pas la catégorie attendue dans les cas que tu as repérés. Typiquement pourquoi
emergency=defibrillatorprend le dessus suramenity=pharmacy? Tu veux regarder ?Ptet qu'une solution sera de définir des categoryGroup prioritaires, ou des clés OSM prioritaires ?
laem
(J'aime toutes ces discussions car on est en train de résoudre l'un des grands problèmes-qualité d'OSM, l'immense variabilité des tags)
alexandreG
@etienneJr wrote in https://codeberg.org/cartes/web/issues/2911#issuecomment-22284805:
Avant de mettre des exceptions, ça serait pas mal d'essayer de comprendre pourquoi elle ne trouve pas la catégorie attendue dans les cas que tu as repérés. Typiquement pourquoi
emergency=defibrillatorprend le dessus suramenity=pharmacy? Tu veux regarder ?Je crois que ça se fait par ordre alphabétique du nom de la catégorie.
Ptet qu'une solution sera de définir des categoryGroup prioritaires, ou des clés OSM prioritaires ?
Du côté d'iD Editor, il existe un champ matchScore dans les presets pour départager. https://github.com/openstreetmap/id-tagging-schema/blob/main/SCHEMA.md#matchscore https://github.com/openstreetmap/id-tagging-schema/blob/main/dist/presets.json
Peut-être commencer par tester en utilisant ces données existantes ?
etienneJr
Au fait, je remarque un truc qui me parait une régression, je sais pas si c'est lié à tes travaux sur la fiche, et si c'était volontaire ou non. Avant, quand un lieu ne matchait avec aucune catégorie à nous, on affichait une catégorie provenant du ID-tagging-schema. Aujourd'hui, il n'y a plus rien. Je ne sais pas depuis combien de temps. Ca te parle ? Exemple cette poubelle, aucun titre de fiche au dessus des photos et boutons. https://cartes.app/?perspective=non&allez=sans+nom%7Cn4329820210
n4n5
Ah étrange, je n'avais pas fait cette modif, mais peut etre lors du changement de la fiche ?
alexandreG
@etienneJr wrote in https://codeberg.org/cartes/web/issues/2911#issuecomment-22572016:
Au fait, je remarque un truc qui me parait une régression, je sais pas si c'est lié à tes travaux sur la fiche, et si c'était volontaire ou non. Avant, quand un lieu ne matchait avec aucune catégorie à nous, on affichait une catégorie provenant du ID-tagging-schema. Aujourd'hui, il n'y a plus rien. Je ne sais pas depuis combien de temps. Ca te parle ? Exemple cette poubelle, aucun titre de fiche au dessus des photos et boutons. https://cartes.app/?perspective=non&allez=sans+nom%7Cn4329820210
Bizarre... je n'ai fait qu'ajouter la couleur de catégorie sur le texte dans cette partie de la fiche. https://codeberg.org/cartes/web/pulls/2898/files
n4n5
@etienneJr wrote in https://codeberg.org/cartes/web/issues/2911#issuecomment-22572016:
Avant
Et aussi, avant y a 1 an ? 2 mois ? Sachant qu'il y a bcp de commits ahah
EDIT commit 13b3d4969a36ba87ebcbbf75acfecfeda0f5dd80 ça y était, je vais bisect
Le fautif serait https://codeberg.org/cartes/web/commit/e4fdac3c6d2a048c8cb171141b20a3779dec9b50#diff-99a958fa9b99fc5d77e41f3dec98f945415273d5
La commit d'avant (https://codeberg.org/cartes/web/commit/44d89124d8091e34a95f554a0f047c9e3fae39a8) marche
@pmiossec ping pour info ^^
n4n5
Fixed in https://codeberg.org/cartes/web/pulls/2980
Mais globalement l'api /api/tag-translations et son utilisation est un peu étrange
Exemple https://codeberg.org/cartes/web/issues/2502#issuecomment-22426447
alexandreG
Je vais retravailler un peu le style d’affichage de ce type de catégories.
Par contre ça donne des résultats un peu étranges parfois.
n4n5
Ce ticket est un peu lié à https://codeberg.org/cartes/web/issues/2995