Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Tile edge artifacts using compositing #1662

Closed
wboykinm opened this Issue · 7 comments

3 participants

@wboykinm

The new comp-op functions are fantastic, but I've gotten persistent tile-edge artifacts in my exports. Cranking up metatile size to 15 eliminates some of them, but others remain.

Check out the interactive to get a sense of behavior.

@ajashton
Admin

I thought buffer-size and/or polygon-clip would be of help here, but they don't seem to affect this issue.

@springmeyer
Admin

In this case I think the sole issue is due to how the stack blur algorithm works - which is not compositing but an image filter. Basically we're abusing it - it is designed so that rx/ry of 255 are fully blurred and beyond that it cannot operate. See how r180 is the max here: http://www.quasimondo.com/StackBlurForCanvas/StackBlurDemo.html and you can see our impl clamps at 254: https://github.com/mapnik/mapnik/blob/master/deps/agg/include/agg_blur.h#L562.

@ajashton
Admin

But the artifacts still occur for very small values, such as (5,5). IE it doesn't look like the metatile buffer is being used.

@springmeyer
Admin

@ajashton - ah, good point, yeah, that is likely involved. My comment comes from the fact that I know bill was trying with agg-stack-blur radius values at something like 999. In my testing I was always cranking up the metatile massively to work around general tile artifacts. But yeah, in the case of image-filters or style level compositing, our internal buffer's size is not buffered.

@springmeyer
Admin

and looking at the code a bit more I am not immediately hopeful that supporting the map buffer in image-filters is going to be easy.

@wboykinm

Hooray, issue #1478! Thanks for everyone running this one down. It's funny how many cool features have popped up through complete misuse of a supported parameter (see line-smooth). For now I'll see if I can achieve the effect while dialing the rx/ry way down and the metatile size way up.

@springmeyer
Admin

closing. Been working on this in mapnik and it looks like the right approach. Let's track at mapnik/mapnik#1478

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.