Soyaux à la place d'Angoulême / rang des villes dans le style
publié le , mis à jouretienneJr
J'ai investigué, le problème vient du fait qu'Angoulême, comme Soyaux, est tagué
place=towndans 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
cityet pas comme unetown, 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 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
placeaura é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=cityne peut pas être utilisé pour Angoulême, alors il faudra améliorer la prise en compte durank(basé sur la population) pour l'affichage du layerTown 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éesplace=town). Cf commentaire ci-dessousetienneJr
@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
rankest<=12ou<=15alors qu'il ne peut être compris que entre 1 et 10, non ? vu la définition de la fonctioncalcRank(place, population, capital_al)ici : https://codeberg.org/cartes/serveur/src/commit/9c955a45f592bb864942c0e9fcae3d7b17a639ed/tilemaker/resources/process-openmaptiles.lua#L123tu sais/veux corriger ?
Sur le cas présent:
- Angoulême a
rank=8etcapital=6 - Soyaux a
rank=10
- Angoulême a
laem
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.
etienneJr
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)
etienneJr
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…
etienneJr
@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-strokequ'on n'a pas définie. Est-ce que je fais qqch pour remettre ces points noirs ? ou pas ?etienneJr
@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=villagedonc on ne peut pas favoriser l'un sur l'autre avec le style. Il faudrait que Benfeld soitclass=towndans OSM.