[corrigé] Service OSM : Affichage incomplet des points d'eau

Problèmes, bugs et difficultés rencontrés sur le site.
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

[corrigé] Service OSM : Affichage incomplet des points d'eau

Message par sly »

Actuellement, le champs de sélection pour les points d'eau est :

Code : Tout sélectionner

<input type="checkbox" name="select-osm" id="Drinking Water"
	value='["natural"="spring"]+["amenity"="drinking_water|watering_place|fountain"]+["waterway"="water_point"]+["man_made"="water_well"]' />
<label for="Drinking Water">point d'eau</label>
Mais j'ai l'impression qu'il y a un problème dans l'interprétation de ces critères car il en manque à l'affichage, c'est comme si uniquement le premier critère était pris en compte, seule les natural=spring (les sources) semblent s'afficher et le reste semble ne pas fonctionner. Mais pourtant, je vois les autres critères dans les appels à l'api overpass, donc c'est peut-être plus sioux qu'il n'y parait.


ps: sans rapport avec le bug, mais on peut se simplifier la vie sur cette ligne de condition pour ne choisir que :
["natural"="spring"]+["amenity"="drinking_water"]

amenity=fountain -> fontaine décorative
amenity=watering_place -> pour les animaux
man_made=water_well -> décrit la structure, mais la doc dit que amenity=drinking_water doit être présent
waterway=water_point -> doit inclure la notion d'eau potable ci-avant, donc pas besoin de le mettre
Avatar du membre
Dominique
Messages : 3704
Enregistré le : 08 avr. 2006, 21:58

Re: Service OSM : Affichage incomplet des points d'eau

Message par Dominique »

J'ai simplifié le paramètre. ça n'impacte pas myol.
Par contre, je ne sais pas tester parce que, si j'ai bien compris ça ne fait qu'éviter un bug incompréhensible et donne le même résultat.
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Re: Service OSM : Affichage incomplet des points d'eau

Message par sly »

Et bien en tout cas, il y en a bien plus qu'avant qui s'affichent !

Je vois en plus que la correction était assez simple pour ne pas déclencher le bug. Il n'y a plus d'urgence à corriger un bug qui ne se déclenche plus.
Avatar du membre
Dominique
Messages : 3704
Enregistré le : 08 avr. 2006, 21:58

Re: Service OSM : Affichage incomplet des points d'eau

Message par Dominique »

sly a écrit : 05 mai 2024, 13:48 Actuellement, le champs de sélection pour les points d'eau est :

Code : Tout sélectionner

<input type="checkbox" name="select-osm" id="Drinking Water"
	value='["natural"="spring"]+["amenity"="drinking_water|watering_place|fountain"]+["waterway"="water_point"]+["man_made"="water_well"]' />
<label for="Drinking Water">point d'eau</label>
Mais j'ai l'impression qu'il y a un problème dans l'interprétation de ces critères car il en manque à l'affichage, c'est comme si uniquement le premier critère était pris en compte, seule les natural=spring (les sources) semblent s'afficher et le reste semble ne pas fonctionner. Mais pourtant, je vois les autres critères dans les appels à l'api overpass, donc c'est peut-être plus sioux qu'il n'y parait.
Bug corrigé (le "+" n'existe pas dans l'API, il faut le séparer et faire 2 sous-requêtes).
ça améliore aussi d'autres requêtes : par exemple hôtel + camping
et probablement d'autres cas !
Je te laisse voir à l'usage
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Re: Service OSM : Affichage incomplet des points d'eau

Message par sly »

Dominique a écrit : 06 mai 2024, 21:17 Bug corrigé (le "+" n'existe pas dans l'API, il faut le séparer et faire 2 sous-requêtes).
yes ! ça à l'air de faire comme il faut, on peut afficher les campings et les sources d'eau en même temps... juste à temps pour mon voyage à vélo !


Note : Je vois que la requête duplique way/node (et oublie le 3ème éléments, certes rare, : "relation")
https://github.com/RefugesInfo/www.refu ... on.js#L310

A priori, l'API overpass dispose d'un tag de factorisation qui s'appel nwr (qui fait l'équivalent de répéter pour node, way et relation)

Code : Tout sélectionner

[out:json][timeout:25];
(
  way["tourism"="camp_site"]({{bbox}});
  relation["tourism"="camp_site"]({{bbox}});
  node["tourism"="camp_site"]({{bbox}});  
);
out center;
--->

Code : Tout sélectionner

[out:json][timeout:25];
(
  nwr["tourism"="camp_site"]({{bbox}});
);
out center;
Maintenant que ça marche, ça vaut p'tet pas le coup de se prendre la tête, mais s'était pour signaler
Avatar du membre
Dominique
Messages : 3704
Enregistré le : 08 avr. 2006, 21:58

Re: Service OSM : Affichage incomplet des points d'eau

Message par Dominique »

sly a écrit : 06 mai 2024, 23:36 Note : Je vois que la requête duplique way/node (et oublie le 3ème éléments, certes rare, : "relation")
https://github.com/RefugesInfo/www.refu ... on.js#L310

A priori, l'API overpass dispose d'un tag de factorisation qui s'appel nwr (qui fait l'équivalent de répéter pour node, way et relation)

Maintenant que ça marche, ça vaut p'tet pas le coup de se prendre la tête, mais s'était pour signaler
Ha oui, super. Je vais faire ça.
J'aimerais aussi factoriser les bbox mais je n'ai pas trouvé.

Et puis il y a un overpass turbo, un peu plus simple mais dont je n'ai pas compris quand il s'applique.
Il a peut-être un hébergement plus confidentiel et moins solide ?
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Re: Service OSM : Affichage incomplet des points d'eau

Message par sly »

Dominique a écrit : 07 mai 2024, 08:11 Et puis il y a un overpass turbo, un peu plus simple mais dont je n'ai pas compris quand il s'applique.
Overpass Turbo n'est finalement qu'une interface graphique (js+leaflet) d'appel à une API OverPass, c'est un démonstrateur des capacités de l'OverPass API, en remplissant automatiquement la bbox et un assistant de construction de requête.
Il ne peut rien pour wri, à part aider ses développeurs à tester des requêtes et vérifier pourquoi elles bugent ;-)