Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize tile sizes #112

Merged
merged 1 commit into from
Sep 25, 2023
Merged

Optimize tile sizes #112

merged 1 commit into from
Sep 25, 2023

Conversation

msbarry
Copy link
Collaborator

@msbarry msbarry commented Sep 24, 2023

Use new planetiler utilities from onthegomap/planetiler#669 and layer size stats from onthegomap/planetiler#656 to optimize some low-hanging fruit on tile sizes:

  • combine z14 building polygons with the same attributes into multipolygons
  • combine housenumber points with the same attributes into multipoints
  • combine z13-14 landuse polygons with the same attributes into multipolygons
  • apply extra simplification to some mid-zoom (z7-10) landcover polygons

Additionally, if you don't need to support raster tile rendering, you can run with --max-point-buffer=4 to limit the number of pixels outside of a tile's boundary that points can appear.

  before after after with
--max-point-buffer=4
max tile size 3.4MB 1.3MB (-62%) 984KB (-71%)
max tile size gzipped 1.2MB 729KB (-39%) 680KB (-43%)
weighted average tile size 132KB 117KB (-11%) 72KB (-45%)
weighted average tile size gzipped 81KB 74KB (-9%) 49KB (-40%)
archive size 71GB 67GB (-6%) 60GB (-15%)

Also added some TODOs for other offenders we aren't quite ready to address yet:

  • "brunnel" tag on transportation lines increases the size of some z4-7 transportation layers by 5x what they would be without brunnel tags. Planetiler should offer an option to exclude a tag on lines that are less than a certain length
  • every place=state point is currently included starting at z2 (before many countries), we should probably limit that based on natural earth rank like we do with place=country points

@github-actions
Copy link

github-actions bot commented Sep 24, 2023

