← Retour aux issues

Simplification des layers landcover

publié le , mis à jour

⚙️ Ceci est une proposition de changement de code.

Rendez-vous sur sa page Coderberg pour l'osculter.

Avatar Codeberg de etienneJretienneJr

Idée générale : on a 2 sources de landcover qui sont toutes les calculées sur à peu près tous les zooms. On va faire une transition la plus courte possible entre les 2 (sur 1 unité de zoom) pour éviter de calculer des points pour rien

  • ajout explicite du maxzoom: 10 dans les layers de h3-landcover.pmtiles pour éviter que maplibre surzoome inutilement dans la dernière tuile dispo (z9). ça permet aussi que le protocole pmtiles arrête d'appeler des tuiles inutiles.
    • Pour l'instant on la faisait disparaitre avec opacity: 0 au dessus de z11 mais les points étaient toujours calculés)
  • ajout d'un minzoom dans les layers de planet.pmtiles/landcover pour ne les afficher qu'à partir de z9.
    • Pour l'instant ils apparaissaient dès que dispo (z6) mais n'étaient pas très visibles à cause de h3-landcover plus opaque. Et comme on n'utilise pas combine_polygon lors du calcul des tuiles (trop lent), ces layers ont des géométries hyper compliquées
    • d'ailleurs, ça permettra aussi d'alléger les tuiles si on veut, en supprimant les niveaux z6, z7, z8.
  • Gestion d'une transition entre les 2 sources entre z9 et z10.

un peu pareil pour limiter bathymetry

  • bathymetry : on le masque doucement entre z10 et z12, puis on bloque avec un maxzoom=12, pour pouvoir bloquer l'appel de tuiles inutiles au dessus de z12

et on en profite pour faire d'autres optimisations de différentes grandes surfaces du même genre

  • parks=protected_area : on masque la couche fill au dessus de z12 sinon à zoom plus élevé ça fait un filtre verdâtre sur toute la surface
    • on pourrait maintenant se permettre de les afficher un peu plus foncé autour de z10, ou avec une texture, genre des hachures. Mais je n'ai pas essayé.
    • faudrait revoir aussi les labels de ces parcs pour qu'ils apparaissent plus à zoom faible.
  • idem pour les ZFE au dessus de z16 pour éviter un filtre rougeatre sur toutes les villes concernées
  1. Avatar Codeberg de etienneJretienneJr
    • Dans h3-landcover.pmtiles, on a les landcover (simplifiés) jusqu'au zoom 9 inclus, et on les affiche jusqu'à 11 (avec disparition progressive de 10 à 11)
    • Dans planet.pmtiles/landcover, on a les landcover (complets, et modifiables) à partir de 6 inclus. Mais comme on n'utilise pas combine_polygons lors de la génération des tuiles (ça rallonge trop le temps de calcul (cela dit on pourrait peut-être l'appliquer à certains endroits)), ça nous fait une tuile hyper compliquée !! Donc probable que ça ralentisse à fond le rendu !
      • on a aussi le layer park qui participe au bazar

    voici un aperçu du bazar dans notre planet.pmtiles, comparé à la grosse simplification de géométries réalisée dans h3-landcover

    h3-landcover image
    planet image
  2. Avatar Codeberg de etienneJretienneJr

    @laem a priori ça devrait déjà accélérer le rendu pour tout le monde, sans quasiment modifier le rendu. Je te laisse regarder et fusionner si OK pour toi.

  3. Avatar Codeberg de laemlaem

    Trop cool ! Tu maitrises clairement mieux ce sujet que moi.


✏️ Participer à la discussion