← Retour aux issues

Le nom du parc de la Tête d'Or à Lyon n'apparait pas

publié le , mis à jour
  1. Avatar Codeberg de laemlaem

    C'est un pb spécifique, car j'ai bien le nom du parc du Thabor à Rennes, du landry, etc.

    image

  2. Avatar Codeberg de laemlaem

    Ah par contre, les pairies n'ont leur nom qui s'affiche qu'à zoom très élevé.

    image

  3. Avatar Codeberg de laemlaem

    D'accord, même pb à la tête d'Or.

    image

  4. Avatar Codeberg de laemlaem

    OK j'ai essayé de mettre la couche park (et golf) après les POI, car ce sont les POI qui cachent les parcs.

    Ça leur donne trop d'importance, aux petits squares. Il faudrait qu'on ait un rank, parce que l'actuel est cassé : la tête d'Or est à 13 quand un square de quartier est aussi à 13.

    J'irais bien corriger ce "rank" mais faudra ensuite correctement le gérer, notamment définir le rank en fonction du zoom.

    Ah, mais je vois que chaque POI a un rank ! Un lycée, une clinique est de rang faible. Un poubelle de rang élevé. Donc en corrigeant le rank des parcs, et en les réintroduisant dans "Other POI", ça devrait marcher.

    Voilà l'item sur OSM : https://www.openstreetmap.org/way/4077207#map=16/45.77883/4.85614

    ok j'ai trouvé le poi class rank de 13. Statique.

    poiClassRanks   = { hospital=1, railway=2, bus=3, attraction=4, harbor=5, college=6,
    					school=7, stadium=8, zoo=9, town_hall=10, campsite=11, cemetery=12,
    					park=13, library=14, police=15, post=16, golf=17, shop=18, grocery=19,
    					fast_food=20, clothing_store=21, craft=22, office=22, bar=23, healthcare=24 } --cartes-- MODIFIED to add craft and healthcare
    wa
    

    @etienneJr tu as une idée pour résoudre ça ?

    Je serais tenté de donner un rank = 1 aux POI de type "park" qui ont une surface importante, via Area(), comme ici :

    
    -- Set minimum zoom level by area but not below given minzoom
    function SetMinZoomByAreaWithLimit(minzoom)
    	local area=Area()
    	if     minzoom <= 6 and area>ZRES5^2  then MinZoom(6)
    	elseif minzoom <= 7 and area>ZRES6^2  then MinZoom(7)
    	elseif minz
    

    image

  5. Avatar Codeberg de laemlaem

    On a le même pb à Vincennes. image, Boulogne...

    image

  6. Avatar Codeberg de pmiossecpmiossec

    Je ne sais pas si c'est le meilleur endroit pour mettre çà mais comme ça parle de rank

    mais ici https://cartes.app/?style=base#15.67/48.839342/2.348773/15/40 je trouve que les établissements scolaires et le établissements de santé sont sur-représenté et au moins pour les établissements scolaires, c'est rare qu'on en recherche un. Cela pourrait être caché au bénéfice de quelque chose d'autre à ce niveau de zoom: image

  7. Avatar Codeberg de pmiossecpmiossec

    Il semble qu'en zoom >16, il y a pleins de trucs affichés mais dès qu'on passe à 15, quasiment tout disparait pour juste afficher ces types de lieux...

  8. Avatar Codeberg de etienneJretienneJr

    @pmiossec wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10546628:

    Il semble qu'en zoom >16, il y a pleins de trucs affichés mais dès qu'on passe à 15, quasiment tout disparait pour juste afficher ces types de lieux...

    Tout à fait. Enfin plus précisément, le rank sert à gérer la priorité entre tous les éléments possibles à un zoom donné. Alors que le minzoom à partir duquel un élément s'affiche est géré ici dans poiOpacity() (et a priori bien expliqué dans les commentaires) : https://codeberg.org/cartes/web/src/branch/master/app/styles/base.ts#L384-L448

    Donc c'est encore plus facile de changer ces minzoom (ça n'implique pas de changer le rank, donc pas besoin de recalcul de tuile). Et on pourrait même discrétiser encore plus (les seuils sont des float, pas des entiers, vu qu'on est en vectoriel).

    Faut juste se mettre d'accord sur l'ordre qu'on veut proposer pour une app grand public ! 😅

  9. Avatar Codeberg de laemlaem

    Bien d'accord : je sais pas pourquoi OpenMapTiles a donné tant d'importance aux écoles & co. L'hopital c'est plus cohérent : y en a peu, ça structure un quartier, etc.

    @etienneJr tu as vu ma question plus haut pour toi :) ?

    @etienneJr tu as une idée pour résoudre ça ?

    Je serais tenté de donner un rank = 1 aux POI de type "park" qui ont une surface importante, via Area(), comme ici :

  10. Avatar Codeberg de etienneJretienneJr

    @laem wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10558100:

    Bien d'accord : je sais pas pourquoi OpenMapTiles a donné tant d'importance aux écoles & co.

    c'est pas tellement OpenMapTiles, mais plutôt le style d'origine de notre base.ts (MapTiler basic ?). Quoique c'est ptet nous même qui l'avons fait !

    Je serais tenté de donner un rank = 1 aux POI de type "park" qui ont une surface importante, via Area(), comme ici :

    Bonne idée de différencier selon Area(). A tenter. Mais les grands parcs à zoom faible pourraient aussi être traités dans le layer park ou dans le layer landuse ? C'est vrai que c'est le bazar, ces parcs.

  11. Avatar Codeberg de etienneJretienneJr

    @laem @pmiossec au delà des parcs, voyez d'autres valeurs à modifier des les ranks ?

    poiClassRanks   = { hospital=1, railway=2, bus=3, attraction=4, harbor=5, college=6,
    					school=7, stadium=8, zoo=9, town_hall=10, campsite=11, cemetery=12,
    					park=13, library=14, police=15, post=16, golf=17, shop=18, grocery=19,
    					fast_food=20, clothing_store=21, craft=22, office=22, bar=23, healthcare=24 }
    

    Typiquement c'est moi qui ait rajouté craft=22, office=22, bar=23, healthcare=24 (car ce sont des classes qui n'étaient pas dans OpenMapTiles) et je les ai mises à la fin de liste par flemme d'y réfléchir. Clairement healthcare n'a rien à faire en dernier. Comment modifiriez-vous cette liste ?

  12. Avatar Codeberg de pmiossecpmiossec

    (Avec mon faible degrès d'expérience en cartographie, tags OSM et qu'est-ce qui peut rentrer en conflit,) je dirais qqchose comme:

    poiClassRanks  = {
    	park=1,
    	railway=2,
    	bus=3,
    	town_hall=4,
    	police=5,
    	post=6,
    	attraction=7,
    	hospital=8,
    	cemetery=9,
    	stadium=10,
    	zoo=11,
    	campsite=12,
    	harbor=13,
    	library=14,
    	craft=15,
    	fast_food=16,
    	bar=17,
    	grocery=18,
    	shop=19,
    	healthcare=20
    	clothing_store=21,
    	college=22,
    	school=23,
    	office=24,
    	golf=25,
    	}
    

    Mais si j'ai bien compris le rank, c'est juste quand y'a pas assez de place pour afficher tout et qu'on doit faire des choix? Et que donc, sur les POI vastes (park, campsite, hospital, cemetery,...) y'a peu de chance que ça rentre en conflit à part si on affiche presque tout en zoom faible. Et dans ce cas là, il vaut mieux les mettre en 1er parce qu'ils sont structurant et pour qu'ils restent visibles. J'ai bien compris?

    En y reflechissant, ça soulève des questions: Pourquoi y'a golf et pas les autres sports? Les lacs et autres étendues d'eau ne sont pas des POI?

  13. Avatar Codeberg de etienneJretienneJr

    @pmiossec wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10576462:

    Pourquoi y'a golf et pas les autres sports?

    probablement un biais du gars qui a créé le schéma OpenMapTiles !

    Les lacs et autres étendues d'eau ne sont pas des POI?

    Tout à fait, ils sont dans une autre couche de données au niveau des tuiles (water), et le visuel est géré par plusieurs couches de rendu dans la feuille de style. Les POI dont on parle ici, ce sont uniquement les éléments qui sont rendus avec une icone.

    Mais si j'ai bien compris le rank, c'est juste quand y'a pas assez de place pour afficher tout et qu'on doit faire des choix?

    C'est même pire que ça : c'est quand il n'y a pas assez de place au sein d'une couche de rendu. Donc un autre moyen de mettre en avant la classe bidule est de :

    • créer une couche de rendu pour tous les POI sauf bidule
    • par dessus, créer une couche de rendu spécifique pour les bidules. Comme elle est par dessus, son affichage sera prioritaire dans tous les cas.

    Et dans ce cas là, il vaut mieux les mettre en 1er parce qu'ils sont structurant et pour qu'ils restent visibles.

    on peut aussi jouer sur le minzoom pour que les structurants apparaissent avant les autres lorsqu'on zoome.

  14. Avatar Codeberg de pmiossecpmiossec

    @etienneJr wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10576842:

    on peut aussi jouer sur le minzoom pour que les structurants apparaissent avant les autres lorsqu'on zoome.

    Oui, j'etais justement en train d'essayer des trucs mais j'arrive pas à comprendre la syntaxe. Pour https://codeberg.org/cartes/web/src/commit/7c921b0184c69fb3b4ff635a51662936904d82e4/app/styles/base.ts#L388 , y'a une doc ou un peu d'aide qqpart? Le tableau semble avoir 1 seule dimension avec des valeurs de types differents sans que j'arrive à en comprendre toute la logique...

  15. Avatar Codeberg de etienneJretienneJr

    @pmiossec wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10581023:

    , y'a une doc ou un peu d'aide qqpart?

    La doc est

    Attention, notre base.ts utilise encore par endroit des syntaxes dépréciées... j'ai un ticket ouvert qq part pour penser à faire la mise à jour ...

    Après, c'est clair que cette syntaxe est puissante mais pas hyper facile à lire, et en plus on a rajouté des complications en l'imbriquant dans des fonctions js à paramètres pour modifier le rendu en fonction de styleKey ... Donc je comprendrais que tu n'aies pas non plus envie d'y perdre des heures. Dis moi si tu veux que je fasse des modifs.

  16. Avatar Codeberg de laemlaem

    Fait ! Recalcul en cours des tuiles.

  17. Avatar Codeberg de etienneJretienneJr

    @pmiossec wrote in https://codeberg.org/cartes/web/issues/1607#issuecomment-10576462:

    Mais si j'ai bien compris le rank, c'est juste quand y'a pas assez de place pour afficher tout et qu'on doit faire des choix?

    En faisant la review de la PR, j'ai revu un autre usage que j'avais oublié : les rank 1 à 4 sont inclus dans les tuiles dès le zoom 10. Les autres seulement à partir du zoom 13. Évidemment on pourra changer ça et affiner plus précisément les minzoom, comme @laem vient de le faire pour les parcs en fonction de leur aire.

  18. Avatar Codeberg de etienneJretienneJr

    Je me demande si on ne devrait pas étendre la logique introduite par @laem avec les parcs pour rendre visibles plus tôt les autres éléments qui ont une grande aire ? Certes ça ne marchera pas à tous les coups, car il y a des POIs stockés en node et pas en area. Mais un lieu avec une grande aire mérité d'être signalé plus tôt, non ? Ou bien justement ça risque de mettre en valeur des choses qu'on ne voudrait pas mettre en valeur ? (genre une zone commerciale)

  19. Avatar Codeberg de laemlaem

    Certes ça ne marchera pas à tous les coups, car il y a des POIs stockés en node et pas en area. Mais un lieu avec une grande aire mérité d'être signalé plus tôt, non ? Ou bien justement ça risque de mettre en valeur des choses qu'on ne voudrait pas mettre en valeur ? (genre une zone commerciale)

    Oui je me suis posé la même question. Je pense qu'il vaut mieux le faire au cas par cas. Il y a sûrement en effet des lieux qu'on veut pas mettre à ce point en avant.

  20. Avatar Codeberg de laemlaem

    Je me permets de clore, mais n'hésitez pas à rouvrir immédiatement si vous voulez continuer de parler de tout ça ici :)


✏️ Participer à la discussion