Skip to content

Loading…

Make inflated blurring image behavior optional #2165

Closed
springmeyer opened this Issue · 1 comment

1 participant

@springmeyer
Mapnik member

#1478 added code to create an internal image that is inflated in order to help blur outside the visual tile and therefore create a more seamless look to blurred shapes across tiles.

This new approach works perfectly when the data being blurred extends outside tile extents. In Mapnik this requires that the query to fetch data is buffered. But this requirement is problematic in at least three cases:

  1. This requires manually setting a generous map or layer level buffer_size and users may not know they need to do this.
  2. For data that is clipped (say vector tiles) or otherwise tiled (like http://openstreetmapdata.com/data/water-polygons) buffers will not help and the data needs to be artificially buffered
  3. Most data is clipped at the dateline and so even if a buffer_size is set the data will not fall on each side of the dateline leading to rendering artifacts.

So, overall #1478 improves the possibility of seamless blurring under the right conditions, but under the wrong conditions it actually makes artifacts more severe. For example previously artifacts were subtle:

screen shot 2014-02-27 at 9 05 54 am

But now, if the data is not buffered (in this case it is clipped per tile without buffers) the artifacts are more visible:

screen shot 2014-02-27 at 9 03 46 am

Therefore after reviewing these compromises I think the behavior added in #1478 should be a runtime option, and default off. So, you will need to opt-in to get this advanced support for seamless blurring and at that time you'll need to be more careful about buffering your data.

@springmeyer springmeyer added this to the Mapnik 2.3.0 milestone
@springmeyer
Mapnik member

closed by #2167

@springmeyer springmeyer referenced this issue in mapbox/mapbox-gl-js
Closed

Add blurring #236

@springmeyer springmeyer added a commit that referenced this issue
@springmeyer springmeyer make inflated image for blurring opt-in via 'image-filters-inflate' o…
…ption - refs #2165

Conflicts:
	src/agg/agg_renderer.cpp
277ae93
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.