Modif involontaire du géoref d'un itinéraire

A propos de ce diff : Camptocamp.org

@alexduchablais je suis sur de ne pas avoir déplacé le doc. Du coup, deux explications :

  • j’ai des gros doigts, et j’ai zippé sur la souris (toujours possible)
  • il y a un bug qui déplace les docs lors d’une édition -> ca te semble impossible?

Déplacer le doc ? Tu veux dire changer le géoref ?
Ce serait pas impossible qu’il y ait un bug mais ca me semble en effet plus probable que ca soit une fausse manip. Ou bien un changement dans les WP associés ? Dans ce cas ca met à jour la géométrie « point » (ie. le barycentre) de l’itinéraire.

Je viens de faire un edit test, en faisant bien gaffe : Camptocamp.org

Georef déplacée…

L’historique des associations est enregistré dans une table de la base de données. C’est peut-être accessible via l’API, je sais plus. Mais il n’y a pas de page présentant cette info dans l’UI v6 (alors que c’était le cas dans la v5 mais on a pas eu le temps de réimplémenter ça).

Je trouve que l’ergonomie des pages d’éditions est mauvaise de ce point de vue là :
la carte est grande, en plein milieu du premier onglet ; et si je ne m’abuse, tout clic dessus change la géolocalisation.
Avec en plus le point bleu qui réagit parfois bizarrement (il reste « bloqué » à un endroit de la carte, ce qui peut faire penser à tord qu’on a justement cliqué par mégarde sur la carte, alors que c’était juste une position de la souris à un instant t, qui n’a pas été réactualisé convenablement (ou encore, pour dire les choses autrement : que le pointeur se transforme en point bleu en survolant la carte, ok. Mais le problème est qu’en ressortant la souris de la carte, le point bleu subsiste parfois alors qu’il devrait disparaître).

édit :

:unamused: :confused:

Tu as fait 3 modifs qui ont toute déplacé le géoref. Peux-tu les expliquer ?

(message supprimé par son auteur, sera supprimé automatiquement dans 100 heures à moins qu’il ne soit signalé)

En faisant quoi ?
Ca pour un itinéraire, on ne peut changer un géoref qu’en associant de WP si pas de trace GPX, ou en ajoutant une trace GPX. Ou en faisant un revert quand on est modo.

En double cliquant sur la carte du premier écran, tout simplement.

Dans ce cas ça doit créer une trace toute petite, car on ne peut pas saisir de point.
Par contre quand il y a une trace, c’est censé prendre le barycentre de la trace sans tenir compte des WP.
A tester sur le site de test, ya peut être des cas instables comme ici.

Faut croire que si : https://api.camptocamp.org/routes/1014569/fr/1936204

Mon curseur sur la donnée de georef : c’est un point.

« geom » est toujours une géométrie ponctuelle, quel que soit le type de document. Cet attribut est toujours disponible. Pour les itinéraires c’est soit le barycentre de la trace (cf. « geom_detail ») si dispo, sinon celui des points de passage associés.
C’est « geom_detail » qui contient le tracé de l’itinéraire s’il est dispo.

Normalement, un itinéraire comporte un point, qu’il y ait une trace ou non. Mais ce point est calculé automatiquement.
Via la carto, on ne peut que définir une trace. Mais il y a peut être un bug (qui ne serait utile, mais si c’est instable, ce n’est pas cool).
Je viens de tester sur le site de test : pas possible de ne saisir qu’un point. Un double clic commence une trace. En double cliquant de nouveau sur le même point, ça termine la trace, et le géoref de l’iti est mis à ce point.
En téléchargeant la trace GPX, j’obtiens une route avec juste 2 points quasi identiques :

<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd" version="1.1" creator="OpenLayers 3">
 <rte>
  <name>Pointe Centrale N du Ferrouillet : Éperon W</name>
  <rtept lat="45.16825045235149" lon="5.732223083760523"/>
  <rtept lat="45.16849250375111" lon="5.732223083760523"/>
 </rte>
</gpx>

J’ai pu observer quelques cas similaires notamment parmi des documents traduits en espagnol.

A propos, a-t-on une boîte à bugs, je ne me rappelle plus ?

Dommage qu’il ne soit pas possible de rentrer UN wp pour un itinéraire (marquer le départ d’une grd voie par exemple ). J’ai essayer d’importer un .gpx (produit sous OruxMaps) contenant un seul wp (départ L1’ de LapisLazuli) mais sans succès.

https://www.camptocamp.org/routes/diff/56136/fr/1927430/1946505

Bon, on va pas se mentir, le système actuel de géolocalisation ponctuel des routes est juste pourri :

Si j’ai bien pigé, pour déterminer le point « central », il prend le barycentre des points de passage si pas de trace GPS, et le barycentre de la trace GPS si il en a une, c’est bien ca?

Du coup :

  • Le barycentre d’une trace GPS, ou d’un ensemble de point de passage a clairement très peu de chance d’être précis. Pour ne pas dire peu de chance d’être pertinent
  • il ne permet pas de préciser un point arbitraire (*)
  • il occassionne des déplacements totalement aberrant dès qu’on modifie une virgule du texte.

Je vous propose de rentrer l’issue suivante :

  • rajouter en base pour l’objet route une propriété éditable directement pour ce point central
  • Conserver la logique ci dessus, pour le remplissage initial de cette propriété. Puis poubelle.

De cette manière, en plus d’une trace GPS, on aurait un champ arbitraire pour déterminer ce point, charge à la communauté de determiner comment le remplir, cf remarque ci dessous.

Des avis?

(*) oui je sais, entre départ de voie, sommet, milieu de voie, faut choisir lequel. Mais le fait est qu’actuellement, on indique plus souvent le macdo du coin, que n’importe quel point de la voie.

Il y a déjà un ticket sur ce sujet.