Development #61832
optimiser |distance_filter pour profiter un peu de la db
0%
Description
Actuellement le filtre se passe totalement côté application et calcule tout à fait correctement la distance via pyproj mais on pourrait avant ça ajouter un filtre SQL un peu grossier, bounding box générale, pour réduire ainsi le nombre de demandes à sortir de la base de données.
Fichiers
Demandes liées
Révisions associées
misc: use new Distance criteria in distance filter (#61832)
This is less precise than the calculation using pyproj but good enough
for small distances.
(the change is required to tests as a computed distance changes from
199685 to 200577 and is thus no longer <200000).
Historique
Mis à jour par Frédéric Péters il y a plus d'un an
- Lié à Development #70823: filtre géographique ("distance") dans l'API ajouté
Mis à jour par Frédéric Péters il y a plus d'un an
- Fichier 0002-misc-use-new-Distance-criteria-in-distance-filter-61.patch 0002-misc-use-new-Distance-criteria-in-distance-filter-61.patch ajouté
- Fichier 0001-misc-add-distance-criteria-61832.patch 0001-misc-add-distance-criteria-61832.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
0001 pour l'ajout d'un critère Distance; il s'accompagne d'une colonne supplémentaires aux tables des demandes/fiches, colonne "auto_geoloc" pour contenir soit la géolocalisation explicitement attachée, soit les coordonnées de la première carte (c'est la méthode get_auto_geoloc qui existait déjà et était utilisée pour |distance).
L'approximation de la distance vient de https://www.mkompf.com/gps/distcalc.html, qu'on utilise déjà dans le connecteur opengis dans passerelle.
0002 pour exploiter ce critère en remplacement du python/pyproj.
C'est assez pour faire le taf ici, dans une phase ultérieure on pourrait se dire qu'il faudrait pouvoir chercher ce qui est au-delà de la distance (en exploitant ce qu'on a comme gestion des opérateurs), attacher la distance calculée aux résultats, trier dessus, etc. mais pour le moment, à la fois pour le signalement et pour publik notification, pas besoin.
Mis à jour par Lauréline Guérin il y a plus d'un an
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a plus d'un an
commit b087723d7ffd4b70ca3ff2ae32abfc7e9463e446 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun Nov 20 14:17:40 2022 +0100 misc: use new Distance criteria in distance filter (#61832) This is less precise than the calculation using pyproj but good enough for small distances. (the change is required to tests as a computed distance changes from 199685 to 200577 and is thus no longer <200000). commit cd11ed3a1986203a61966c900f3d6374f1842fd5 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sun Nov 20 13:44:39 2022 +0100 misc: add distance criteria (#61832)
Mis à jour par Frédéric Péters il y a plus d'un an
- Statut changé de Solution validée à Résolu (à déployer)
Mis à jour par Transition automatique il y a plus d'un an
- Statut changé de Résolu (à déployer) à Solution déployée
misc: add distance criteria (#61832)