← Retour aux issues

Soyaux à la place d'Angoulême / rang des villes dans le style

publié le , mis à jour
Avatar Codeberg de etienneJretienneJr

signalé par Cayenne17 sur le canal matrix

https://cartes.app/#7.88/45.831/0.68

image

  1. Avatar Codeberg de etienneJretienneJr

    J'ai investigué, le problème vient du fait qu'Angoulême, comme Soyaux, est tagué place=town dans OSM, alors qu'à mon avis (mais je ne suis pas du tout spécialiste de ce tag), Angoulême devrait être tagué place=city(identifie la ou les zones urbaines les plus importantes d'un territoire, selon le wiki).

    Si, dans la feuille de style, je force Angoulême a être traité comme une city et pas comme une town, j'obtiens bien le visuel attendu :

    • Angoulême seul de zoom 7 à 10.5
    • Soyaux qui apparait seulement au zoom 10.5
    zoom 10.2 zoom 10.8
    image image

    Et j'ai vérifié, pas d'interférences avec les gares ni avec le nom des rivières.

    Le problème se résoudra de lui même une fois que :

    • le tag place aura été modifié dans OSM
    • et les tuiles auront été recalculées (1 fois par semaine)

    A surveiller, et clore ce ticket quand ça sera bon.

    [edit] Si place=city ne peut pas être utilisé pour Angoulême, alors il faudra améliorer la prise en compte du rank (basé sur la population) pour l'affichage du layer Town labels. On devrait peut-être d'ailleurs le faire dans tous le cas, vu que le pb pourrait se produire à l'identique sur d'autres agglomérations plus petites (qui resteront taguées place=town). Cf commentaire ci-dessous

  2. Avatar Codeberg de etienneJretienneJr

    @laem en investigant, j'ai repéré ce bout de code aberrant dans la définition du layer Town labels : https://codeberg.org/cartes/web/src/commit/65bbe65aeaa23782dc500ee2f7e98c9178d46863/app/styles/france.ts#L3274

    'text-size': [
    				'interpolate',
    				['linear', 1],
    				['zoom'],
    				6,
    				['case', ['<=', ['get', 'rank'], 12], 11, 10],
    				9,
    				['case', ['<=', ['get', 'rank'], 15], 18, 16],
    				16,
    				['case', ['<=', ['get', 'rank'], 15], 26, 22],
    			],
    

    ça teste si le rank est <=12 ou <=15 alors qu'il ne peut être compris que entre 1 et 10, non ? vu la définition de la fonction calcRank(place, population, capital_al) ici : https://codeberg.org/cartes/serveur/src/commit/9c955a45f592bb864942c0e9fcae3d7b17a639ed/tilemaker/resources/process-openmaptiles.lua#L123

    tu sais/veux corriger ?

    Sur le cas présent:

    • Angoulême a rank=8 et capital=6
    • Soyaux a rank=10
  3. Avatar Codeberg de laemlaem

    Ah oui intéressant ! Je n'ai pas ça dans mes priorités du moment, mais bien joué !

    Rappelons-nous que le style est un dérivé de MapTiler/OMT et qu'ils étaient largement perfectibles à l'époque.

  4. Avatar Codeberg de etienneJretienneJr

    Je n'ai pas ça dans mes priorités du moment

    Pas de pb, je m'en occuperai alors, ça correspond aux thèmes qui me motivent, et aux tickets que je traite en ce moment (parking privés, id dans les tuiles, visibilité des gares, chemins privés, etc)

  5. Avatar Codeberg de etienneJretienneJr

    Autre exemple par Alexandre Franke

    Dans le même genre, au sud de Strasbourg, entre Erstein et Sélestat, Huttenheim apparait avant Benfeld au niveau de zoom 9, Benfeld apparait un peu plus tard vers zoom 9,6. Aux niveaux de zoom supérieur, ce qui se passe parait assez logique en prenant en compte la gare. Mais cette fourchette 9 — 9,6 ne semble pas normale. https://cartes.app/#9.78/48.3944/7.5843 Benfeld a le double d’habitants par rapport à Huttenheim (~2700 vs ~6000) et est le « centre » du coin. C’est là qu’il y a la gare, le collège, le marché, les clubs sportifs…

  6. Avatar Codeberg de etienneJretienneJr

    @laem sur le style osm-liberty, les villes ont des points noirs. On ne les a pas (plus ?) car la syntaxe appelle l'icone circle-stroke qu'on n'a pas définie. Est-ce que je fais qqch pour remettre ces points noirs ? ou pas ?

    image

  7. Avatar Codeberg de etienneJretienneJr

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

    Huttenheim apparait avant Benfeld au niveau de zoom 9

    les 2 sont class=village donc on ne peut pas favoriser l'un sur l'autre avec le style. Il faudrait que Benfeld soit class=town dans OSM.


✏️ Participer à la discussion