Base 210c8fe This Branch ec9eafc
0:02:05 DEB [archive] - Tile stats:
0:02:05 DEB [archive] - Biggest tiles (gzipped)
1. 9/154/190 (204k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:173k)
2. 10/308/381 (180k) https://onthegomap.github.io/planetiler-demo/#10.5/41.63994/-71.54297 (landcover:141k)
3. 10/308/380 (179k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:129k)
4. 14/4942/6092 (173k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (building:142k)
5. 14/4940/6092 (135k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:212k)
6. 14/4941/6093 (128k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:133k)
7. 14/4940/6091 (125k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.44409 (building:204k)
8. 14/4941/6092 (124k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.42212 (building:94k)
9. 14/4942/6091 (122k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:175k)
10. 14/4940/6093 (118k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.44409 (building:164k)
0:02:05 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   445   581   936   340   432   545   545  1.6k  2.1k  7.2k  6.4k  5.8k  4.5k  7.2k
              water 7.7k  3.7k  8.6k  5.5k  2.6k  5.1k   15k   18k   16k   25k   15k   13k   17k   15k   12k   25k
              place    0     0   377   377   377   586   675   963  1.6k  3.3k  5.7k  3.1k  1.7k   789   947  5.7k
            landuse    0     0     0     0   679   745  1.3k    6k   17k   44k   59k   50k   38k   23k   14k   59k
     transportation    0     0     0     0  1.1k  1.9k  2.9k  9.5k   12k   32k   22k   23k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.4k  2.3k    2k  1.6k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0  1.1k  3.7k  9.4k   18k   12k  7.4k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  4.9k  3.9k  3.7k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0   23k   67k  173k  141k   81k   53k   30k   24k  173k
      mountain_peak    0     0     0     0     0     0     0  1.1k  1.8k  3.4k  4.3k  2.8k  1.4k  1.4k   869  4.3k
         water_name    0     0     0     0     0     0     0     0     0   487   462   434   445   549    1k    1k
    aerodrome_label    0     0     0     0     0     0     0     0     0     0   674   327   273   220   220   674
            aeroway    0     0     0     0     0     0     0     0     0     0  1.6k  2.1k    3k  3.4k  2.7k  3.4k
                poi    0     0     0     0     0     0     0     0     0     0     0     0   501   498   67k   67k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   60k  212k  212k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   55k   55k
          full tile 7.9k    4k  9.4k  6.4k  4.6k  7.2k   22k   58k  127k  298k  256k  136k  114k  128k  304k  304k
            gzipped 6.2k  3.6k  7.1k  5.2k  3.5k  5.4k   15k   38k   84k  204k  180k  100k   84k   93k  173k  204k
0:02:05 DEB [archive] -    Max tile: 304k (gzipped: 204k)
0:02:05 DEB [archive] -    Avg tile: 6.3k (gzipped: 4.5k) using weighted average based on OSM traffic
0:02:05 DEB [archive] -     # tiles: 4,115,061
0:02:05 DEB [archive] -  # features: 5,440,676
0:02:05 INF [archive] - Finished in 32s cpu:1m1s gc:1s avg:1.9
0:02:05 INF [archive] -   read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF [archive] -   encode  2x(61% 19s done:2s)
0:02:05 INF [archive] -   write   1x(12% 4s wait:24s done:2s)
0:02:05 INF - Finished in 2m5s cpu:3m38s gc:4s avg:1.7
0:02:05 INF - FINISHED!
0:02:05 INF - 
0:02:05 INF - ----------------------------------------
0:02:05 INF - data errors:
0:02:05 INF - 	render_snap_fix_input	16,475
0:02:05 INF - 	osm_boundary_missing_way	63
0:02:05 INF - 	osm_multipolygon_missing_way	57
0:02:05 INF - 	merge_snap_fix_input	14
0:02:05 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	overall          2m5s cpu:3m38s gc:4s avg:1.7
0:02:05 INF - 	lake_centerlines 3s cpu:6s avg:1.8
0:02:05 INF - 	  read     1x(46% 1s done:1s)
0:02:05 INF - 	  process  2x(7% 0.2s wait:2s done:1s)
0:02:05 INF - 	  write    1x(0% 0s wait:2s done:1s)
0:02:05 INF - 	water_polygons   27s cpu:49s gc:2s avg:1.8
0:02:05 INF - 	  read     1x(54% 14s sys:1s wait:4s)
0:02:05 INF - 	  process  2x(30% 8s wait:11s)
0:02:05 INF - 	  write    1x(2% 0.6s wait:26s)
0:02:05 INF - 	natural_earth    23s cpu:24s avg:1.1
0:02:05 INF - 	  read     1x(56% 13s sys:2s done:7s)
0:02:05 INF - 	  process  2x(5% 1s wait:15s done:7s)
0:02:05 INF - 	  write    1x(0% 0s wait:16s done:7s)
0:02:05 INF - 	osm_pass1        3s cpu:6s avg:1.8
0:02:05 INF - 	  read     1x(1% 0s wait:3s)
0:02:05 INF - 	  parse    1x(68% 2s)
0:02:05 INF - 	  process  1x(43% 1s wait:2s)
0:02:05 INF - 	osm_pass2        34s cpu:1m7s avg:2
0:02:05 INF - 	  read     1x(0% 0s wait:18s done:16s)
0:02:05 INF - 	  process  2x(77% 26s)
0:02:05 INF - 	  write    1x(1% 0.4s wait:34s)
0:02:05 INF - 	boundaries       0s cpu:0s avg:1.2
0:02:05 INF - 	sort             2s cpu:3s avg:1.2
0:02:05 INF - 	  worker  1x(67% 2s)
0:02:05 INF - 	archive          32s cpu:1m1s gc:1s avg:1.9
0:02:05 INF - 	  read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF - 	  encode  2x(61% 19s done:2s)
0:02:05 INF - 	  write   1x(12% 4s wait:24s done:2s)
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	archive	109MB
0:02:05 INF - 	features	283MB
-rw-r--r-- 1 runner docker 64M Sep 25 00:29 run.jar
0:02:05 DEB [archive] - Tile stats:
0:02:05 DEB [archive] - Biggest tiles (gzipped)
1. 9/154/190 (154k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:86k)
2. 14/4942/6092 (151k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (building:73k)
3. 10/308/380 (141k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (139k) https://onthegomap.github.io/planetiler-demo/#10.5/41.63994/-71.54297 (landcover:72k)
5. 14/4941/6092 (111k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.42212 (poi:51k)
6. 14/4941/6093 (109k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:66k)
7. 14/4940/6092 (107k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:102k)
8. 11/616/762 (100k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 14/4942/6091 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:86k)
10. 14/4940/6091 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.44409 (building:100k)
0:02:05 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   445   581   936   340   432   545   545  1.6k  2.1k  7.2k  6.4k  5.8k  4.5k  7.2k
              water 7.7k  3.7k  8.6k  5.5k  2.6k  5.1k   15k   18k   16k   25k   15k   13k   17k   15k   12k   25k
              place    0     0   377   377   377   586   675   963  1.6k  3.3k  5.7k  3.1k  1.7k   789   947  5.7k
            landuse    0     0     0     0   548   618  1.3k    6k   17k   44k   59k   50k   38k   20k   12k   59k
     transportation    0     0     0     0  1.1k  1.9k  2.9k  9.5k   12k   32k   22k   23k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.4k  2.3k    2k  1.6k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0  1.1k  3.7k  9.4k   18k   12k  7.4k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  4.9k  3.9k  3.7k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   86k   72k   81k   53k   30k   24k   86k
      mountain_peak    0     0     0     0     0     0     0  1.1k  1.8k  3.4k  4.3k  2.8k  1.4k  1.4k   869  4.3k
         water_name    0     0     0     0     0     0     0     0     0   487   462   434   445   549    1k    1k
    aerodrome_label    0     0     0     0     0     0     0     0     0     0   674   327   273   220   220   674
            aeroway    0     0     0     0     0     0     0     0     0     0  1.6k  2.1k    3k  3.4k  2.7k  3.4k
                poi    0     0     0     0     0     0     0     0     0     0     0     0   501   498   67k   67k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   60k  102k  102k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.4k  6.4k  4.4k    7k   22k   45k   89k  211k  188k  136k  114k  128k  231k  231k
            gzipped 6.2k  3.6k  7.1k  5.2k  3.5k  5.4k   15k   31k   63k  154k  141k  100k   84k   93k  151k  154k
0:02:05 DEB [archive] -    Max tile: 231k (gzipped: 154k)
0:02:05 DEB [archive] -    Avg tile: 5.5k (gzipped: 4.1k) using weighted average based on OSM traffic
0:02:05 DEB [archive] -     # tiles: 4,115,061
0:02:05 DEB [archive] -  # features: 5,440,682
0:02:05 INF [archive] - Finished in 32s cpu:1m2s gc:1s avg:1.9
0:02:05 INF [archive] -   read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF [archive] -   encode  2x(59% 19s done:2s)
0:02:05 INF [archive] -   write   1x(12% 4s wait:25s done:2s)
0:02:05 INF - Finished in 2m6s cpu:3m39s gc:4s avg:1.7
0:02:05 INF - FINISHED!
0:02:05 INF - 
0:02:05 INF - ----------------------------------------
0:02:05 INF - data errors:
0:02:05 INF - 	render_snap_fix_input	16,679
0:02:05 INF - 	osm_boundary_missing_way	63
0:02:05 INF - 	osm_multipolygon_missing_way	57
0:02:05 INF - 	merge_snap_fix_input	14
0:02:05 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	overall          2m6s cpu:3m39s gc:4s avg:1.7
0:02:05 INF - 	lake_centerlines 5s cpu:6s avg:1.4
0:02:05 INF - 	  read     1x(33% 2s done:3s)
0:02:05 INF - 	  process  2x(6% 0.3s wait:2s done:3s)
0:02:05 INF - 	  write    1x(0% 0s wait:2s done:3s)
0:02:05 INF - 	water_polygons   27s cpu:48s gc:3s avg:1.8
0:02:05 INF - 	  read     1x(52% 14s wait:4s)
0:02:05 INF - 	  process  2x(31% 8s wait:11s)
0:02:05 INF - 	  write    1x(2% 0.6s wait:26s)
0:02:05 INF - 	natural_earth    21s cpu:23s avg:1.1
0:02:05 INF - 	  read     1x(60% 12s sys:2s done:8s)
0:02:05 INF - 	  process  2x(6% 1s wait:12s done:8s)
0:02:05 INF - 	  write    1x(0% 0s wait:13s done:8s)
0:02:05 INF - 	osm_pass1        3s cpu:5s avg:1.8
0:02:05 INF - 	  read     1x(1% 0s wait:3s)
0:02:05 INF - 	  parse    1x(74% 2s)
0:02:05 INF - 	  process  1x(44% 1s wait:1s)
0:02:05 INF - 	osm_pass2        35s cpu:1m10s avg:2
0:02:05 INF - 	  read     1x(0% 0s wait:19s done:17s)
0:02:05 INF - 	  process  2x(76% 27s)
0:02:05 INF - 	  write    1x(1% 0.4s wait:35s)
0:02:05 INF - 	boundaries       0s cpu:0s avg:2
0:02:05 INF - 	sort             2s cpu:3s avg:1.2
0:02:05 INF - 	  worker  1x(80% 2s)
0:02:05 INF - 	archive          32s cpu:1m2s gc:1s avg:1.9
0:02:05 INF - 	  read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF - 	  encode  2x(59% 19s done:2s)
0:02:05 INF - 	  write   1x(12% 4s wait:25s done:2s)
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	archive	107MB
0:02:05 INF - 	features	283MB
-rw-r--r-- 1 runner docker 64M Sep 25 00:27 run.jar

https://github.com/openmaptiles/planetiler-openmaptiles/actions/runs/6293318214

ℹ️ Base Logs 210c8fe
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: download_dir=data/sources (download directory)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - argument: stats=use in-memory stats
0:00:00 DEB - argument: madvise=true (default value for whether to use linux madvise(random) to improve memory-mapped read performance for temporary storage)
0:00:00 DEB - argument: storage=mmap (default storage type for temporary data, one of [ram, mmap, direct])
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: write_threads=1 (number of threads to use when writing temp features)
0:00:00 DEB - argument: process_threads=2 (number of threads to use when processing input features)
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: polygon=null (a .poly file that limits output to tiles intersecting the shape)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level up to 15)
0:00:00 DEB - argument: render_maxzoom=14 (maximum rendering zoom level up to 15)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: tile_write_threads=1 (number of threads used to write tiles - only supported by [csv, tsv, proto, pbf, json])
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: append=false (append to the output file - only supported by [csv, tsv, proto, pbf, json])
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: mmap_temp=true (use memory-mapped IO for temp feature files)
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sparsearray (type of node location map, one of [noop, sortedtable, sparsearray, array])
0:00:00 DEB - argument: nodemap_storage=mmap (storage for node location map, one of [ram, mmap, direct])
0:00:00 DEB - argument: nodemap_madvise=true (use linux madvise(random) for node locations)
0:00:00 DEB - argument: multipolygon_geometry_storage=mmap (storage for multipolygon geometries, one of [ram, mmap, direct])
0:00:00 DEB - argument: multipolygon_geometry_madvise=true (use linux madvise(random) for temporary multipolygon geometry storage)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: download_max_bandwidth= (Maximum bandwidth to consume when downloading files in units mb/s, mbps, kbps, etc.)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=true (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: skip_filled_tiles=false (Skip writing tiles containing only polygon fills to the output)
0:00:00 DEB - argument: tile_warning_size_mb=1.0 (Maximum size in megabytes of a tile to emit a warning about)
0:00:00 DEB - argument: color=null (Color the terminal output)
0:00:00 DEB - argument: keep_unzipped=false (keep unzipped sources by default after reading)
0:00:00 DEB - argument: tile_compression=gzip (the tile compression, one of [gzip, none])
0:00:00 DEB - argument: output_layerstats=false (output a tsv.gz file for each tile/layer size)
0:00:00 DEB - argument: debug_url=https://onthegomap.github.io/planetiler-demo/#{z}/{lat}/{lon} (debug url to use for displaying tiles with {z} {lat} {lon} placeholders)
0:00:00 DEB - argument: tile_weights=data/tile_weights.tsv.gz (tsv.gz file with columns z,x,y,loads to generate weighted average tile size stat)
0:00:00 DEB - argument: max_point_buffer=Infinity (Max tile pixels to include points outside tile bounds. Set to a lower value to reduce tile size for clients that handle label collisions across tiles (most web and native clients). NOTE: Do not reduce if you need to support raster tile rendering)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: download_osm_tile_weights=false (download OSM tile weights file)
0:00:00 DEB - argument: temp_nodes=data/tmp/node.db (temp node db location)
0:00:00 DEB - argument: temp_multipolygons=data/tmp/multipolygon.db (temp multipolygon db location)
0:00:00 DEB - argument: temp_features=data/tmp/feature.db (temp feature db location)
0:00:00 DEB - argument: osm_parse_node_bounds=false (parse bounds from OSM nodes instead of header)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_keep_unzipped=false (keep unzipped natural_earth after reading)
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 WAR - Argument 'mbtiles' is deprecated
0:00:00 DEB - argument: output=data/out.mbtiles (output tile archive path)
0:00:00 DEB - argument: version=false (show version then exit)
0:00:00 INF - Planetiler build git hash: 2f86ea12ae67ae0cd7c3571aee611f4990a47fce
0:00:00 INF - Planetiler build version: 0.6-SNAPSHOT
0:00:00 INF - Planetiler build timestamp: 2023-09-24T12:18:27.109Z
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: boundary_osm_only=false (boundary layer: only use OSM, even at low zoom levels)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: transportation_name_minor_refs=false (transportation_name layer: include name and refs from minor road networks if not present on a way)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 DEB - argument: layer_stats=/home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles.layerstats.tsv.gz (layer stats output path)
0:00:00 INF - Building OpenMapTilesProfile profile into file:///home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   archive: Encode each tile and write to TileArchiveConfig[format=MBTILES, scheme=FILE, uri=file:///home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles, options={}]
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 197M storage on / (/dev/root) requested for read phase disk, 21G available
0:00:00 DEB -  - 44M used for temporary node location cache
0:00:00 DEB -  - 6.7M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 146M used for temporary feature storage
0:00:00 DEB - ✓ 219M storage on / (/dev/root) requested for write phase disk, 21G available
0:00:00 DEB -  - 146M used for temporary feature storage
0:00:00 DEB -  - 73M used for archive output
0:00:00 DEB - ✓ 313M JVM heap requested for read phase, 4.2G available
0:00:00 DEB -  - 300M used for sparsearray node location in-memory index
0:00:00 DEB -  - 13M used for temporary profile storage
0:00:00 DEB - ✓ 51M storage on / (/dev/root) requested for read phase, 21G available
0:00:00 DEB -  - 44M used for sparsearray node location cache
0:00:00 DEB -  - 6.7M used for multipolygon way geometries
0:00:00 DEB - ✓ 51M temporary files and 2.9G of free memory for OS to cache them
0:00:00 DEB - argument: archive_name=OpenMapTiles ('name' attribute for tileset metadata)
0:00:00 DEB - argument: archive_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for tileset metadata)
0:00:00 DEB - argument: archive_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for tileset metadata)
0:00:00 DEB - argument: archive_version=3.14.0 ('version' attribute for tileset metadata)
0:00:00 DEB - argument: archive_type=baselayer ('type' attribute for tileset metadata)
0:00:00 DEB - argument: archive_format=pbf ('format' attribute for tileset metadata)
0:00:01 DEB - argument: compact=true (mbtiles: reduce the DB size by separating and deduping the tile data)
0:00:01 DEB - argument: no_index=false (mbtiles: skip adding index to sqlite DB)
0:00:01 DEB - argument: vacuum_analyze=false (mbtiles: vacuum analyze sqlite DB after writing)
0:00:01 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:01 INF [lake_centerlines] - 
0:00:01 INF [lake_centerlines] - Starting...
0:00:04 INF [lake_centerlines] -  read: [  59k 100%  32k/s ] write: [    0    0/s ] 0    
    cpus: 1.7 gc:  3% heap: 156M/4.2G direct: 237k postGC: 79M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:04 INF [lake_centerlines] - Finished in 3s cpu:6s avg:1.8
0:00:04 INF [lake_centerlines] -   read     1x(46% 1s done:1s)
0:00:04 INF [lake_centerlines] -   process  2x(7% 0.2s wait:2s done:1s)
0:00:04 INF [lake_centerlines] -   write    1x(0% 0s wait:2s done:1s)
0:00:04 INF [water_polygons] - 
0:00:04 INF [water_polygons] - Starting...
0:00:14 INF [water_polygons] -  read: [ 2.4k  17%  243/s ] write: [  94k 9.3k/s ] 1.4G 
    cpus: 1.9 gc: 11% heap: 1.2G/4.2G direct: 54M postGC: 1G
    ->     (0/3) -> read(57%) ->    (0/1k) -> process(30% 23%) ->  (1k/53k) -> write( 0%)
0:00:24 INF [water_polygons] -  read: [ 5.8k  40%  339/s ] write: [ 323k  22k/s ] 1.4G 
    cpus: 1.7 gc:  8% heap: 2.1G/4.2G direct: 54M postGC: 1.6G
    ->     (0/3) -> read(71%) ->    (0/1k) -> process(18% 22%) -> (1.4k/53k) -> write( 0%)
0:00:30 INF [water_polygons] -  read: [  14k 100% 1.3k/s ] write: [ 4.3M 611k/s ] 193M 
    cpus: 1.9 gc:  7% heap: 448M/4.2G direct: 54M postGC: 388M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:30 INF [water_polygons] - Finished in 27s cpu:49s gc:2s avg:1.8
0:00:30 INF [water_polygons] -   read     1x(54% 14s sys:1s wait:4s)
0:00:30 INF [water_polygons] -   process  2x(30% 8s wait:11s)
0:00:30 INF [water_polygons] -   write    1x(2% 0.6s wait:26s)
0:00:30 INF [natural_earth] - 
0:00:30 INF [natural_earth] - Starting...
0:00:30 INF [natural_earth] - unzipping /home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/sources/natural_earth_vector.sqlite.zip to data/tmp/%2Fnatural_earth_vector.sqlite%2Fpackages%2Fnatural_earth_vector.sqlite
0:00:37 INF [natural_earth] - unzipping /home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/sources/natural_earth_vector.sqlite.zip to data/tmp/%2Fnatural_earth_vector.sqlite%2Fpackages%2Fnatural_earth_vector.sqlite
0:00:47 INF [natural_earth] -  read: [  72k  21% 7.2k/s ] write: [    0    0/s ] 1.6G 
    cpus: 1.1 gc:  0% heap: 1.9G/4.2G direct: 54M postGC: 388M
    ->     (0/3) -> read(86%) ->    (0/1k) -> process( 3%  3%) -> (106/53k) -> write( 0%)
0:00:53 INF [natural_earth] -  read: [ 349k 100%  45k/s ] write: [  181   29/s ] 193M 
    cpus: 1.3 gc:  2% heap: 1.5G/4.2G direct: 54M postGC: 411M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:53 INF [natural_earth] - Finished in 23s cpu:24s avg:1.1
0:00:53 INF [natural_earth] -   read     1x(56% 13s sys:2s done:7s)
0:00:53 INF [natural_earth] -   process  2x(5% 1s wait:15s done:7s)
0:00:53 INF [natural_earth] -   write    1x(0% 0s wait:16s done:7s)
0:00:53 INF [osm_pass1] - 
0:00:53 INF [osm_pass1] - Starting...
0:00:56 INF [osm_pass1:process] - Finished nodes: 4,641,577 (1.9M/s) in 2s cpu:4s avg:1.7
0:00:56 INF [osm_pass1:process] - Finished ways: 345,610 (443k/s) in 0.8s cpu:1s avg:1.8
0:00:57 INF [osm_pass1:process] - Finished relations: 5,863 (55k/s) in 0.1s cpu:0.2s avg:1.9
0:00:57 INF [osm_pass1] -  nodes: [ 4.6M 1.3M/s ] 481M  ways: [ 345k 103k/s ] rels: [ 5.8k 1.7k/s ] blocks: [  626  187/s ]
    cpus: 1.8 gc:  0% heap: 2.9G/4.2G direct: 54M postGC: 937M hppc: 461k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:57 DEB [osm_pass1] - Processed 626 blocks:
0:00:57 DEB [osm_pass1] -   nodes: 4,641,577 (1.9M/s) in 2s cpu:4s avg:1.7
0:00:57 DEB [osm_pass1] -   ways: 345,610 (443k/s) in 0.8s cpu:1s avg:1.8
0:00:57 DEB [osm_pass1] -   relations: 5,863 (55k/s) in 0.1s cpu:0.2s avg:1.9
0:00:57 INF [osm_pass1] - Finished in 3s cpu:6s avg:1.8
0:00:57 INF [osm_pass1] -   read     1x(1% 0s wait:3s)
0:00:57 INF [osm_pass1] -   parse    1x(68% 2s)
0:00:57 INF [osm_pass1] -   process  1x(43% 1s wait:2s)
0:00:57 INF [osm_pass2] - 
0:00:57 INF [osm_pass2] - Starting...
0:00:59 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:59 INF [osm_pass2:process] - Finished nodes: 4,641,577 (2M/s) in 2s cpu:4s avg:2
0:00:59 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:1.4
0:00:59 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:07 INF [osm_pass2] -  nodes: [ 4.6M 100% 464k/s ] 481M  ways: [ 194k  56%  19k/s ] rels: [    0   0%    0/s ] features: [ 4.9M  65k/s ] 1.6G  blocks: [  604  96%   60/s ]
    cpus: 2 gc:  1% heap: 1.5G/4.2G direct: 54M postGC: 1.1G relInfo: 420k mpGeoms: 474k 
    read( 0%) ->   (11/13) -> process(62% 61%) -> (846/53k) -> write( 2%)
0:01:17 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 335k  97%  14k/s ] rels: [    0   0%    0/s ] features: [ 5.3M  40k/s ] 1.6G  blocks: [  622  99%    1/s ]
    cpus: 2 gc:  1% heap: 3.3G/4.2G direct: 54M postGC: 1.1G relInfo: 420k mpGeoms: 18M  
    read( -%) ->    (2/13) -> process(86% 86%) -> (1.2k/53k) -> write( 1%)
0:01:17 INF [osm_pass2:process] - Finished ways: 345,610 (19k/s) in 18s cpu:36s avg:2
0:01:27 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 345k 100%  989/s ] rels: [ 4.2k  73%  425/s ] features: [ 5.4M 4.2k/s ] 1.6G  blocks: [  625 100%   <1/s ]
    cpus: 2 gc:  1% heap: 3.3G/4.2G direct: 54M postGC: 1.1G relInfo: 420k mpGeoms: 18M  
    read( -%) ->    (0/13) -> process(81% 75%) ->  (1k/53k) -> write( 0%)
0:01:28 INF [osm_pass2:process] - Finished relations: 5,863 (546/s) in 11s cpu:21s avg:2
0:01:31 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 345k 100%    0/s ] rels: [ 5.8k 100%  389/s ] features: [ 5.4M 2.5k/s ] 283M  blocks: [  626 100%   <1/s ]
    cpus: 1.9 gc:  1% heap: 3.2G/4.2G direct: 54M postGC: 1.1G relInfo: 420k mpGeoms: 18M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:31 DEB [osm_pass2] - Processed 626 blocks:
0:01:31 DEB [osm_pass2] -   nodes: 4,641,577 (2M/s) in 2s cpu:4s avg:2
0:01:31 DEB [osm_pass2] -   ways: 345,610 (19k/s) in 18s cpu:36s avg:2
0:01:31 DEB [osm_pass2] -   relations: 5,863 (546/s) in 11s cpu:21s avg:2
0:01:31 INF [osm_pass2] - Finished in 34s cpu:1m7s avg:2
0:01:31 INF [osm_pass2] -   read     1x(0% 0s wait:18s done:16s)
0:01:31 INF [osm_pass2] -   process  2x(77% 26s)
0:01:31 INF [osm_pass2] -   write    1x(1% 0.4s wait:34s)
0:01:31 INF [boundaries] - 
0:01:31 INF [boundaries] - Starting...
0:01:31 INF [boundaries] - Creating polygons for 1 boundaries
0:01:31 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:31 INF [boundaries] - Finished creating 0 country polygons
0:01:31 INF [boundaries] - Finished in 0s cpu:0s avg:1.2
0:01:31 INF - Deleting node.db to make room for output file
0:01:31 INF [sort] - 
0:01:31 INF [sort] - Starting...
0:01:31 INF [sort] - Grouped 8 chunks into 1
0:01:33 INF [sort] -  chunks: [   1 /   1 100% ] 283M 
    cpus: 1.2 gc:  9% heap: 1.5G/4.2G direct: 54M postGC: 1.5G
    ->     (0/3) -> worker( -%)
0:01:33 INF [sort] - Finished in 2s cpu:3s avg:1.2
0:01:33 INF [sort] -   worker  1x(67% 2s)
0:01:33 INF - read:1s write:0s sort:0s
0:01:33 INF [archive] - 
0:01:33 INF [archive] - Starting...
0:01:35 DEB [archive:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:35 DEB [archive:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:35 DEB [archive:write] - Execute mbtiles: create table tiles_shallow (
  zoom_level integer,
  tile_column integer,
  tile_row integer,
  tile_data_id integer

  , primary key(zoom_level,tile_column,tile_row)

) without rowid

0:01:35 DEB [archive:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:35 DEB [archive:write] - Execute mbtiles: create view tiles AS
select
  tiles_shallow.zoom_level as zoom_level,
  tiles_shallow.tile_column as tile_column,
  tiles_shallow.tile_row as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

0:01:36 DEB [archive:write] - Set mbtiles metadata: format=pbf
0:01:36 DEB [archive:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:36 DEB [archive:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:36 DEB [archive:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number","hide_3d":"Boolean"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"Str... 2358 more characters
0:01:36 DEB [archive:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:36 DEB [archive:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:36 DEB [archive:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:36 DEB [archive:write] - Set mbtiles metadata: version=3.14.0
0:01:36 DEB [archive:write] - Set mbtiles metadata: type=baselayer
0:01:36 DEB [archive:write] - Set mbtiles metadata: minzoom=0
0:01:36 DEB [archive:write] - Set mbtiles metadata: maxzoom=14
0:01:36 DEB [archive:write] - Set mbtiles metadata: compression=gzip
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:version=0.6-SNAPSHOT
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:githash=2f86ea12ae67ae0cd7c3571aee611f4990a47fce
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:buildtime=2023-09-24T12:18:27.109Z
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationtime=2023-09-23T20:21:21Z
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationseq=3831
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationurl=http://download.geofabrik.de/north-america/us/rhode-island-updates
0:01:37 INF [archive:write] - Starting z0
0:01:37 INF [archive:write] - Finished z0 in 0s cpu:0s avg:13.7, now starting z1
0:01:37 INF [archive:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:37 INF [archive:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:37 INF [archive:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:37 INF [archive:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:37 INF [archive:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:37 INF [archive:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:38 INF [archive:write] - Finished z7 in 0.8s cpu:2s avg:2, now starting z8
0:01:40 INF [archive:write] - Finished z8 in 2s cpu:4s avg:2, now starting z9
0:01:43 INF [archive:write] - Finished z9 in 3s cpu:6s avg:2, now starting z10
0:01:44 INF [archive:write] - Finished z10 in 1s cpu:2s avg:2, now starting z11
0:01:45 INF [archive] -  features: [ 178k   3%  17k/s ] 283M  tiles: [  18k 1.8k/s ] 2.7M 
    cpus: 2 gc:  2% heap: 2.1G/4.2G direct: 54M postGC: 1.8G
    read( 1%) -> (214/217) -> encode(61% 63%) -> (215/216) -> write( 1%)
    last tile: 11/616/762 (z11 4%) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086
0:01:47 INF [archive:write] - Finished z11 in 3s cpu:5s avg:2, now starting z12
0:01:51 INF [archive:write] - Finished z12 in 4s cpu:8s avg:2, now starting z13
0:01:55 INF [archive] -  features: [ 856k  16%  67k/s ] 283M  tiles: [ 291k  27k/s ] 13M  
    cpus: 2 gc:  4% heap: 1.9G/4.2G direct: 54M postGC: 1.9G
    read( 1%) -> (214/217) -> encode(67% 65%) -> (215/216) -> write( 3%)
    last tile: 13/2470/3047 (z13 5%) https://onthegomap.github.io/planetiler-demo/#13.5/41.78769/-71.43311
0:02:00 INF [archive:write] - Finished z13 in 9s cpu:17s avg:2, now starting z14
0:02:05 DEB [archive:write] - Shallow tiles written: 4,115,061
0:02:05 DEB [archive:write] - Tile data written: 17,814 (100% omitted)
0:02:05 DEB [archive:write] - Unique tile hashes: 8,940
0:02:05 INF [archive:write] - Finished z14 in 5s cpu:10s avg:1.9
0:02:05 INF [archive] -  features: [ 5.4M 100% 476k/s ] 283M  tiles: [ 4.1M 397k/s ] 109M 
    cpus: 2 gc:  4% heap: 2.1G/4.2G direct: 54M postGC: 1.9G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://onthegomap.github.io/planetiler-demo/#14.5/43.55651/-17.83081
0:02:05 DEB [archive] - Tile stats:
0:02:05 DEB [archive] - Biggest tiles (gzipped)
1. 9/154/190 (204k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:173k)
2. 10/308/381 (180k) https://onthegomap.github.io/planetiler-demo/#10.5/41.63994/-71.54297 (landcover:141k)
3. 10/308/380 (179k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:129k)
4. 14/4942/6092 (173k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (building:142k)
5. 14/4940/6092 (135k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:212k)
6. 14/4941/6093 (128k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:133k)
7. 14/4940/6091 (125k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.44409 (building:204k)
8. 14/4941/6092 (124k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.42212 (building:94k)
9. 14/4942/6091 (122k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:175k)
10. 14/4940/6093 (118k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.44409 (building:164k)
0:02:05 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   445   581   936   340   432   545   545  1.6k  2.1k  7.2k  6.4k  5.8k  4.5k  7.2k
              water 7.7k  3.7k  8.6k  5.5k  2.6k  5.1k   15k   18k   16k   25k   15k   13k   17k   15k   12k   25k
              place    0     0   377   377   377   586   675   963  1.6k  3.3k  5.7k  3.1k  1.7k   789   947  5.7k
            landuse    0     0     0     0   679   745  1.3k    6k   17k   44k   59k   50k   38k   23k   14k   59k
     transportation    0     0     0     0  1.1k  1.9k  2.9k  9.5k   12k   32k   22k   23k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.4k  2.3k    2k  1.6k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0  1.1k  3.7k  9.4k   18k   12k  7.4k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  4.9k  3.9k  3.7k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0   23k   67k  173k  141k   81k   53k   30k   24k  173k
      mountain_peak    0     0     0     0     0     0     0  1.1k  1.8k  3.4k  4.3k  2.8k  1.4k  1.4k   869  4.3k
         water_name    0     0     0     0     0     0     0     0     0   487   462   434   445   549    1k    1k
    aerodrome_label    0     0     0     0     0     0     0     0     0     0   674   327   273   220   220   674
            aeroway    0     0     0     0     0     0     0     0     0     0  1.6k  2.1k    3k  3.4k  2.7k  3.4k
                poi    0     0     0     0     0     0     0     0     0     0     0     0   501   498   67k   67k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   60k  212k  212k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   55k   55k
          full tile 7.9k    4k  9.4k  6.4k  4.6k  7.2k   22k   58k  127k  298k  256k  136k  114k  128k  304k  304k
            gzipped 6.2k  3.6k  7.1k  5.2k  3.5k  5.4k   15k   38k   84k  204k  180k  100k   84k   93k  173k  204k
0:02:05 DEB [archive] -    Max tile: 304k (gzipped: 204k)
0:02:05 DEB [archive] -    Avg tile: 6.3k (gzipped: 4.5k) using weighted average based on OSM traffic
0:02:05 DEB [archive] -     # tiles: 4,115,061
0:02:05 DEB [archive] -  # features: 5,440,676
0:02:05 INF [archive] - Finished in 32s cpu:1m1s gc:1s avg:1.9
0:02:05 INF [archive] -   read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF [archive] -   encode  2x(61% 19s done:2s)
0:02:05 INF [archive] -   write   1x(12% 4s wait:24s done:2s)
0:02:05 INF - Finished in 2m5s cpu:3m38s gc:4s avg:1.7
0:02:05 INF - FINISHED!
0:02:05 INF - 
0:02:05 INF - ----------------------------------------
0:02:05 INF - data errors:
0:02:05 INF - 	render_snap_fix_input	16,475
0:02:05 INF - 	osm_boundary_missing_way	63
0:02:05 INF - 	osm_multipolygon_missing_way	57
0:02:05 INF - 	merge_snap_fix_input	14
0:02:05 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	overall          2m5s cpu:3m38s gc:4s avg:1.7
0:02:05 INF - 	lake_centerlines 3s cpu:6s avg:1.8
0:02:05 INF - 	  read     1x(46% 1s done:1s)
0:02:05 INF - 	  process  2x(7% 0.2s wait:2s done:1s)
0:02:05 INF - 	  write    1x(0% 0s wait:2s done:1s)
0:02:05 INF - 	water_polygons   27s cpu:49s gc:2s avg:1.8
0:02:05 INF - 	  read     1x(54% 14s sys:1s wait:4s)
0:02:05 INF - 	  process  2x(30% 8s wait:11s)
0:02:05 INF - 	  write    1x(2% 0.6s wait:26s)
0:02:05 INF - 	natural_earth    23s cpu:24s avg:1.1
0:02:05 INF - 	  read     1x(56% 13s sys:2s done:7s)
0:02:05 INF - 	  process  2x(5% 1s wait:15s done:7s)
0:02:05 INF - 	  write    1x(0% 0s wait:16s done:7s)
0:02:05 INF - 	osm_pass1        3s cpu:6s avg:1.8
0:02:05 INF - 	  read     1x(1% 0s wait:3s)
0:02:05 INF - 	  parse    1x(68% 2s)
0:02:05 INF - 	  process  1x(43% 1s wait:2s)
0:02:05 INF - 	osm_pass2        34s cpu:1m7s avg:2
0:02:05 INF - 	  read     1x(0% 0s wait:18s done:16s)
0:02:05 INF - 	  process  2x(77% 26s)
0:02:05 INF - 	  write    1x(1% 0.4s wait:34s)
0:02:05 INF - 	boundaries       0s cpu:0s avg:1.2
0:02:05 INF - 	sort             2s cpu:3s avg:1.2
0:02:05 INF - 	  worker  1x(67% 2s)
0:02:05 INF - 	archive          32s cpu:1m1s gc:1s avg:1.9
0:02:05 INF - 	  read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF - 	  encode  2x(61% 19s done:2s)
0:02:05 INF - 	  write   1x(12% 4s wait:24s done:2s)
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	archive	109MB
0:02:05 INF - 	features	283MB
-rw-r--r-- 1 runner docker 64M Sep 25 00:29 run.jar
ℹ️ This Branch Logs ec9eafc
0:00:00 DEB - argument: config=null (path to config file)
0:00:00 DEB - argument: download_dir=data/sources (download directory)
0:00:00 DEB - argument: area=rhode island (name of the extract to download if osm_url/osm_path not specified (i.e. 'monaco' 'rhode island' 'australia' or 'planet'))
0:00:00 INF - argument: stats=use in-memory stats
0:00:00 DEB - argument: madvise=true (default value for whether to use linux madvise(random) to improve memory-mapped read performance for temporary storage)
0:00:00 DEB - argument: storage=mmap (default storage type for temporary data, one of [ram, mmap, direct])
0:00:00 DEB - argument: threads=2 (num threads)
0:00:00 DEB - argument: write_threads=1 (number of threads to use when writing temp features)
0:00:00 DEB - argument: process_threads=2 (number of threads to use when processing input features)
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: polygon=null (a .poly file that limits output to tiles intersecting the shape)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level up to 15)
0:00:00 DEB - argument: render_maxzoom=14 (maximum rendering zoom level up to 15)
0:00:00 DEB - argument: tmpdir=data/tmp (temp directory)
0:00:00 DEB - argument: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: tile_write_threads=1 (number of threads used to write tiles - only supported by [csv, tsv, proto, pbf, json])
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
0:00:00 DEB - argument: append=false (append to the output file - only supported by [csv, tsv, proto, pbf, json])
0:00:00 DEB - argument: gzip_temp=false (gzip temporary feature storage (uses more CPU, but less disk space))
0:00:00 DEB - argument: mmap_temp=true (use memory-mapped IO for temp feature files)
0:00:00 DEB - argument: sort_max_readers=6 (maximum number of concurrent read threads to use when sorting chunks)
0:00:00 DEB - argument: sort_max_writers=6 (maximum number of concurrent write threads to use when sorting chunks)
0:00:00 DEB - argument: nodemap_type=sparsearray (type of node location map, one of [noop, sortedtable, sparsearray, array])
0:00:00 DEB - argument: nodemap_storage=mmap (storage for node location map, one of [ram, mmap, direct])
0:00:00 DEB - argument: nodemap_madvise=true (use linux madvise(random) for node locations)
0:00:00 DEB - argument: multipolygon_geometry_storage=mmap (storage for multipolygon geometries, one of [ram, mmap, direct])
0:00:00 DEB - argument: multipolygon_geometry_madvise=true (use linux madvise(random) for temporary multipolygon geometry storage)
0:00:00 DEB - argument: http_user_agent=Planetiler downloader (https://github.com/onthegomap/planetiler) (User-Agent header to set when downloading files over HTTP)
0:00:00 DEB - argument: http_timeout=30 seconds (Timeout to use when downloading files over HTTP)
0:00:00 DEB - argument: http_retries=1 (Retries to use when downloading files over HTTP)
0:00:00 DEB - argument: download_chunk_size_mb=100 (Size of file chunks to download in parallel in megabytes)
0:00:00 DEB - argument: download_threads=1 (Number of parallel threads to use when downloading each file)
0:00:00 DEB - argument: download_max_bandwidth= (Maximum bandwidth to consume when downloading files in units mb/s, mbps, kbps, etc.)
0:00:00 DEB - argument: min_feature_size_at_max_zoom=0.0625 (Default value for the minimum size in tile pixels of features to emit at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: min_feature_size=1.0 (Default value for the minimum size in tile pixels of features to emit below the maximum zoom level)
0:00:00 DEB - argument: simplify_tolerance_at_max_zoom=0.0625 (Default value for the tile pixel tolerance to use when simplifying features at the maximum zoom level to allow for overzooming)
0:00:00 DEB - argument: simplify_tolerance=0.1 (Default value for the tile pixel tolerance to use when simplifying features below the maximum zoom level)
0:00:00 DEB - argument: osm_lazy_reads=true (Read OSM blocks from disk in worker threads)
0:00:00 DEB - argument: skip_filled_tiles=false (Skip writing tiles containing only polygon fills to the output)
0:00:00 DEB - argument: tile_warning_size_mb=1.0 (Maximum size in megabytes of a tile to emit a warning about)
0:00:00 DEB - argument: color=null (Color the terminal output)
0:00:00 DEB - argument: keep_unzipped=false (keep unzipped sources by default after reading)
0:00:00 DEB - argument: tile_compression=gzip (the tile compression, one of [gzip, none])
0:00:00 DEB - argument: output_layerstats=false (output a tsv.gz file for each tile/layer size)
0:00:00 DEB - argument: debug_url=https://onthegomap.github.io/planetiler-demo/#{z}/{lat}/{lon} (debug url to use for displaying tiles with {z} {lat} {lon} placeholders)
0:00:00 DEB - argument: tile_weights=data/tile_weights.tsv.gz (tsv.gz file with columns z,x,y,loads to generate weighted average tile size stat)
0:00:00 DEB - argument: max_point_buffer=Infinity (Max tile pixels to include points outside tile bounds. Set to a lower value to reduce tile size for clients that handle label collisions across tiles (most web and native clients). NOTE: Do not reduce if you need to support raster tile rendering)
0:00:00 DEB - argument: only_download=false (download source data then exit)
0:00:00 DEB - argument: download=false (download sources)
0:00:00 DEB - argument: download_osm_tile_weights=false (download OSM tile weights file)
0:00:00 DEB - argument: temp_nodes=data/tmp/node.db (temp node db location)
0:00:00 DEB - argument: temp_multipolygons=data/tmp/multipolygon.db (temp multipolygon db location)
0:00:00 DEB - argument: temp_features=data/tmp/feature.db (temp feature db location)
0:00:00 DEB - argument: osm_parse_node_bounds=false (parse bounds from OSM nodes instead of header)
0:00:00 DEB - argument: only_fetch_wikidata=false (fetch wikidata translations then quit)
0:00:00 DEB - argument: fetch_wikidata=false (fetch wikidata translations then continue)
0:00:00 DEB - argument: use_wikidata=true (use wikidata translations)
0:00:00 DEB - argument: wikidata_cache=data/sources/wikidata_names.json (wikidata cache file)
0:00:00 DEB - argument: lake_centerlines_path=data/sources/lake_centerline.shp.zip (lake_centerlines shapefile path)
0:00:00 DEB - argument: free_lake_centerlines_after_read=false (delete lake_centerlines input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: water_polygons_path=data/sources/water-polygons-split-3857.zip (water_polygons shapefile path)
0:00:00 DEB - argument: free_water_polygons_after_read=false (delete water_polygons input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_path=data/sources/natural_earth_vector.sqlite.zip (natural_earth sqlite db path)
0:00:00 DEB - argument: free_natural_earth_after_read=false (delete natural_earth input file after reading to make space for output (reduces peak disk usage))
0:00:00 DEB - argument: natural_earth_keep_unzipped=false (keep unzipped natural_earth after reading)
0:00:00 DEB - argument: osm_path=data/sources/rhode_island.osm.pbf (osm OSM input file path)
0:00:00 DEB - argument: free_osm_after_read=false (delete osm input file after reading to make space for output (reduces peak disk usage))
0:00:00 WAR - Argument 'mbtiles' is deprecated
0:00:00 DEB - argument: output=data/out.mbtiles (output tile archive path)
0:00:00 DEB - argument: version=false (show version then exit)
0:00:00 INF - Planetiler build git hash: 2f86ea12ae67ae0cd7c3571aee611f4990a47fce
0:00:00 INF - Planetiler build version: 0.6-SNAPSHOT
0:00:00 INF - Planetiler build timestamp: 2023-09-24T12:18:27.109Z
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fi,fr,fy,ga,gd,he,hi,hr,hu,hy,id,is,it,ja,ja_kana,ja_rm,ja-Latn,ja-Hira,ka,kk,kn,ko,ko-Latn,ku,la,lb,lt,lv,mk,mt,ml,nl,no,oc,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,zh (languages to use)
0:00:00 DEB - argument: only_layers= (Include only certain layers)
0:00:00 DEB - argument: exclude_layers= (Exclude certain layers)
0:00:00 DEB - argument: boundary_country_names=true (boundary layer: add left/right codes of neighboring countries)
0:00:00 DEB - argument: boundary_osm_only=false (boundary layer: only use OSM, even at low zoom levels)
0:00:00 DEB - argument: transportation_z13_paths=false (transportation(_name) layer: show all paths on z13)
0:00:00 DEB - argument: building_merge_z13=true (building layer: merge nearby buildings at z13)
0:00:00 DEB - argument: transportation_name_brunnel=false (transportation_name layer: set to false to omit brunnel and help merge long highways)
0:00:00 DEB - argument: transportation_name_size_for_shield=false (transportation_name layer: allow road names on shorter segments (ie. they will have a shield))
0:00:00 DEB - argument: transportation_name_limit_merge=false (transportation_name layer: limit merge so we don't combine different relations to help merge long highways)
0:00:00 DEB - argument: transportation_name_minor_refs=false (transportation_name layer: include name and refs from minor road networks if not present on a way)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 DEB - argument: layer_stats=/home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles.layerstats.tsv.gz (layer stats output path)
0:00:00 INF - Building OpenMapTilesProfile profile into file:///home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles in these phases:
0:00:00 INF -   lake_centerlines: Process features in data/sources/lake_centerline.shp.zip
0:00:00 INF -   water_polygons: Process features in data/sources/water-polygons-split-3857.zip
0:00:00 INF -   natural_earth: Process features in data/sources/natural_earth_vector.sqlite.zip
0:00:00 INF -   osm_pass1: Pre-process OpenStreetMap input (store node locations then relation members)
0:00:00 INF -   osm_pass2: Process OpenStreetMap nodes, ways, then relations
0:00:00 INF -   sort: Sort rendered features by tile ID
0:00:00 INF -   archive: Encode each tile and write to TileArchiveConfig[format=MBTILES, scheme=FILE, uri=file:///home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/out.mbtiles, options={}]
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 197M storage on / (/dev/root) requested for read phase disk, 21G available
0:00:00 DEB -  - 44M used for temporary node location cache
0:00:00 DEB -  - 6.7M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 146M used for temporary feature storage
0:00:00 DEB - ✓ 219M storage on / (/dev/root) requested for write phase disk, 21G available
0:00:00 DEB -  - 146M used for temporary feature storage
0:00:00 DEB -  - 73M used for archive output
0:00:00 DEB - ✓ 313M JVM heap requested for read phase, 4.2G available
0:00:00 DEB -  - 300M used for sparsearray node location in-memory index
0:00:00 DEB -  - 13M used for temporary profile storage
0:00:00 DEB - ✓ 51M storage on / (/dev/root) requested for read phase, 21G available
0:00:00 DEB -  - 44M used for sparsearray node location cache
0:00:00 DEB -  - 6.7M used for multipolygon way geometries
0:00:00 DEB - ✓ 51M temporary files and 2.9G of free memory for OS to cache them
0:00:00 DEB - argument: archive_name=OpenMapTiles ('name' attribute for tileset metadata)
0:00:00 DEB - argument: archive_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for tileset metadata)
0:00:00 DEB - argument: archive_attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a> ('attribution' attribute for tileset metadata)
0:00:00 DEB - argument: archive_version=3.14.0 ('version' attribute for tileset metadata)
0:00:00 DEB - argument: archive_type=baselayer ('type' attribute for tileset metadata)
0:00:00 DEB - argument: archive_format=pbf ('format' attribute for tileset metadata)
0:00:01 DEB - argument: compact=true (mbtiles: reduce the DB size by separating and deduping the tile data)
0:00:01 DEB - argument: no_index=false (mbtiles: skip adding index to sqlite DB)
0:00:01 DEB - argument: vacuum_analyze=false (mbtiles: vacuum analyze sqlite DB after writing)
0:00:01 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:01 INF [lake_centerlines] - 
0:00:01 INF [lake_centerlines] - Starting...
0:00:05 INF [lake_centerlines] -  read: [  59k 100%  32k/s ] write: [    0    0/s ] 0    
    cpus: 1.9 gc:  3% heap: 159M/4.2G direct: 237k postGC: 79M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:05 INF [lake_centerlines] - Finished in 5s cpu:6s avg:1.4
0:00:05 INF [lake_centerlines] -   read     1x(33% 2s done:3s)
0:00:05 INF [lake_centerlines] -   process  2x(6% 0.3s wait:2s done:3s)
0:00:05 INF [lake_centerlines] -   write    1x(0% 0s wait:2s done:3s)
0:00:05 INF [water_polygons] - 
0:00:05 INF [water_polygons] - Starting...
0:00:15 INF [water_polygons] -  read: [ 2.5k  17%  250/s ] write: [  94k 9.3k/s ] 1.4G 
    cpus: 1.8 gc: 11% heap: 1.2G/4.2G direct: 54M postGC: 1.1G
    ->     (0/3) -> read(57%) ->    (0/1k) -> process(19% 32%) ->  (1k/53k) -> write( 0%)
0:00:25 INF [water_polygons] -  read: [ 5.9k  41%  339/s ] write: [ 347k  25k/s ] 1.4G 
    cpus: 1.7 gc:  9% heap: 1.8G/4.2G direct: 54M postGC: 1.8G
    ->     (0/3) -> read(70%) ->    (0/1k) -> process(20% 23%) -> (310/53k) -> write( 0%)
0:00:32 INF [water_polygons] -  read: [  14k 100% 1.3k/s ] write: [ 4.3M 604k/s ] 193M 
    cpus: 1.9 gc:  7% heap: 1.9G/4.2G direct: 54M postGC: 213M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:32 INF [water_polygons] - Finished in 27s cpu:48s gc:3s avg:1.8
0:00:32 INF [water_polygons] -   read     1x(52% 14s wait:4s)
0:00:32 INF [water_polygons] -   process  2x(31% 8s wait:11s)
0:00:32 INF [water_polygons] -   write    1x(2% 0.6s wait:26s)
0:00:32 INF [natural_earth] - 
0:00:32 INF [natural_earth] - Starting...
0:00:32 INF [natural_earth] - unzipping /home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/sources/natural_earth_vector.sqlite.zip to data/tmp/%2Fnatural_earth_vector.sqlite%2Fpackages%2Fnatural_earth_vector.sqlite
0:00:40 INF [natural_earth] - unzipping /home/runner/work/planetiler-openmaptiles/planetiler-openmaptiles/data/sources/natural_earth_vector.sqlite.zip to data/tmp/%2Fnatural_earth_vector.sqlite%2Fpackages%2Fnatural_earth_vector.sqlite
0:00:50 INF [natural_earth] -  read: [ 161k  46%  16k/s ] write: [    0    0/s ] 1.6G 
    cpus: 1.3 gc:  0% heap: 1.5G/4.2G direct: 54M postGC: 216M
    ->     (0/3) -> read(97%) ->    (0/1k) -> process( 8%  6%) -> (132/53k) -> write( 0%)
0:00:53 INF [natural_earth] -  read: [ 349k 100%  59k/s ] write: [  181   57/s ] 193M 
    cpus: 1.5 gc:  0% heap: 2.6G/4.2G direct: 54M postGC: 216M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:53 INF [natural_earth] - Finished in 21s cpu:23s avg:1.1
0:00:53 INF [natural_earth] -   read     1x(60% 12s sys:2s done:8s)
0:00:53 INF [natural_earth] -   process  2x(6% 1s wait:12s done:8s)
0:00:53 INF [natural_earth] -   write    1x(0% 0s wait:13s done:8s)
0:00:53 INF [osm_pass1] - 
0:00:53 INF [osm_pass1] - Starting...
0:00:55 INF [osm_pass1:process] - Finished nodes: 4,641,577 (2.1M/s) in 2s cpu:4s avg:1.7
0:00:56 INF [osm_pass1:process] - Finished ways: 345,610 (446k/s) in 0.8s cpu:1s avg:1.9
0:00:56 INF [osm_pass1:process] - Finished relations: 5,863 (59k/s) in 0.1s cpu:0.2s avg:1.9
0:00:56 INF [osm_pass1] -  nodes: [ 4.6M 1.5M/s ] 481M  ways: [ 345k 113k/s ] rels: [ 5.8k 1.9k/s ] blocks: [  626  205/s ]
    cpus: 1.8 gc:  0% heap: 3.4G/4.2G direct: 54M postGC: 236M hppc: 461k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:56 DEB [osm_pass1] - Processed 626 blocks:
0:00:56 DEB [osm_pass1] -   nodes: 4,641,577 (2.1M/s) in 2s cpu:4s avg:1.7
0:00:56 DEB [osm_pass1] -   ways: 345,610 (446k/s) in 0.8s cpu:1s avg:1.9
0:00:56 DEB [osm_pass1] -   relations: 5,863 (59k/s) in 0.1s cpu:0.2s avg:1.9
0:00:56 INF [osm_pass1] - Finished in 3s cpu:5s avg:1.8
0:00:56 INF [osm_pass1] -   read     1x(1% 0s wait:3s)
0:00:56 INF [osm_pass1] -   parse    1x(74% 2s)
0:00:56 INF [osm_pass1] -   process  1x(44% 1s wait:1s)
0:00:56 INF [osm_pass2] - 
0:00:56 INF [osm_pass2] - Starting...
0:00:58 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:58 INF [osm_pass2:process] - Finished nodes: 4,641,577 (1.8M/s) in 3s cpu:5s avg:2
0:00:58 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0.1s avg:2.1
0:00:58 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:06 INF [osm_pass2] -  nodes: [ 4.6M 100% 463k/s ] 481M  ways: [ 166k  48%  16k/s ] rels: [    0   0%    0/s ] features: [ 4.9M  59k/s ] 1.6G  blocks: [  601  96%   60/s ]
    cpus: 2 gc:  0% heap: 2.8G/4.2G direct: 54M postGC: 1G relInfo: 420k mpGeoms: 474k 
    read( 0%) ->   (11/13) -> process(61% 64%) -> (1.6k/53k) -> write( 2%)
0:01:16 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 289k  84%  12k/s ] rels: [    0   0%    0/s ] features: [ 5.2M  35k/s ] 1.6G  blocks: [  616  98%    1/s ]
    cpus: 2 gc:  1% heap: 1.2G/4.2G direct: 54M postGC: 1G relInfo: 420k mpGeoms: 17M  
    read( -%) ->    (8/13) -> process(83% 82%) -> (1.2k/53k) -> write( 1%)
0:01:18 INF [osm_pass2:process] - Finished ways: 345,610 (18k/s) in 19s cpu:38s avg:2
0:01:26 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 345k 100% 5.6k/s ] rels: [ 3.7k  64%  373/s ] features: [ 5.4M  15k/s ] 1.6G  blocks: [  625 100%   <1/s ]
    cpus: 2 gc:  1% heap: 1G/4.2G direct: 54M postGC: 1G relInfo: 420k mpGeoms: 18M  
    read( -%) ->    (0/13) -> process(76% 74%) -> (1.3k/53k) -> write( 1%)
0:01:28 INF [osm_pass2:process] - Finished relations: 5,863 (535/s) in 11s cpu:22s avg:2
0:01:31 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 481M  ways: [ 345k 100%    0/s ] rels: [ 5.8k 100%  390/s ] features: [ 5.4M 2.4k/s ] 283M  blocks: [  626 100%   <1/s ]
    cpus: 2 gc:  0% heap: 2.3G/4.2G direct: 54M postGC: 1G relInfo: 420k mpGeoms: 18M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( 0%)
0:01:31 DEB [osm_pass2] - Processed 626 blocks:
0:01:31 DEB [osm_pass2] -   nodes: 4,641,577 (1.8M/s) in 3s cpu:5s avg:2
0:01:31 DEB [osm_pass2] -   ways: 345,610 (18k/s) in 19s cpu:38s avg:2
0:01:31 DEB [osm_pass2] -   relations: 5,863 (535/s) in 11s cpu:22s avg:2
0:01:31 INF [osm_pass2] - Finished in 35s cpu:1m10s avg:2
0:01:31 INF [osm_pass2] -   read     1x(0% 0s wait:19s done:17s)
0:01:31 INF [osm_pass2] -   process  2x(76% 27s)
0:01:31 INF [osm_pass2] -   write    1x(1% 0.4s wait:35s)
0:01:31 INF [boundaries] - 
0:01:31 INF [boundaries] - Starting...
0:01:31 INF [boundaries] - Creating polygons for 1 boundaries
0:01:31 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:31 INF [boundaries] - Finished creating 0 country polygons
0:01:31 INF [boundaries] - Finished in 0s cpu:0s avg:2
0:01:31 INF - Deleting node.db to make room for output file
0:01:31 INF [sort] - 
0:01:31 INF [sort] - Starting...
0:01:31 INF [sort] - Grouped 8 chunks into 1
0:01:33 INF [sort] -  chunks: [   1 /   1 100% ] 283M 
    cpus: 1.2 gc:  0% heap: 2.8G/4.2G direct: 54M postGC: 1G
    ->     (0/3) -> worker(80%)
0:01:33 INF [sort] - Finished in 2s cpu:3s avg:1.2
0:01:33 INF [sort] -   worker  1x(80% 2s)
0:01:33 INF - read:0s write:0s sort:0s
0:01:34 INF [archive] - 
0:01:34 INF [archive] - Starting...
0:01:35 DEB [archive:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:35 DEB [archive:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:35 DEB [archive:write] - Execute mbtiles: create table tiles_shallow (
  zoom_level integer,
  tile_column integer,
  tile_row integer,
  tile_data_id integer

  , primary key(zoom_level,tile_column,tile_row)

) without rowid

0:01:35 DEB [archive:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:35 DEB [archive:write] - Execute mbtiles: create view tiles AS
select
  tiles_shallow.zoom_level as zoom_level,
  tiles_shallow.tile_column as tile_column,
  tiles_shallow.tile_row as tile_row,
  tiles_data.tile_data as tile_data
from tiles_shallow
join tiles_data on tiles_shallow.tile_data_id = tiles_data.tile_data_id

0:01:36 DEB [archive:write] - Set mbtiles metadata: format=pbf
0:01:36 DEB [archive:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:36 DEB [archive:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:36 DEB [archive:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"name_int":"String","iata":"String","ele_ft":"Number","name_de":"String","name":"String","icao":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"ref":"String","class":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"disputed":"Number","admin_level":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","render_height":"Number","render_min_height":"Number","hide_3d":"Boolean"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"subclass":"String","class":"String","_numpoints":"Number"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"name_int":"String","customary_ft":"Number","ele_ft":"Number","name_de":"Str... 2358 more characters
0:01:36 DEB [archive:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:36 DEB [archive:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:36 DEB [archive:write] - Set mbtiles metadata: attribution=<a href="https://www.openmaptiles.org/" target="_blank">&copy; OpenMapTiles</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>
0:01:36 DEB [archive:write] - Set mbtiles metadata: version=3.14.0
0:01:36 DEB [archive:write] - Set mbtiles metadata: type=baselayer
0:01:36 DEB [archive:write] - Set mbtiles metadata: minzoom=0
0:01:36 DEB [archive:write] - Set mbtiles metadata: maxzoom=14
0:01:36 DEB [archive:write] - Set mbtiles metadata: compression=gzip
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:version=0.6-SNAPSHOT
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:githash=2f86ea12ae67ae0cd7c3571aee611f4990a47fce
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:buildtime=2023-09-24T12:18:27.109Z
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationtime=2023-09-23T20:21:21Z
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationseq=3831
0:01:36 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationurl=http://download.geofabrik.de/north-america/us/rhode-island-updates
0:01:37 INF [archive:write] - Starting z0
0:01:37 INF [archive:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:37 INF [archive:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:37 INF [archive:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:37 INF [archive:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:37 INF [archive:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:37 INF [archive:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:37 INF [archive:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:38 INF [archive:write] - Finished z7 in 0.9s cpu:2s avg:2, now starting z8
0:01:40 INF [archive:write] - Finished z8 in 2s cpu:3s avg:2, now starting z9
0:01:42 INF [archive:write] - Finished z9 in 2s cpu:4s avg:2, now starting z10
0:01:44 INF [archive:write] - Finished z10 in 2s cpu:4s avg:2, now starting z11
0:01:45 INF [archive] -  features: [ 197k   4%  19k/s ] 283M  tiles: [  18k 1.8k/s ] 2.5M 
    cpus: 2 gc:  3% heap: 3G/4.2G direct: 54M postGC: 1.6G
    read( 1%) -> (214/217) -> encode(62% 62%) -> (215/216) -> write( 1%)
    last tile: 11/617/762 (z11 5%) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.45508
0:01:46 INF [archive:write] - Finished z11 in 3s cpu:6s avg:2, now starting z12
0:01:51 INF [archive:write] - Finished z12 in 4s cpu:8s avg:2, now starting z13
0:01:55 INF [archive] -  features: [ 856k  16%  65k/s ] 283M  tiles: [ 291k  27k/s ] 14M  
    cpus: 2 gc:  3% heap: 2.8G/4.2G direct: 54M postGC: 1.7G
    read( 1%) -> (214/217) -> encode(63% 67%) -> (215/216) -> write( 3%)
    last tile: 13/2470/3047 (z13 5%) https://onthegomap.github.io/planetiler-demo/#13.5/41.78769/-71.43311
0:02:00 INF [archive:write] - Finished z13 in 9s cpu:19s avg:2, now starting z14
0:02:05 DEB [archive:write] - Shallow tiles written: 4,115,061
0:02:05 DEB [archive:write] - Tile data written: 17,718 (100% omitted)
0:02:05 DEB [archive:write] - Unique tile hashes: 8,844
0:02:05 INF [archive:write] - Finished z14 in 5s cpu:10s avg:1.9
0:02:05 INF [archive] -  features: [ 5.4M 100% 462k/s ] 283M  tiles: [ 4.1M 385k/s ] 107M 
    cpus: 1.9 gc:  3% heap: 3.5G/4.2G direct: 54M postGC: 1.7G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://onthegomap.github.io/planetiler-demo/#14.5/43.55651/-17.83081
0:02:05 DEB [archive] - Tile stats:
0:02:05 DEB [archive] - Biggest tiles (gzipped)
1. 9/154/190 (154k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:86k)
2. 14/4942/6092 (151k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (building:73k)
3. 10/308/380 (141k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (139k) https://onthegomap.github.io/planetiler-demo/#10.5/41.63994/-71.54297 (landcover:72k)
5. 14/4941/6092 (111k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.42212 (poi:51k)
6. 14/4941/6093 (109k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:66k)
7. 14/4940/6092 (107k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:102k)
8. 11/616/762 (100k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 14/4942/6091 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:86k)
10. 14/4940/6091 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.44409 (building:100k)
0:02:05 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   445   581   936   340   432   545   545  1.6k  2.1k  7.2k  6.4k  5.8k  4.5k  7.2k
              water 7.7k  3.7k  8.6k  5.5k  2.6k  5.1k   15k   18k   16k   25k   15k   13k   17k   15k   12k   25k
              place    0     0   377   377   377   586   675   963  1.6k  3.3k  5.7k  3.1k  1.7k   789   947  5.7k
            landuse    0     0     0     0   548   618  1.3k    6k   17k   44k   59k   50k   38k   20k   12k   59k
     transportation    0     0     0     0  1.1k  1.9k  2.9k  9.5k   12k   32k   22k   23k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.4k  2.3k    2k  1.6k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0  1.1k  3.7k  9.4k   18k   12k  7.4k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  4.9k  3.9k  3.7k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   86k   72k   81k   53k   30k   24k   86k
      mountain_peak    0     0     0     0     0     0     0  1.1k  1.8k  3.4k  4.3k  2.8k  1.4k  1.4k   869  4.3k
         water_name    0     0     0     0     0     0     0     0     0   487   462   434   445   549    1k    1k
    aerodrome_label    0     0     0     0     0     0     0     0     0     0   674   327   273   220   220   674
            aeroway    0     0     0     0     0     0     0     0     0     0  1.6k  2.1k    3k  3.4k  2.7k  3.4k
                poi    0     0     0     0     0     0     0     0     0     0     0     0   501   498   67k   67k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   60k  102k  102k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.4k  6.4k  4.4k    7k   22k   45k   89k  211k  188k  136k  114k  128k  231k  231k
            gzipped 6.2k  3.6k  7.1k  5.2k  3.5k  5.4k   15k   31k   63k  154k  141k  100k   84k   93k  151k  154k
0:02:05 DEB [archive] -    Max tile: 231k (gzipped: 154k)
0:02:05 DEB [archive] -    Avg tile: 5.5k (gzipped: 4.1k) using weighted average based on OSM traffic
0:02:05 DEB [archive] -     # tiles: 4,115,061
0:02:05 DEB [archive] -  # features: 5,440,682
0:02:05 INF [archive] - Finished in 32s cpu:1m2s gc:1s avg:1.9
0:02:05 INF [archive] -   read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF [archive] -   encode  2x(59% 19s done:2s)
0:02:05 INF [archive] -   write   1x(12% 4s wait:25s done:2s)
0:02:05 INF - Finished in 2m6s cpu:3m39s gc:4s avg:1.7
0:02:05 INF - FINISHED!
0:02:05 INF - 
0:02:05 INF - ----------------------------------------
0:02:05 INF - data errors:
0:02:05 INF - 	render_snap_fix_input	16,679
0:02:05 INF - 	osm_boundary_missing_way	63
0:02:05 INF - 	osm_multipolygon_missing_way	57
0:02:05 INF - 	merge_snap_fix_input	14
0:02:05 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:02:05 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	overall          2m6s cpu:3m39s gc:4s avg:1.7
0:02:05 INF - 	lake_centerlines 5s cpu:6s avg:1.4
0:02:05 INF - 	  read     1x(33% 2s done:3s)
0:02:05 INF - 	  process  2x(6% 0.3s wait:2s done:3s)
0:02:05 INF - 	  write    1x(0% 0s wait:2s done:3s)
0:02:05 INF - 	water_polygons   27s cpu:48s gc:3s avg:1.8
0:02:05 INF - 	  read     1x(52% 14s wait:4s)
0:02:05 INF - 	  process  2x(31% 8s wait:11s)
0:02:05 INF - 	  write    1x(2% 0.6s wait:26s)
0:02:05 INF - 	natural_earth    21s cpu:23s avg:1.1
0:02:05 INF - 	  read     1x(60% 12s sys:2s done:8s)
0:02:05 INF - 	  process  2x(6% 1s wait:12s done:8s)
0:02:05 INF - 	  write    1x(0% 0s wait:13s done:8s)
0:02:05 INF - 	osm_pass1        3s cpu:5s avg:1.8
0:02:05 INF - 	  read     1x(1% 0s wait:3s)
0:02:05 INF - 	  parse    1x(74% 2s)
0:02:05 INF - 	  process  1x(44% 1s wait:1s)
0:02:05 INF - 	osm_pass2        35s cpu:1m10s avg:2
0:02:05 INF - 	  read     1x(0% 0s wait:19s done:17s)
0:02:05 INF - 	  process  2x(76% 27s)
0:02:05 INF - 	  write    1x(1% 0.4s wait:35s)
0:02:05 INF - 	boundaries       0s cpu:0s avg:2
0:02:05 INF - 	sort             2s cpu:3s avg:1.2
0:02:05 INF - 	  worker  1x(80% 2s)
0:02:05 INF - 	archive          32s cpu:1m2s gc:1s avg:1.9
0:02:05 INF - 	  read    1x(2% 0.6s wait:29s done:2s)
0:02:05 INF - 	  encode  2x(59% 19s done:2s)
0:02:05 INF - 	  write   1x(12% 4s wait:25s done:2s)
0:02:05 INF - ----------------------------------------
0:02:05 INF - 	archive	107MB
0:02:05 INF - 	features	283MB
-rw-r--r-- 1 runner docker 64M Sep 25 00:27 run.jar

@msbarry
Copy link
Collaborator Author

msbarry commented Sep 25, 2023

Here's the max tile size by layer stats tables:

Before this change:
image

After this change:
image

After this change with --max-point-buffer=4
image

@msbarry
Copy link
Collaborator Author

msbarry commented Sep 25, 2023

Here's the biggest tile before this change:
image

and after:
image

@msbarry
Copy link
Collaborator Author

msbarry commented Sep 25, 2023

Here's a lingering large tile because transportation segments are broken up by bridges, it drops to ~70kb if we omit the brunnel tag below a certain zoom (not included in this change)

image

@msbarry
Copy link
Collaborator Author

msbarry commented Sep 25, 2023

If anyone wants to analyze this more to look for savings you can pull the layerstats file with these optimizations from here:

https://pub-53ae9069a4bc4f52a9948e5ae04457d9.r2.dev/omt-with-optimizations.layerstats.parquet

See the layerstats README for a guide on how to analyze with duckdb

@msbarry msbarry merged commit fef4424 into openmaptiles:main Sep 25, 2023
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant