PnX-SI / GeoNature

Application de saisie et de synthèse des observations faune et flore
GNU General Public License v3.0
104 stars 102 forks source link

[map] Erreur affichage ref_geo.l_areas sur cartes leaflet / params = {limit = xxxx} #3168

Open marie-laure-cen opened 2 months ago

marie-laure-cen commented 2 months ago

Version 2.14.1

Description du bug Les requêtes pour afficher les géométries sauvegardées dans ref_geo.l_areas s'arrêtent au bout de quelques géométries (4 actuellement pour les deux catégories affichées par défaut). J'ai l'impression que ce phénomène se produit depuis le passage à la 2.14.

J'ai corrigé les géométries donc a priori ce n'est pas une erreur provenant de celle-ci.

Je n'ai pas d'erreur de requête réseau a priori et rien dans les logs

ref_geo

camillemonchicourt commented 2 months ago

C'est dans quel contexte ? Pour afficher sur une carte une couche présente dans la ref_geo ? Il y a eu quelques corrections et améliorations du RefGeo avant la 2.14 (https://github.com/PnX-SI/RefGeo/releases), c'est peut-être un effet de bord. 🤔

marie-laure-cen commented 2 months ago

C'est pour l'affichage des cartes via le paramètrage de geonature_config.toml

[[MAPCONFIG.REF_LAYERS]]
    code = 'SCEN'
    label = 'Site de catégorie 1 du CEN Normandie'
    type = 'area'
    activate = true
    style = {color = 'DarkRed', fill = true, fillOpacity = '0.5', weight = 2 }
    params = {limit = 5000}

ref_geo_carto

Edit : je me demande si ce n'est pas le paramètre limit qui pose problème car ça n'a l'air de le faire que pour les couches avec ce paramètre... je ne peux pas tester ça tout de suite mais je regarde ça dans la matinée.

camillemonchicourt commented 2 months ago

OK faut qu'on regarde si quelque chose à changer au niveau de la route /geo/areas/

gildeluermoz commented 2 months ago

En testant avec les communes sur une de mes instances, c'est le limit qui pose pb. Si tu retires le limit, ça renvoit bien toutes les communes, si tu mets un limit=1000, ça ne revoit qu'une commune, si tu mets un limit=2000 ça ne renvoit de 2 communes et un limit=5000 renvoit 5 communes ... Vous pouvez tester aussi sur la demo https://demo.geonature.fr/geonature/api/geo/areas?type_code=COM&format=geojson&limit=2000 https://demo.geonature.fr/geonature/api/geo/areas?type_code=COM&format=geojson

marie-laure-cen commented 2 months ago

je confirme que c'était bien ça

camillemonchicourt commented 2 months ago

Aille OK, donc y a un soucis avec le LIMIT au niveau de RefGeo. Certainement un effet de bord de développements entre la 1.4 et la 1.5 : https://github.com/PnX-SI/RefGeo/compare/1.4.0...1.5.3

gildeluermoz commented 2 months ago

Le soucis est ici https://github.com/PnX-SI/RefGeo/blob/master/src/ref_geo/routes.py#L230 il faut retirer le [0] J'ai testé et ça corrige pb. Un limit=20 renvoie 20 communes Je fait une PR.

gildeluermoz commented 2 months ago

https://github.com/PnX-SI/RefGeo/pull/33

gildeluermoz commented 2 months ago

@marie-laure-cen le fix est pour le coup ultra simple à faire sur ton instance. tu retires le [0] ligne 230 dans ce fichier ~geonature/backend/venv/lib/python3.11/site-packages/ref_geo/routes.py et tu redémarres le service geonature sudo systemctl restart geonature.service

marie-laure-cen commented 2 months ago

Merci!