Suite

CartoCSS : construire un polygone par tag


J'utilise MapBox Studio pour créer une carte personnalisée des bidonvilles.

Dans OSM, nous avons de nombreux polygones représentant des bâtiments et je dois les styliser en fonction de leur balise "building". Par exemple, la balise building=hospital doit avoir un fond rouge.

J'ai essayé de sélectionner ces polygones mais je ne trouve pas de moyen. Cela fonctionne bien comme prévu :

#building { polygone-remplissage : #2aeb38 ; }

… mais aucun de ceux-ci ne fonctionne :

#building [building='hospital'], #building [amenity='clinic'], #building [class='clinic'], #building [class='hospital'], #buildings [type='hospital'], #buildings [type='clinic']{ polygon-fill: #e28600; }

Dans Maperitive, je pouvais facilement styliser des polygones et pointer facilement en faisant :

hôpital : amenity=hôpital OU bâtiment=hôpital OU amenity=clinique cible : hôpital définir…

mais je ne peux pas reproduire cela sur CartoCSS. Des idées?


Si vous stylisez la source par défaut (mapbox-streets-v5) dans mapbox studio, vous ne travaillez pas avec des données OSM brutes, vous êtes une donnée de style à laquelle l'opinion de quelqu'un a déjà été appliquée, et vos options sont donc limitées. Dans ce cas, la couche de construction n'a pas de champs autres que osm_id, il ne semble donc pas que vous puissiez accomplir ce que vous cherchez à faire en utilisant mapbox-streets-v5. Cela ne signifie pas que vous ne pouvez pas faire ce style avec mapbox studio, mais vous devrez créer vos propres tuiles vectorielles qui incluent les informations dont vous avez besoin.

Dans le volet des couches de mapbox studio, vous pouvez afficher les champs associés à une couche :