Un connecteur Maproulette - Osmose

  • MapRoulette a une interface permettant de mobiliser « facilement » sur des sujets spécifiques mais présente l’inconvénient de ne pas être dynamique (pas de mise à jour des quêtes en fonction de la mise à jour des données OSM)
  • Osmose « sait » traiter « quotidiennement » des analyses qualité (Osmose-QA) et des comparaisons à des bases de données ouvertes (Osmose-OD) mais présente un déficit de présentation pour mobiliser sur une thématique, un type d’erreur, …

Est-il possible d’envisager un connecteur entre les 2 ?

Coté financement, si c’est envisageable techniquement de faire un tel connecteur, alors sans doute que l’on peut noter que TomTom devient un soutien à MapRoulette MapRoulette welcomes TomTom as a financial backer! | OpenStreetMap US @sbaido @pzachee :slight_smile: :slight_smile:

@Binnette @jcr83 @nlehuby @frodrigo vous avez d’une manière ou d’une autre fait des choses avec MapRoulette et/ou Osmose → n’hésitez pas à me dire si cela n’a aucun sens, cela peut me libérer l’esprit !!!

1 Like

C’est déjà dispo dans Osmose. Soit dans le menu Export de la carte, soit dans le lien Maproulette sur les page de listes.

My 0 cent.

tu veux dire que l’on peut connecter déjà un challenge MapRoulette sur un « export » osmose (une url fixe par exemple) qui se met à jour de manière quotidienne ?

tu as une page de liste ?

https://osmose.openstreetmap.fr/fr/issues/open?item=1050

donc par exemple il faudrait qu’une quête maproulette sur les rond point vienne se brancher sur ce lien https://osmose.openstreetmap.fr/api/0.3/issues.maproulette.geojson?item=1050 et se mette à jour.

je trouve cette issue coté maproulette : improve import geojson from osmose · Issue #1891 · maproulette/maproulette3 · GitHub

Que ce soit le sujet des ronds-points ou de tout autre sujet, ce serait vraiment pertinent que MapRoulette puisse être mis à jour depuis une analyse externe, comme Osmose sait en fournir.

Contribuer au développement d’Osmose plutôt que de définir des challenges MapRoulette particuliers (via des requêtes Overpass ou autre) est bien plus pérenne en plus de profiter à beaucoup d’autres éditeurs en plus de MapRoulette.

Donc +1 @vinber

en fait j’ai l’impression que « coté osmose » c’est pret … sans doute coté maproulette faut-il pouvoir mettre en place une mise à jour régulière (si c’est possible) et donc effectivement d’avoir un lien entre les 2, le meilleur des 2 :slight_smile:

Quand on configure un challenge dans Maproulettes avec URL externe comme c’est la cas ça met les données à jour.

ah ben je ne savais pas, je croyais que maproulette savait aller chercher mais ne savait pas le faire de manière régulière automatiquement

Hello @vinber, voici mon retour d’expérience sur le sujet. J’ai créé plusieurs challenges MapRoulette depuis les erreurs remontées par Osmose. Pour m’y prendre, j’avais simplement isolé un numéro d’erreur dans Osmose, par exemple le 1210.
Ensuite, je me suis dit que j’allais appliquer le filtre country=france, mais quand on fait cela l’API ne retourne aucune erreur (bug ?). Donc j’ai été obligé de feinter pour obtenir uniquement les erreurs en France. Donc je me suis dit que j’allais requêter les erreurs par régions puis je grouperai les régions « à la main ». Donc j’ai fait un filtre sur country=france_alsace, mais là idem l’API ne retourne aucune erreur (bug ?). Donc au final, je suis obligé de faire 1 requête Osmose par département français et c’est vraiment pénible…

Du coup, vu que je suis fainéant, j’ai préféré faire une bonne grosse bounding box autour de la France métropolitaine pour obtenir toutes les erreurs de France sur le défaut 1210.

