stamen / terrain-classic

World-wide CartoCSS port of Stamen's classic terrain style
ISC License
144 stars 35 forks source link

overlapping street labels #38

Closed almccon closed 8 years ago

almccon commented 8 years ago

It's subtle, but I just noticed these:

screen shot 2015-10-06 at 5 43 55 pm

It looks like roads labels are drawn twice, first with a wide letter- or word-spacing, and then a second time slightly narrower. At first you don't notice it, or you think there are parentheses around the words.

Not sure how this is happening... they're not all double ways, I don't think. In any case, maybe text-min-distance or label-spacing is the culprit? Or more likely it's caused by attachments in the CartoCSS, where the label is defined in two places and gets drawn twice for the same feature.

clhenrick commented 8 years ago

@almccon think this is resolved via cecbc0b could you verify on your end?

almccon commented 8 years ago

Cool, it looks like this resolves #35, #36, and this issue. But that indicates unexpected behavior: the result of terrain-classic-labels, terrain-classic-lines, and terrain-classic-background stacked together should look exactly like terrain-classic... but apparently they're a little bit different. I think that the .yml files got out of sync somehow. (Which is inevitable, it's frustrating how we have things set up right now, where we are repeating ourselves so much in those files).

Like for example, I just spotted that terrain-classic-lines lacks highway shields, and terrain-classic has them.

It should be easy to harmonize the layers again... one moment.

almccon commented 8 years ago

c00774d5d1756449b6327275f8b7a064aca7fd8e harmonizes the yml files. And now the layer sandwich looks exactly the same as terrain-classic, and it also still look right if you stack labels and lines on top of terrain-classic, as the tessera file incorrectly had before cecbc0ba01cf79229509631a56dff2df708ba5d8. The only difference is that the text haloes are slightly brighter (because they're doubled up).

Because terrain-classic-labels.yml was lagging behind the label details in terrain-classic.yml, mainly by having different layer ordering but also because it still referred to some of the Toner city label shapefiles, the label placement was different, causing this issue and also causing #35 and #36. Now label placement is the same between the two variants.