Open Amegilla opened 4 years ago
Dans une ancienne vie, avec Openlayers 2, on avait proposé aux développeurs d'OL2 d'ordonner les géométries par surface de manière à ce que les plus grandes surfaces soient systématiquement dessous et les plus petites dessus. La proposition avait été retenue.
Par contre pour faire ça dans GeoNature, je ne sais pas dans quelle mesure un ORDER BY st_area(geom)
serait impactant sur les perfs.
et en fait le pb se pose aussi quand plusieurs polygones se superposent, ce qui est souvent les cas quand plusieurs taxons sont notés sur le même relevé.
Je pense que ça doit pouvoir se faire au niveau du client : https://leafletjs.com/reference-1.5.0.html#layergroup-setzindex
Je comprends que le setzindex permet d'ordonner les layers mais pas les features au sein d'une layer. Non ?
et en fait le pb se pose aussi quand plusieurs polygones se superposent, ce qui est souvent les cas quand plusieurs taxons sont notés sur le même relevé.
Par contre pour ce cas là, je ne vois pas trop de solution. Les clusters gèrent ça très bien mais si tu as un affichage en points ou polygones avec plusieurs taxons avec exactement la même geom, je ne vois pas de solution.
Sinon il faut dispatcher le geojson dans 3 layers différents, un par type de géométrie. Forcement le layer des polygones devra être sous les 2 autres.
C'est une approche mais il faut voir avec Théo les conséquences, notamment sur le maplist.
Je comprends que le setzindex permet d'ordonner les layers mais pas les features au sein d'une layer. Non ?
et en fait le pb se pose aussi quand plusieurs polygones se superposent, ce qui est souvent les cas quand plusieurs taxons sont notés sur le même relevé.
Par contre pour ce cas là, je ne vois pas trop de solution. Les clusters gèrent ça très bien mais si tu as un affichage en points ou polygones avec plusieurs taxons avec exactement la même geom, je ne vois pas de solution.
Je n'ai plus trop le truc en tête, mais de mémoire il semble qu'il y a une subtilité entre les layers au sens de leafet et au sens où on l'entend habituellement, et donc que un layer de leaflet correspond bien à une géométrie. Je pense que ca doit se jouer quelque part ici, au niveau du onEachFeature : https://github.com/PnX-SI/GeoNature/blob/875894ae5df513be19178199cf59fdbe8c6958c3/frontend/src/app/GN2CommonModule/map/map.service.ts#L148
Il existe une librairie qui pourrait répondre à ce pb, leaflet-pip, qui permet d'interragir avec des polygones qui se chevauchent. Cf cet exemple: https://aura-partage.lpo.fr/cartes/trashtests/leaflet_pip.html
Les points sont déjà dans une layer à part (pour être clustérisés) et ligne/polygone dans une autre. Donc on pourrait déjà facilement mettre les points par dessus. Intéressant leaflet-pip.
La dernière release de leaflet-pip date de novembre 2016
Oui, et je n'ai pas trouvé de fork plus à jour...
Pas mal en effet comme solution, et au final pour plusieurs polygones similaires qui se superposent, cliquer dessus permettrait de les sélectionner tous et d'avoir les lignes correspondantes mises en avant sur le panneau de droite.
Pas de news sur ce sujet ? c'est toujours une galère quand une recherche sort des points et polygones...
Tout est dans le titre.
C'est un pb que me remontent régulièrement mes collègues. J'imagine que les géométries sont ordonnées par date sur la carte mais est-ce qu'on ne pourrais pas forcer les polygones à l'arrière plan pour éviter ce pb ?
merci