Skip to content
This repository

"Smart halos" requires separate layers #1259

Open
Ahlzen opened this Issue June 16, 2012 · 4 comments

3 participants

Lars Ahlzen Artem Pavlenko Dane Springmeyer
Lars Ahlzen
Ahlzen commented June 16, 2012

The "smart halos" technique, as described at:

http://mapnik.org/news/2012/04/20/smart-halos/

requires the halos and text labels to be on separate layers (with clear-label-cache="true" on the second layer), or the label collision detector will prevent the halos and labels from lining up. Thus it requires two separate (but identical) queries on the data source, which could (presumably) be a performance issue.

Dane Springmeyer
Owner

@artemp - I know you had ideas here, could you comment and fill this issue out a little bit more?

Dane Springmeyer
Owner

ping @artemp - can you share more details about what kinds of solutions you were thinking of here?

Lars Ahlzen

I seem to remember the ability to clear the label cache per style (rather than per-layer) mentioned as a potential solution.

Dane Springmeyer
Owner

Supporting ignore-placement on the text symbolizer could help with this: #1535.

Also, we could potentially create multiple label caches and have them keyed, such that you could do:

<TextSymbolizer .... collision-cache="none" />
<TextSymbolizer .... collision-cache="places" />
<TextSymbolizer .... collision-cache="lines" />

Only those labels overlapping with items from their same cache would be thrown out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.