Clustering des picto ?

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

Clustering des picto ?

Message par sly »

Vu qu'il est question de changer le moteur sous le capot, je lance une idée afin de savoir si ça serait possible (j'en conviens, c'est du luxe, mais des fois que ça soit faisable !)

Avec des mots, c'est pas facile, mais je tente : parfois, les pictogrammes sont "clusterisé" alors qu'il restait plein de place pour les "étendre". Cela impose de zoomer, ou cliquer le cluster. C'est tout particulièrement visible dans les cas de point très proches (cabane et son point d'eau)

Exemple La croix du Nivolet à chambéry et son abri au zoom 13:
t.jpeg
si je zoom ne serait-ce que d'un niveau :
t2.jpeg
A certains endroits où c'est plus dense :
x1.jpeg
On sent qu'un truc ce passe au niveau 14 :
x2.jpeg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar du membre
Dominique
Messages : 3706
Enregistré le : 08 avr. 2006, 21:58

Re: Clustering des picto ?

Message par Dominique »

Le clustering se déclenche à partir d'une distance en pixels entre 2 points
Il ne tient pas compte du zoom ni de la densité qui demanderait de prendre en compte la zone affichée sans compter qu'elle peut être mal répartie

Ce qu'on voit à partir du zoom 14 est un affichage particulier d'un cluster destiné à dédoubler des points très proches ou de même coordonnées (il y en a 2 dans la base)
C'est un bout de code perso très spécifique, très bidouillesque er très energivore que je regrette un peu

J'ai bien pensé faire mieux sur la densité mais on entre rapidement dans des problèmes extrêmement complexes avec du code risqué et des effets de bord hors de contrôle

A noter qu'il existe un troisième niveau de clustering pour les zoom faibles qui demande au serveur de clusteriser pour éviter de servir tous les points et de demander à js d'en faire des clusters (temps de calcul proportionnel au carré du nombre de points)
Avatar du membre
sly
Messages : 5045
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Re: Clustering des picto ?

Message par sly »

Dominique a écrit : 25 oct. 2023, 18:08 Le clustering se déclenche à partir d'une distance en pixels entre 2 points
C'est ce que je craignais, de sorte que pour des points très proche et bien il faut énormément zoomer pour pouvoir les cliquer et se faire une idée de ce qu'il y a derrière ce rond blanc.
Il devient alors vite tentant de contourner une "limite" logiciel en accusant la donnée (y'a qu'a pas faire de point si proches !).
Dominique a écrit : 25 oct. 2023, 18:08 Ce qu'on voit à partir du zoom 14 est un affichage particulier d'un cluster destiné à dédoubler des points très proches ou de même coordonnées (il y en a 2 dans la base)
C'est un bout de code perso très spécifique, très bidouillesque er très energivore que je regrette un peu
Peut-être, mais il est extrêmement pratique non seulement pour les 2 dans la base, mais en fait pour tous les points proches, (exemples avec les 2 que j'ai donné)
14 c'est imposé ? ça se change quelque part pour que je vois ce que ça donnerait au niveau 13 ou 12 ?

J'en arrive à me demander si je ne regrette pas le temps où les picto s'entassaient, mais au moins on savait ce qu'il y avait là et si ça vallait le coup de zoomer pour éviter de découvrir un bâtiment fermé sur un col...
Avatar du membre
Pascal 74
Messages : 874
Enregistré le : 17 juin 2007, 16:37
Localisation : Annecy

Re: Clustering des picto ?

Message par Pascal 74 »

Ça serait du grand luxe mais on pourrait envisager une solution que j'avais évoqué ici.
Pour mieux illustrer mon propos, je vous joins quelques photos dans l'ordre de la manip
IMG_20231025_185525[1].jpg
IMG_20231025_185451[1].jpg
IMG_20231025_185410[1].jpg
IMG_20231025_185329[1].jpg
IMG_20231025_185300[1].jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Pour une montagne libre.
Avatar du membre
Dominique
Messages : 3706
Enregistré le : 08 avr. 2006, 21:58

Re: Clustering des picto ?

Message par Dominique »

sly a écrit : 25 oct. 2023, 18:54 14 c'est imposé ? ça se change quelque part pour que je vois ce que ça donnerait au niveau 13 ou 12 ?
https://github.com/RefugesInfo/www.refu ... s.js#L6-L8
On ne parle pas en zoom, notion très dépendantes des dalles fournies, mais en "résolution" (mètres par pixels)


sly a écrit : 25 oct. 2023, 18:54 J'en arrive à me demander si je ne regrette pas le temps où les picto s'entassaient, mais au moins on savait ce qu'il y avait là et si ça vallait le coup de zoomer pour éviter de découvrir un bâtiment fermé sur un col...
La "punition", c'est qu'on n'avait que les 250 que l'API acceptait d'envoyer :(

Note que l'étiquette d'un cluster donne les noms des points (jusqu'à 5)
Avatar du membre
Dominique
Messages : 3706
Enregistré le : 08 avr. 2006, 21:58

Re: Clustering des picto ?

Message par Dominique »

Pascal 74 a écrit : 25 oct. 2023, 19:19 Ça serait du grand luxe mais on pourrait envisager une solution que j'avais évoqué ici.
Je doute qu'Openlayers ait les moyens de GGearth :calimero:
Je cherche à ne pas trop ajouter de code à la base existante.
La solution avec les icônes étalées m'a amené beaucoup trop loin : beaucoup de code, très bidouille, éclaté à plusieurs endroits et plein d'effets indésirables.

Une des solutions les plus simples est d'ajouter une "gigue" aléatoire à toute position de point (jusqu'à une dizaine de mètres) qui rend tout picto dissociable aux basses résolutions.
C'est une solution que j'avais apporté il y a quelques années qui est très simple mais génère une position pas très précise.