Projet

Général

Profil

Development #61832

optimiser |distance_filter pour profiter un peu de la db

Ajouté par Frédéric Péters il y a environ 2 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
15 février 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Lié à w.c.s. - Development #70823: filtre géographique ("distance") dans l'APIFermé28 octobre 2022

Actions

Révisions associées

Révision cd11ed3a (diff)
Ajouté par Frédéric Péters il y a plus d'un an

misc: add distance criteria (#61832)

Révision b087723d (diff)
Ajouté par Frédéric Péters il y a plus d'un an

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

#2

Mis à jour par Frédéric Péters il y a plus d'un an

#3

Mis à jour par Frédéric Péters il y a plus d'un an

  • Assigné à mis à Frédéric Péters
#4

Mis à jour par Frédéric Péters il y a plus d'un an

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.

#5

Mis à jour par Lauréline Guérin il y a plus d'un an

  • Statut changé de Solution proposée à Solution validée
#6

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)
#7

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)
#8

Mis à jour par Transition automatique il y a plus d'un an

  • Statut changé de Résolu (à déployer) à Solution déployée
#9

Mis à jour par Transition automatique il y a environ un an

Automatic expiration

Formats disponibles : Atom PDF