-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] Filtrer les secteurs par portails #3243
Comments
Salut, non on ne le fait pas actuellement, mais c'est volontaire en l'état. On le fait sur les listes de typologies (pratiques, niveaux de difficulté, types de parcours, catégories de contenus touristiques, thèmes...) mais c'est déjà un peu lourd, car il faut comparer dynamiquement ces typologies aux objets publiés pour le portail concerné. Mais pour faire pareil sur les communes et les secteurs, le calcul est encore plus lourd, vu qu'il faut INTERSECTER géographiquement la géométrie des objets publiés pour le portail concerné avec la géométrie des communes et des secteurs. Et il faut au préalable agréger les géométries des différentes catégories d'objets (randos, sites Outdoor, contenus et événements touristiques) car on peut avoir des contenus touristiques dans une commune mais pas de rando et inversement. Donc il faut bien intersecter avec toutes les catégories d'objets publiés sur le portail. Vu qu'on travaille actuellement sur la mise en place de cache au niveau de l'API (GeotrekCE/Geotrek-rando-v3#753 (comment)), on peut imaginer que cela permette de ne pas refaire ce calcul à chaque appel. Sans au moins un de ces éléments, je pense qu'en l'état ce sera trop lourd de filtrer les communes et secteurs par portail. |
Merci pour ce retour, je vais donc attendre les futurs développements de Geotrek. |
@camillemonchicourt pourquoi ne pas faire plus simple ? En fait c'est un besoin qui revient souvent d'avoir un nombre de communes / secteurs limités par portail, globalement tous les territoires qui ont plusieurs portails j'ai l'impression. Pourquoi ne pas juste ajouter un champ "portail" sur les objets 'City' et 'District' et ensuite l'API remonte uniquement les objets rattachés au portail ? Ensuite sur les fiches détail des itinéraires ou autres objets dans la liste des communes traversées ont exclu celles qui ne sont pas liées au portail correspondant à la requête. C'est pas parfait puisqu'on pourra toujours avoir des communes remontées qui ne sont traversées par aucun contenu mais au moins les territoires auront la main pour savoir quelles sont les communes et secteurs remontés sur leur portail. Qu'en penses-tu ? |
C'est dommage que cela ne soit pas dynamique et qu'il faille aller saisir ça manuellement. Tout le monde va devoir aller associer ses communes à son (ses) portails, ce qui est un peu lourdingue et peu compréhensible/intuitif. L'idéal était le fonctionnement qu'on avait avant où les communes associées aux objets étaient stockés dans la BDD pour ne pas avoir à faire des intersections géographiques à la volée. |
Je me dis que c'est un compromis, l'idée n'était pas forcément de mettre à jour la liste des communes à chaque fois qu'on rajoute une nouvelle rando, mais au moins de proposer une liste plus cohérente pour le portail en question, qui corresponde au périmètre géographique du territoire. Ca sera pas parfait mais un compromis, non ? |
C'esr dommage d'avoir une BDD géographique et de devoir dire manuellement quelles communes on veut pour des objets qui sont géoréférencés. Je me demande si ce n'est pas plus pénible de devoir associer les communes à des portails et maintenir ça à jour, plutôt que d'avoir la liste de toutes les communes... On pourrait aussi imaginer passer par la liste des randos qui inclut la liste des communes traversées par ces randos, même si c'est un peu tordu. De mémoire historiquement on stockait en topologique les communes et zonages intersectant chaque objet, justement pour ne pas avoir à recalculer ça dynamiquement à la volée par intersection géographique. |
Après discussion aujourd'hui on estime qu'il faudrait rattacher aux objets suivants une information sur les communes traversées :
A chaque création / modification d'un objet, on calculerai la liste des communes traversées qui serait stockées dans une table servant de many2many.
Ensuite côté API :
A traiter en vrac :
Nous estimons de notre côté le travail nécéssaire à 3-4 semaines pour développer cette solution |
Si on le fait sur les itinéraires alors j'aurai tendance à dire qu'il faut directement le faire sur toutes les topologies. Dans tous les cas, il faudrait lancer ce calcul avec un trigger pour que la table soit bien peuplée et à jour dans tous les cas. En fait, initialement on avait bien ce mécanisme et on stockait les intersections avec les zonages de toutes les intersections, mais ça a été retiré pour une raison que j'ignore. Pour la route /city, je ne sais pas si il faut diverger des autres routes et tout renvoyer quand on ne passe pas de portail, mais plutôt renvoyer les communes associées à au moins un objet publié, pour être homogène avec les autres routes. 🤔 |
Question de la part d'un utilisateur : est-il possible de filtrer les secteurs par portails ?
N'ayant rien trouvé dans la doc ni sur l'admin, je pose la question ici pour savoir si c'est possible sur la dernière version de Geotrek-Admin où si il y a des développements à faire ?
The text was updated successfully, but these errors were encountered: