Make inflated blurring image behavior optional #2165

Closed
springmeyer opened this Issue Feb 27, 2014 · 1 comment

Comments

Projects
None yet
1 participant
@springmeyer
Member

springmeyer commented Feb 27, 2014

#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

This comment has been minimized.

Show comment
Hide comment
@springmeyer

springmeyer Feb 27, 2014

Member

closed by #2167

Member

springmeyer commented Feb 27, 2014

closed by #2167

@springmeyer springmeyer referenced this issue in mapbox/mapbox-gl-js Feb 27, 2014

Closed

Add blurring #236

springmeyer pushed a commit that referenced this issue Feb 27, 2014

Dane Springmeyer
make inflated image for blurring opt-in via 'image-filters-inflate' o…
…ption - refs #2165

Conflicts:
	src/agg/agg_renderer.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment