planetiler icon indicating copy to clipboard operation
planetiler copied to clipboard

[BUG] `skip_filled_tiles=true` doesn't seem to work

Open mourner opened this issue 5 months ago • 2 comments

Describe the bug When generating tiles with skip_filled_tiles=true, the option doesn't seem to do anything.

To Reproduce E.g. generate Protomaps Basemaps tiles with the option turned on https://github.com/protomaps/basemaps/

Make sure that it is set to true in the log:

argument: skip_filled_tiles=true (Skip writing tiles containing only polygon fills to the output)

Expected behavior No tiles that are just filled water polygon squares are encoded in the output file.

Screenshots I'm still seeing all the filled tiles encoded in the result: Image

Environment (please complete the following information):

  • Hardware: Macbook Pro 15 M1 Pro
  • OS: MacOS Sequoia 15.5
  • Java version and distribution: openjdk 23.0.2 2025-01-21, OpenJDK Runtime Environment Temurin-23.0.2+7 (build 23.0.2+7)
  • Maven version: 3.9.10

Additional context I'm just trying to reduce the size of the file as much as possible, and the water layer currently takes too much — I thought this option would make a difference but it doesn't seem to do anything.

mourner avatar Jul 11 '25 11:07 mourner

I just tested this on the built-in openmaptiles profile and it properly omits filled tiles. Looks like this might be an issue in protomaps basemap? The water_big layer might have an issue with it that prevents geometries from getting merged. @bdon any idea what might be going on here?

Also if you're using pmtiles, filled tiles shouldn't have a huge effect on the output size since the actual tile content only gets stored once, and filled tiles that are repeated in hilbert tile ordering get collapsed into a single run in the tile index. Using openmaptiles to generate a pmtiles including Massachusetts and a large chunk of the Atlantic Ocean is 170MB but gets only 23KB smaller with skip-filled-tiles set to true.

msbarry avatar Aug 07 '25 11:08 msbarry

This doesn't address the skip_filled_tiles=true bug directly, but you can visualize how filled tiles are deduplicated on https://pmtiles.io/archive/ - RLE-deduplicated water areas in a Ukraine basemap build look like this:

Image

bdon avatar Aug 12 '25 07:08 bdon