Une fois fait, il suffit de cliquer sur le bouton « geojson » ou « geojson full » (en haut de page) pour obtenir un lien vers le fichier geojson généré par MapRoulette. Et là au choix soit sauvegarder le fichier sur son PC puis le donner à MapRoulette, soit donner directement le lien Osmose du fichier à MapRoulette (je n’ai pas testé mais je suppose que ça doit fonctionner, à moins que Osmose mette trop de temps à générer le geojson auquel cas MapRoulette risque de râler car le fichier prend trop de temps à télécharger #timeout).

Et en écrivant ce post, je me rend compte qu’Osmose propose aujourd’hui un bouton « MapRoulette » en plus des boutons geojson et geojson full. J’ai donc jeté un œil et en bref le fichier généré par Osmose est un fichier line-by-line tel que spécifié par MapRoulette. En bref, ce type de fichier rends le travail côté MapRoulette plus facile car MapRoulette se contente de créer une tâche par ligne de fichier au lieu de devoir parser l’intégralité des géo features d’un gros fichier GeoJson.

Après, l’inconvénient de se genre de challenge est qu’une fois qu’un utilisateur termine une tâche dans MapRoulette, il n’y a pas de ping back dans Osmose pour dire « l’erreur XXX » vient d’être corrigée, merci de contrôler et de fermer la tâche de ton côté. Mais bon, ce n’est pas un gros inconvénient car Osmose vient re-scanner régulièrement (toutes les nuits ?) les données OSM pour voir les nouvelles erreurs et les erreurs corrigées.

Par contre, je voudrais nuancer le propose de @frodrigo. Oui tu peux créer un challenge MapRoulette avec un lien vers un fichier GeoJson hébergé en ligne, par contre MapRoulette ne vient pas automatiquement (toutes les nuits par exemple), rafraîchir la liste des tâches en téléchargeant à nouveau le fichier GeoJSON. Je pense que c’est fait ainsi côté MapRoulette car la quantité de challenge est énorme et le temps de calcul pour tout remettre à jour chaque nuit serai vraiment trop énorme. Sachant que chaque challenge MapRoulette est limité à un maximum de 50 000 tâches. Par contre, à tout moment, le gestionnaire/créateur du challenge peut « rebuild » son challenge et à ce moment là, oui MapRoulette va re-télécharger le fichier geojson pointé par le lien enregistré lors de la création du challenge. Comme indiqué dans les challenges : « Remote URLs cannot be edited, but you can choose Rebuild Tasks when managing your challenge to re-download updated remote GeoJSON and freshen up your tasks. »

Au sujet d’un « connecteur » entre Osmose et MapRoulette, voici mes idées de ce
que pourrait faire un tel connecteur :

  • Côté Osmose, le connecteur serait capable de créer 1 challenge par type d’erreur et serait capable de mettre automatiquement à jour les tâches de chacun des challenges créés de la sorte. Le connecteur serait capable de détecter uniquement les nouvelles erreurs et les erreurs corrigées afin de ne communiquer à MapRoulette que les erreurs à créer/supprimer des challenges. Mais bon, cela reviendrai à complètement dupliquer le base d’erreurs d’Osmose pour l’importer dans MapRoulette, puis de faire des diff chaque nuit. Et MapRoulette n’est clairement pas conçu pour cela. De plus chaque challenge MapRoulette est limité à 50 000 tâches. Et aussi, toutes les erreurs Osmose ne sont pas « compatibles » avec MapRoulette. MapRoulette est réservé à de la cartographie de « canapé/salon ». Or Osmose indique aussi des erreurs pour des problèmes à vérifier sur place. Aussi, si l’on veut dupliquer toutes les erreurs Osmose dans MapRoulette, ça risque d’être la pagaille et la carte va être surchargée d’erreurs à corriger…
  • Côté MapRoulette, le connecteur serait capable d’informer Osmose à chaque fois qu’une tâche a été corrigée ou bien signalée comme faux positif ou autre. Mais bon, là encore MapRoulette n’est pas prévu pour faire des appels API à chaque action utilisateur pour un peu « pister » ce que l’utilisateur à corrigé ou remonté en faux positif. Donc une fois de plus c’est pas vraiment une bonne idée.

Donc en bref, je pense que ce supposé « connecteur » n’a pas lieu d’exister aujourd’hui puisque les 2 outils ne sont pas conçus pour fonctionner ensemble. Au lieu d’un connecteur un simple tutoriel qui indique comment créer un challenge MapRoulette depuis Osmose pourrait faire l’affaire. (et aussi corriger les «  »« bugs »«  » de filtre sur les pays dans Osmose ?). Ainsi un user OSM pourrait décider de créer un challenge à l’échelle d’un pays sur tel ou tel sujet (route non connectée, route sur bâtiment, etc).

Voilà j’espère que ce post te sera instructif et pourra faire avance ta réflexion :innocent::+1:

merci beaucoup @Binnette

en fait au fur et à mesure, je comprends que ce que j’imaginais comme un « connecteur » existe (en gros le fichier maproulette créé par osmose, l’url externe que l’on peut renseigner dans maproulette).

ce que je comprends en terme de besoins, améliorations possibles c’est :

  • faciliter des filtres géographiques (coté osmose ou maproulette)
  • automatiser une mise à jour en utilisant cette url externe coté maproulette (j’entends la question des impacts que cela peut avoir coté serveur)
  • pourquoi pas renvoyer vers osmose lorsqu’une tache d’une quête coté maproulette est faire (pour moi c’est « secondaire » pour l’instant si effectivement maproulette se met à jour avec le fichier quotidien produit par osmose)

Tu peux test avec france* et france_alsace*, de souvenir ça fonctionne.

Testé à l’instant. Bien vu, ça fonctionne. Par contre c’est un peu contre intuitif car la dropdown ne permet pas de saisir france*. Il faut donc modifier directement le filtre depuis l’URL

Bonjour,

@vinber Je confirme qu’il est possible de générer un défi Maproulette à partir de l’URL de l’API Osmose.
Cette connexion Osmose > Maproulette n’est pas automatique (comme indiqué par @Binnette , il faut « rebuild » le challenge pour que les tâches se rafraîchissent) mais un script externe peut automatiser cette étape à la fréquence souhaitée par le gestionnaire du challenge.
Est-ce l’approche que vous avez envisagée ?

En ce qui concerne la connexion Maproulette > Osmose, comment cela se matérialiserait-il ? Quelles sont les informations relatives à la tâche ou au défi que MR doit renvoyer à Osmose ? Dans quel « format » ?

je n’ai pas vraiment envisagez d’approche :slight_smile: déja script cela dépasse mes compétences !

@frodrigo c’est possible ?

bon ok j’ai l’impression d’arriver après la bataille :smiley:

1 Like