Mapcontrib, logiciel

MapContrib est un logiciel dont l’objectif est de faciliter la contribution à OpenStreetMap (par exemple sur des cartoparties, avec des classes, et autres cadres non imaginés !).

Chacun (-e) de vous peut créer des thèmes qu’il met à disposition ensuite de toutes personnes ayant un compte openstreetmap et permettre ainsi à plus de personnes de contribuer simplement (y compris sur téléphone car c’est responsive).

Voici quelques thèmes créés centrés sur Clermont pour le state of the map (occasion de nous rencontrer si vous le souhaitez) :
par exemple :

ou pour les parkings à vélo, trouver ceux dont la “capacity” n’est pas renseignée :

L’idée étant de pouvoir permettre à des non informaticiens mais un peu cartographes de construire des cartes pour faciliter la contribution à des personnes ni informaticiennes ni cartographes, alors si vous avez envie, c’est à vous :
http://mapcontrib.xyz

Pour vous aider, quelques vidéos : https://vimeo.com/channels/1070848

Ce que nous souhaitons continuer à développer (https://github.com/MapContrib/MapContrib/issues) :

  • le fait de copier un thème simplement pour pouvoir le “centrer” etl’adapter chez soi,
  • avoir une page d’accueil avec les thèmes créés et ce dont on souhaite garder la trace,
  • passer de plusieurs requêtes overpass à une seule avec la personnalisation de l’affichage,
  • faciliter la création de requète overpass,
  • améliorer l’interface pour faire disparaître au maximum les clés/valeurs en anglais (souvent un frein pour de nombreuses personnes),
  • lier mapcontrib avec osmose sur la partie qualité et opendata,

Si vous avez des questions, bien évidemment n’hésitez pas !

Comme déjà répondu sur la liste Talk-fr, bravo pour ce développement très utile ! :sunglasses:

J’ai (très rapidement, je l’avoue) tenté une adaptation sur un de mes centres d’intérêts : les observatoires ornithos (leisure=bird_hide).
Malgré le fait que le type d’objet sois relativement peu commun (138 recensés en France métropolitaine), la carte a vraiment du mal à afficher les données.

Auriez-vous des conseils pour optimiser cela ?
Voici ce que j’ai mis comme requête pour la couche :

(
  node["leisure"="bird_hide"]({{bbox}});
  way["leisure"="bird_hide"]({{bbox}});
  relation["leisure"="bird_hide"]({{bbox}});
);
out;

Et voici un lien vers la carte http://www.cartes.xyz/t/b75e66-Observatoires_Ornithologiques#

Bon courage pour les développements de ce super outil !

Sylvain M.

Pour des tags peu fréquents, il vaut mieux carrément virer la sélection par bbox…

“peu fréquents” : il y a quand même 1600 objets dans OSM. :confused:
Du coup, je viens de virer la Bbox, mais ça mouline quand même… :cry:

Edit : plus que mouliner, j’ai un message d’erreur :

Erreur
Une erreur est survenue lors du chargement des centres d’intérêts de type « Observatoires ornithologiques ».

bonjour,

voici la requête qui fonctionne pour moi ici http://www.cartes.xyz/t/bd7484-bird_hide

avec un zoom 8 de définit pour déclencher la requête

(
node"leisure"=“bird_hide”;
way"leisure"=“bird_hide”;
relation"leisure"=“bird_hide”;
);

out center body;

;

Oui cela correspond à une erreur du serveur overpass (taille de la requête, nombre de requêtes, …) c’est clairement un point d’amélioration que nous devons travailler, mais en testant ton thème, rien ne se déclenche chez moi :unamused:

en fait si cela fonctionne, mais effectivement c’est lent, et il n’y a plus de bbox :

Oui, moi aussi finalement ça s’affiche après un long (très long) moment.
J’avais eu la même problématique sur Umap quand j’ai voulu créer des couches dynamiques sur requêtes OSM.
Pour ce qui est de l’affichage de milliers de POI, au final c’est fluide dans Umap grâce à la Clusterisation (ce serait certainement à creuser ici je pense).
Par contre, le délai d’extraction des milliers de POI ne pouvant pas être raccourci, peut-être faudrait-il creuser sur une mise à jour périodique (par exemple 1 seule requête quotidienne à minuit) des données.
Du coup, les données s’affichent rapidement car elles ont déjà été extraites et mises en cache dans la nuit.

Qu’en pensez-vous ?

A+

Sylvain M.

Oui, cette question traverse les deux projets :

pour mapcontrib, ce n’est pas une “priorité” aujourd’hui pour nous, ce qui ne signifie pas que quelqu’un ne peut pas s’y mettre ou que ce n’est pas une idée pertinente :slight_smile:

Ce n’est pas une priorité car nous voulons nous concentrer sur la contribution et pas sur l’affichage, et pour le moment les priorités de devs concernent la contribution et l’aide à la contribution.

En gros, on optimise plutôt tout ce qui peut aider à contribuer au zoom 16-20, qu’à l’affichage au zoom 3 !

Merci pour les tests, les retours, cela fait vraiment plaisir !

les priorités de devs concernent la contribution et l’aide à la contribution.

Oui, je comprends cette priorité.
Du coup, même si vous l’avez déjà listé, je rajoute un grand intérêt dans la traduction des Tags : clés et valeurs.
C’est encore quelque chose de rédhibitoire pour que je puisse ouvrir une carte à des novices d’OSM.
Dans mon exemple, même si beaucoup d’ornithologues parlent plus ou moins anglais, peu d’entre eux savent qu’un observatoire (ornithologique) se nomme “bird hide” en anglais. Et le fait d’avoir une interface “à moitié traduite” donne une impression de complexité, même pour des bilingues.
Bon courage pour les développements à venir !

A+

Sylvain M.

Bonjour,

J’aimerai envoyer à quelqu’un le lien pour voir les boites aux lettres de son quartier, est ce que je peux réutiliser le thème suivant et indiquer quelque part le centre de la carte dans l’URL ?
http://www.cartes.xyz/t/2c4196-Boites_aux_lettres

Ou alors je dois créer un nouveau thème pour cela (ce qui me parait être un doublon) ?

Merci

Guillaume me fait passer ce mot :
“Le souci de performance que tu rencontres vient de l’affichage des point. C’est un problème connu très simple à corriger auquel je n’ai pas encore pris le temps de remédier. C’est marrant on en parlait justement au SOTM avec quelqu’un.
Bref, je viens de créer une issue sur le dépôt pour ne pas l’oublier : https://github.com/MapContrib/MapContrib/issues/120

Comme quoi tu vois ce qui n’est pas une priorité sera peut-être fait si il s’ennuie :slight_smile:

ensuite, sur la partie traduction, effectivement c’est un des morceaux qui doit arriver pour encore plus faciliter la contribution et la création de thème.

Bref, je viens de créer une issue sur le dépôt pour ne pas l’oublier : > https://github.com/MapContrib/MapContrib/issues/120> "

Super !
Par contre, je vois que l’option envisagée serait de “rasteriser” la couche de points.
Je me demande si c’est la meilleure option : pour moi, il me semblerait plus performant de gérer cela par de la “clusterisation” (cf. cette demo sur Leaflet, basée sur le plugin Leaflet Markercluster).
J’ai vu des cartes fluides afficher quelques milliers (voire plus) de POI avec cette solution.
(j’hésite à ajouter un commentaire dans ce sens sur le Github de MapContrib, mais je n’ai pas tout lu donc je préfère en discuter d’abord ici).
A+

Sylvain M.

Tiens, puisque j’étais dessus, je pense à une autre suggestion qui faciliterait encore la contribution :wink:
Pour certaines clés, il serait bien de proposer des listes déroulantes (et/ou avec auto-complétion) pour suggérer les valeurs possibles de tags (et avec les valeurs traduites qui feraient la correspondance auto avec les tags anglais, ce serait top).
Bon, ça doit être lourd en terme de développements, mais là ce serait vraiment hyper-super-méga génial ! (même si ça l’est déjà sans ça ! :sunglasses: )
A+

Sylvain M.

Bonjour,
l’idée est bien de doublonner au maximum, donc pour le moment il n’ait pas prévu d’indiquer le centre quelque part mais de dupliquer un thème pour le centrer et le personnaliser :

https://github.com/MapContrib/MapContrib/issues/44

n’hésite pas !

“et bien ! doublonnons maintenant” dit la cigale :slight_smile:
merci pour votre travail

Du coup j’ai utilisé ta carte, constaté des manques et vérifié…

Pour trouver que j’avais tagué dans certains cas :

amenity shelter
name Observatoire Bilhoreau
shelter_type wildlife_hide
wildlife_hide birds

Vérification faite sur LE wiki, l’utilisation de shelter_type=wildlife_hide etc. est sur la page en français pas sur celle en anglais…

C’est là : http://www.openstreetmap.org/way/42259032

Et, ouais: Mapcontrib c’est super.
:question: Ma question à vinber : on peut l’utiliser dès à présent sur les liens que tu as fourni ?

merci

oui les liens fournis sont fait pour cela, et à priori il y a eu de nombreuses créations de thèmes :slight_smile: (environ une centaine depuis le sotm, bon avec sans doute 20 ou 30 pour moi, pour test, essai!!!).
J’ai commencé la doc ici : http://wiki.openstreetmap.org/wiki/FR:Mapcontrib

et référencé quelques thèmes, ne pas hésiter à en ajouter :slight_smile:

cartes.xyz et mapcontrib.xyz renvoient sur la même instance et nous souhaitons la garder la plus stable possible.

Nous avons une autre instance pour tester les fonctionnalités nouvelles, futures ou inattendues (les bugs !).

Super, merci pour le wiki vinber ! J’ai joué un peu avec mapcontrib, mais sans succès pour le moment :blush: Voilà quelques retours en tant qu’utilisateur :

  • lorsqu’on créé une carte et qu’on revient plus tard, on n’est pas connecté automatiquement. Il faut redemander son token oauth osm.org, mais ça marche pas à chaque fois. J’ai l’impression que le bouton de connexion en haut à droite ne fonctionne pas : à chaque clic, je suis redirigé vers osm.org, j’accepte le token et … retour à la case départ.
  • lorsque la syntaxe de la requête overpass n’est pas bonne, on a pas vraiment de message d’erreur. J’ai attendu d’avoir un exemple sur le wiki pour comprendre quelle était la syntaxe attendue, pour info j’ai bêtement copié ma requête depuis l’assistant overpass, à savoir :
[out:json][timeout:25];
// gather results
(
  // query part for: “amenity=fuel”
  node["amenity"="fuel"]({{bbox}});
  way["amenity"="fuel"]({{bbox}});
  relation["amenity"="fuel"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Sauf que ce n’est pas cela qui est attendue par mapcontrib ; et l’erreur “requête overpass invalide” ne permet pas de comprendre le problème.

  • Après avoir lu le wiki, j’ai modifié ma requête overpass en :
(
node["amenity"="fuel"]({{bbox}});
way["amenity"="fuel"]({{bbox}});
);
out center body;

Je n’ai plus d’erreur (houra !), mais… les POIs ne s’affichent pas dans mon Firefox utilisé pour créer la carte (si j’ouvre une nouvelle fenêtre en navigation privé, c’est OK). Soucis de cache ?