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

Add whole-tile postprocess hook #802

Merged
merged 2 commits into from
Jan 23, 2024
Merged

Add whole-tile postprocess hook #802

merged 2 commits into from
Jan 23, 2024

Conversation

msbarry
Copy link
Contributor

@msbarry msbarry commented Jan 20, 2024

Add a new Map<String, List<VectorTile.Feature>> postProcessTileFeatures(TileCoord, Map<String, List<VectorTile.Feature>>) hook that profiles can implement to post-process features across layers. For example:

  • create a brand new layer that didn't exist before by combining features from other layers
  • transform features in one layer based on features in another layer (like subtracting land polygons from water polygons, or adding tags to features that overlap water)

See #786

Copy link

github-actions bot commented Jan 20, 2024

Base 328e1b4 This Branch 2b1ff27
0:01:00 DEB [archive] - Tile stats:
0:01:00 DEB [archive] - Biggest tiles (gzipped)
1. 14/4942/6092 (153k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (poi:81k)
2. 9/154/190 (148k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:85k)
3. 10/308/380 (137k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (136k) 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:63k)
6. 14/4941/6093 (110k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:62k)
7. 14/4940/6092 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:92k)
8. 11/616/762 (99k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 11/616/761 (96k) https://onthegomap.github.io/planetiler-demo/#11.5/41.83679/-71.63086 (landcover:72k)
10. 14/4942/6091 (95k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:79k)
0:01:00 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   443   583   933   334   428   543   543  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   441   441   441   650   739    1k  1.7k  3.4k  5.9k  3.3k  1.7k   797   947  5.9k
            landuse    0     0     0     0   548   619  1.3k  5.9k   17k   44k   59k   50k   38k   19k   12k   59k
     transportation    0     0     0     0   464   915  1.2k    6k    8k   24k   17k   19k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.2k  2.1k  2.1k  2.1k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0    1k  3.8k  9.7k   18k   13k  7.7k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  5.4k  4.6k  3.8k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   85k   72k   81k   53k   30k   24k   85k
      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   486   461   433   452  1.2k  1.5k  1.5k
    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   81k   81k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   59k   92k   92k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.5k  6.5k  3.8k  6.1k   20k   41k   84k  203k  184k  135k  113k  127k  242k  242k
            gzipped 6.2k  3.5k  7.1k  5.2k  3.1k  4.9k   13k   29k   60k  148k  137k   99k   83k   91k  153k  153k
0:01:00 DEB [archive] -    Max tile: 242k (gzipped: 153k)
0:01:00 DEB [archive] -    Avg tile: 5.4k (gzipped: 4k) using weighted average based on OSM traffic
0:01:00 DEB [archive] -     # tiles: 4,115,012
0:01:00 DEB [archive] -  # features: 5,470,173
0:01:00 INF [archive] - Finished in 18s cpu:1m4s avg:3.6
0:01:00 INF [archive] -   read    1x(3% 0.5s wait:16s)
0:01:00 INF [archive] -   encode  4x(55% 10s wait:2s)
0:01:00 INF [archive] -   write   1x(22% 4s wait:12s)
0:01:00 INF - Finished in 1m cpu:3m14s gc:1s avg:3.2
0:01:00 INF - FINISHED!
0:01:00 INF - 
0:01:00 INF - ----------------------------------------
0:01:00 INF - data errors:
0:01:00 INF - 	render_snap_fix_input	16,628
0:01:00 INF - 	osm_multipolygon_missing_way	74
0:01:00 INF - 	osm_boundary_missing_way	70
0:01:00 INF - 	merge_snap_fix_input	14
0:01:00 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:01:00 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:01:00 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:01:00 INF - ----------------------------------------
0:01:00 INF - 	overall          1m cpu:3m14s gc:1s avg:3.2
0:01:00 INF - 	lake_centerlines 2s cpu:5s avg:2.2
0:01:00 INF - 	  read     1x(22% 0.4s done:2s)
0:01:00 INF - 	  process  4x(0% 0s done:2s)
0:01:00 INF - 	  write    1x(0% 0s done:1s)
0:01:00 INF - 	water_polygons   14s cpu:37s avg:2.7
0:01:00 INF - 	  read     1x(40% 6s done:7s)
0:01:00 INF - 	  process  4x(26% 4s wait:4s done:5s)
0:01:00 INF - 	  write    1x(4% 0.5s wait:9s done:5s)
0:01:00 INF - 	natural_earth    6s cpu:12s avg:1.8
0:01:00 INF - 	  read     1x(95% 6s)
0:01:00 INF - 	  process  4x(13% 0.8s wait:6s)
0:01:00 INF - 	  write    1x(0% 0s wait:6s)
0:01:00 INF - 	osm_pass1        2s cpu:6s avg:3.4
0:01:00 INF - 	  read     1x(2% 0s wait:2s)
0:01:00 INF - 	  parse    4x(33% 0.6s)
0:01:00 INF - 	  process  1x(69% 1s)
0:01:00 INF - 	osm_pass2        17s cpu:1m6s avg:3.9
0:01:00 INF - 	  read     1x(0% 0s wait:9s done:7s)
0:01:00 INF - 	  process  4x(76% 13s)
0:01:00 INF - 	  write    1x(2% 0.4s wait:16s)
0:01:00 INF - 	boundaries       0s cpu:0s avg:1.7
0:01:00 INF - 	agg_stop         0s cpu:0s avg:0
0:01:00 INF - 	sort             1s cpu:3s avg:2.6
0:01:00 INF - 	  worker  1x(50% 0.7s)
0:01:00 INF - 	archive          18s cpu:1m4s avg:3.6
0:01:00 INF - 	  read    1x(3% 0.5s wait:16s)
0:01:00 INF - 	  encode  4x(55% 10s wait:2s)
0:01:00 INF - 	  write   1x(22% 4s wait:12s)
0:01:00 INF - ----------------------------------------
0:01:00 INF - 	archive	107MB
0:01:00 INF - 	features	280MB
-rw-r--r-- 1 runner docker 66M Jan 21 01:39 run.jar
0:01:04 DEB [archive] - Tile stats:
0:01:04 DEB [archive] - Biggest tiles (gzipped)
1. 14/4942/6092 (153k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (poi:81k)
2. 9/154/190 (148k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:85k)
3. 10/308/380 (137k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (136k) 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:63k)
6. 14/4941/6093 (110k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:62k)
7. 14/4940/6092 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:92k)
8. 11/616/762 (99k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 11/616/761 (96k) https://onthegomap.github.io/planetiler-demo/#11.5/41.83679/-71.63086 (landcover:72k)
10. 14/4942/6091 (95k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:79k)
0:01:04 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   443   583   933   334   428   543   543  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   441   441   441   650   739    1k  1.7k  3.4k  5.9k  3.3k  1.7k   797   947  5.9k
            landuse    0     0     0     0   548   619  1.3k  5.9k   17k   44k   59k   50k   38k   19k   12k   59k
     transportation    0     0     0     0   464   915  1.2k    6k    8k   24k   17k   19k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.2k  2.1k  2.1k  2.1k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0    1k  3.8k  9.7k   18k   13k  7.7k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  5.4k  4.6k  3.8k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   85k   72k   81k   53k   30k   24k   85k
      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   486   461   433   452  1.2k  1.5k  1.5k
    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   81k   81k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   59k   92k   92k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.5k  6.5k  3.8k  6.1k   20k   41k   84k  203k  184k  135k  113k  127k  242k  242k
            gzipped 6.2k  3.5k  7.1k  5.2k  3.1k  4.9k   13k   29k   60k  148k  137k   99k   83k   91k  153k  153k
0:01:04 DEB [archive] -    Max tile: 242k (gzipped: 153k)
0:01:04 DEB [archive] -    Avg tile: 5.4k (gzipped: 4k) using weighted average based on OSM traffic
0:01:04 DEB [archive] -     # tiles: 4,115,012
0:01:04 DEB [archive] -  # features: 5,470,173
0:01:04 INF [archive] - Finished in 18s cpu:1m4s avg:3.6
0:01:04 INF [archive] -   read    1x(3% 0.5s wait:16s)
0:01:04 INF [archive] -   encode  4x(56% 10s wait:2s)
0:01:04 INF [archive] -   write   1x(21% 4s wait:12s)
0:01:04 INF - Finished in 1m5s cpu:3m18s avg:3.1
0:01:04 INF - FINISHED!
0:01:04 INF - 
0:01:04 INF - ----------------------------------------
0:01:04 INF - data errors:
0:01:04 INF - 	render_snap_fix_input	16,628
0:01:04 INF - 	osm_multipolygon_missing_way	74
0:01:04 INF - 	osm_boundary_missing_way	70
0:01:04 INF - 	merge_snap_fix_input	14
0:01:04 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:01:04 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:01:04 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:01:04 INF - ----------------------------------------
0:01:04 INF - 	overall          1m5s cpu:3m18s avg:3.1
0:01:04 INF - 	lake_centerlines 3s cpu:5s avg:2.1
0:01:04 INF - 	  read     1x(17% 0.5s done:2s)
0:01:04 INF - 	  process  4x(0% 0s done:2s)
0:01:04 INF - 	  write    1x(0% 0s done:2s)
0:01:04 INF - 	water_polygons   14s cpu:38s avg:2.7
0:01:04 INF - 	  read     1x(41% 6s done:7s)
0:01:04 INF - 	  process  4x(27% 4s wait:4s done:5s)
0:01:04 INF - 	  write    1x(4% 0.5s wait:9s done:5s)
0:01:04 INF - 	natural_earth    10s cpu:16s avg:1.6
0:01:04 INF - 	  read     1x(59% 6s done:4s)
0:01:04 INF - 	  process  4x(8% 0.8s wait:6s done:4s)
0:01:04 INF - 	  write    1x(0% 0s wait:6s done:4s)
0:01:04 INF - 	osm_pass1        2s cpu:6s avg:3.2
0:01:04 INF - 	  read     1x(2% 0s wait:2s)
0:01:04 INF - 	  parse    4x(32% 0.6s)
0:01:04 INF - 	  process  1x(71% 1s)
0:01:04 INF - 	osm_pass2        16s cpu:1m4s avg:3.9
0:01:04 INF - 	  read     1x(0% 0s wait:9s done:7s)
0:01:04 INF - 	  process  4x(76% 12s)
0:01:04 INF - 	  write    1x(2% 0.4s wait:16s)
0:01:04 INF - 	boundaries       0s cpu:0s avg:2.5
0:01:04 INF - 	agg_stop         0s cpu:0s avg:0
0:01:04 INF - 	sort             1s cpu:3s avg:2.6
0:01:04 INF - 	  worker  1x(53% 0.7s)
0:01:04 INF - 	archive          18s cpu:1m4s avg:3.6
0:01:04 INF - 	  read    1x(3% 0.5s wait:16s)
0:01:04 INF - 	  encode  4x(56% 10s wait:2s)
0:01:04 INF - 	  write   1x(21% 4s wait:12s)
0:01:04 INF - ----------------------------------------
0:01:04 INF - 	archive	107MB
0:01:04 INF - 	features	280MB
-rw-r--r-- 1 runner docker 66M Jan 21 01:38 run.jar

https://github.com/onthegomap/planetiler/actions/runs/7598162876

ℹ️ Base Logs 328e1b4
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=4 (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=4 (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 [files, 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 [files, 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=true (keep unzipped sources by default after reading)
0:00:00 DEB - argument: tile_compression=gzip (the tile compression, one of [none, gzip])
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: log_jts_exceptions=false (Emit verbose details to debug JTS geometry errors)
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=true (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 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: 328e1b4d536dd7da38a192e56f4014a18c23a63b
0:00:00 INF - Planetiler build version: 0.7-SNAPSHOT
0:00:00 INF - Planetiler build timestamp: 2024-01-21T01:37:03.050Z
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,bn,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fa,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,pa,pnb,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,ur,vi,zh,zh-Hant,zh-Hans (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/planetiler/data/out.mbtiles.layerstats.tsv.gz (layer stats output path)
0:00:00 INF - Building OpenMapTilesProfile profile into file:///home/runner/work/planetiler/planetiler/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/planetiler/data/out.mbtiles, options={}]
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 201M storage on / (/dev/root) requested for read phase disk, 28G available
0:00:00 DEB -  - 45M used for temporary node location cache
0:00:00 DEB -  - 6.8M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 149M used for temporary feature storage
0:00:00 DEB - ✓ 223M storage on / (/dev/root) requested for write phase disk, 28G available
0:00:00 DEB -  - 149M used for temporary feature storage
0:00:00 DEB -  - 74M 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 - ✓ 52M storage on / (/dev/root) requested for read phase, 28G available
0:00:00 DEB -  - 45M used for sparsearray node location cache
0:00:00 DEB -  - 6.8M used for multipolygon way geometries
0:00:00 DEB - ✓ 52M temporary files and 12G 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:00 DEB - argument: compact=true (mbtiles: reduce the DB size by separating and deduping the tile data)
0:00:00 DEB - argument: no_index=false (mbtiles: skip adding index to sqlite DB)
0:00:00 DEB - argument: vacuum_analyze=false (mbtiles: vacuum analyze sqlite DB after writing)
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=4
0:00:00 INF [lake_centerlines] - 
0:00:00 INF [lake_centerlines] - Starting...
0:00:02 INF [lake_centerlines] -  read: [  200 100%  332/s ] write: [    0    0/s ] 0    
    cpus: 1 gc:  0% heap: 48M/4.2G direct: 262k postGC: 78M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:02 INF [lake_centerlines] - Finished in 2s cpu:5s avg:2.2
0:00:02 INF [lake_centerlines] -   read     1x(22% 0.4s done:2s)
0:00:02 INF [lake_centerlines] -   process  4x(0% 0s done:2s)
0:00:02 INF [lake_centerlines] -   write    1x(0% 0s done:1s)
0:00:02 INF [water_polygons] - 
0:00:02 INF [water_polygons] - Starting...
0:00:16 INF [water_polygons] -  read: [  244 100%   25/s ] write: [ 4.3M 458k/s ] 186M 
    cpus: 3.4 gc:  1% heap: 1.7G/4.2G direct: 54M postGC: 320M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:16 INF [water_polygons] - Finished in 14s cpu:37s avg:2.7
0:00:16 INF [water_polygons] -   read     1x(40% 6s done:7s)
0:00:16 INF [water_polygons] -   process  4x(26% 4s wait:4s done:5s)
0:00:16 INF [water_polygons] -   write    1x(4% 0.5s wait:9s done:5s)
0:00:16 INF [natural_earth] - 
0:00:16 INF [natural_earth] - Starting...
0:00:23 INF [natural_earth] -  read: [ 349k 100%  57k/s ] write: [  181   29/s ] 186M 
    cpus: 1.9 gc:  0% heap: 2.3G/4.2G direct: 54M postGC: 296M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:23 INF [natural_earth] - Finished in 6s cpu:12s avg:1.8
0:00:23 INF [natural_earth] -   read     1x(95% 6s)
0:00:23 INF [natural_earth] -   process  4x(13% 0.8s wait:6s)
0:00:23 INF [natural_earth] -   write    1x(0% 0s wait:6s)
0:00:23 INF [osm_pass1] - 
0:00:23 INF [osm_pass1] - Starting...
0:00:24 INF [osm_pass1:process] - Finished nodes: 4,767,411 (3.6M/s) in 1s cpu:4s avg:3.2
0:00:24 INF [osm_pass1:process] - Finished ways: 358,430 (964k/s) in 0.4s cpu:1s avg:4
0:00:24 INF [osm_pass1:process] - Finished relations: 6,068 (75k/s) in 0.1s cpu:0.3s avg:3.6
0:00:24 INF [osm_pass1] -  nodes: [ 4.7M 2.6M/s ] 492M  ways: [ 358k 196k/s ] rels: [   6k 3.3k/s ] blocks: [  642  352/s ]
    cpus: 3.4 gc:  1% heap: 3.2G/4.2G direct: 54M postGC: 759M hppc: 467k
    read( -%) ->    (0/13) -> parse( -%  -%  -%  -%) ->    (0/10) -> process( -%)
0:00:24 DEB [osm_pass1] - Processed 642 blocks:
0:00:24 DEB [osm_pass1] -   nodes: 4,767,411 (3.6M/s) in 1s cpu:4s avg:3.2
0:00:24 DEB [osm_pass1] -   ways: 358,430 (964k/s) in 0.4s cpu:1s avg:4
0:00:24 DEB [osm_pass1] -   relations: 6,068 (75k/s) in 0.1s cpu:0.3s avg:3.6
0:00:24 INF [osm_pass1] - Finished in 2s cpu:6s avg:3.4
0:00:24 INF [osm_pass1] -   read     1x(2% 0s wait:2s)
0:00:24 INF [osm_pass1] -   parse    4x(33% 0.6s)
0:00:24 INF [osm_pass1] -   process  1x(69% 1s)
0:00:24 INF [osm_pass2] - 
0:00:24 INF [osm_pass2] - Starting...
0:00:26 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:26 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0.1s avg:3.9
0:00:26 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:00:26 INF [osm_pass2:process] - Finished nodes: 4,767,411 (3.6M/s) in 1s cpu:5s avg:4
0:00:34 INF [osm_pass2] -  nodes: [ 4.7M 100% 476k/s ] 492M  ways: [ 303k  85%  30k/s ] rels: [    0   0%    0/s ] features: [ 5.3M  98k/s ] 1.6G  blocks: [  633  99%   63/s ]
    cpus: 4 gc:  2% heap: 1.7G/4.2G direct: 54M postGC: 1.1G relInfo: 441k mpGeoms: 18M  
    read( -%) ->    (5/15) -> process(71% 76% 73% 71%) -> (2.2k/55k) -> write( 3%)
0:00:35 INF [osm_pass2:process] - Finished ways: 358,430 (37k/s) in 10s cpu:38s avg:4
0:00:40 INF [osm_pass2:process] - Finished relations: 6,068 (1.3k/s) in 5s cpu:18s avg:4
0:00:41 INF [osm_pass2] -  nodes: [ 4.7M 100%    0/s ] 492M  ways: [ 358k 100% 8.2k/s ] rels: [   6k 100%  904/s ] features: [ 5.4M  24k/s ] 280M  blocks: [  642 100%    1/s ]
    cpus: 3.9 gc:  1% heap: 2.4G/4.2G direct: 54M postGC: 1.1G relInfo: 441k mpGeoms: 18M  
    read( -%) ->    (0/15) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:41 DEB [osm_pass2] - Processed 642 blocks:
0:00:41 DEB [osm_pass2] -   nodes: 4,767,411 (3.6M/s) in 1s cpu:5s avg:4
0:00:41 DEB [osm_pass2] -   ways: 358,430 (37k/s) in 10s cpu:38s avg:4
0:00:41 DEB [osm_pass2] -   relations: 6,068 (1.3k/s) in 5s cpu:18s avg:4
0:00:41 INF [osm_pass2] - Finished in 17s cpu:1m6s avg:3.9
0:00:41 INF [osm_pass2] -   read     1x(0% 0s wait:9s done:7s)
0:00:41 INF [osm_pass2] -   process  4x(76% 13s)
0:00:41 INF [osm_pass2] -   write    1x(2% 0.4s wait:16s)
0:00:41 INF [boundaries] - 
0:00:41 INF [boundaries] - Starting...
0:00:41 INF [boundaries] - Creating polygons for 1 boundaries
0:00:41 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:00:41 INF [boundaries] - Finished creating 0 country polygons
0:00:41 INF [boundaries] - Finished in 0s cpu:0s avg:1.7
0:00:41 INF [agg_stop] - 
0:00:41 INF [agg_stop] - Starting...
0:00:41 INF [agg_stop] - Processing 0 agg_stop sets
0:00:41 INF [agg_stop] - Finished in 0s cpu:0s avg:0
0:00:41 INF - Deleting node.db to make room for output file
0:00:41 INF [sort] - 
0:00:41 INF [sort] - Starting...
0:00:41 INF [sort] - Grouped 8 chunks into 1
0:00:42 INF [sort] -  chunks: [   1 /   1 100% ] 280M 
    cpus: 2.6 gc:  0% heap: 2.9G/4.2G direct: 54M postGC: 1.1G
    ->     (0/3) -> worker( -%)
0:00:42 INF [sort] - Finished in 1s cpu:3s avg:2.6
0:00:42 INF [sort] -   worker  1x(50% 0.7s)
0:00:42 INF - read:0s write:0s sort:0s
0:00:42 INF [archive] - 
0:00:42 INF [archive] - Starting...
0:00:43 DEB [archive] - Execute mbtiles: create table metadata (name text, value text);
0:00:43 DEB [archive] - Execute mbtiles: create unique index name on metadata (name);
0:00:43 DEB [archive] - 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:00:43 DEB [archive] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:00:43 DEB [archive] - 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:00:45 INF [archive:write] - Starting z0
0:00:45 INF [archive:write] - Finished z0 in 0s cpu:0s avg:13.9, now starting z1
0:00:45 INF [archive:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:00:45 INF [archive:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:00:45 INF [archive:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:00:45 INF [archive:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:00:45 INF [archive:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:00:45 INF [archive:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:00:45 INF [archive:write] - Finished z7 in 0s cpu:0.1s avg:3.8, now starting z8
0:00:46 INF [archive:write] - Finished z8 in 1s cpu:5s avg:4, now starting z9
0:00:48 INF [archive:write] - Finished z9 in 1s cpu:5s avg:4, now starting z10
0:00:48 INF [archive:write] - Finished z10 in 0.2s cpu:0.6s avg:4, now starting z11
0:00:49 INF [archive:write] - Finished z11 in 2s cpu:7s avg:3.9, now starting z12
0:00:51 INF [archive:write] - Finished z12 in 2s cpu:8s avg:4, now starting z13
0:00:53 INF [archive] -  features: [ 859k  16%  85k/s ] 280M  tiles: [ 291k  29k/s ] 17M  
    cpus: 4 gc:  5% heap: 841M/4.2G direct: 54M postGC: 547M
    read( 1%) -> (212/219) -> encode(59% 62% 63% 57%) -> (215/216) -> write( 4%)
    last tile: 13/2470/3048 (z13 5%) https://onthegomap.github.io/planetiler-demo/#13.5/41.75492/-71.43311
0:00:56 INF [archive:write] - Finished z13 in 5s cpu:19s avg:4, now starting z14
0:01:00 DEB [archive:write] - Shallow tiles written: 4,115,012
0:01:00 DEB [archive:write] - Tile data written: 18,079 (100% omitted)
0:01:00 DEB [archive:write] - Unique tile hashes: 9,230
0:01:00 INF [archive:write] - Finished z14 in 4s cpu:10s avg:2.9
0:01:00 DEB [archive:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:00 DEB [archive:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:00 DEB [archive:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:00 DEB [archive:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:00 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:00 DEB [archive:write] - Set mbtiles metadata: version=3.14.0
0:01:00 DEB [archive:write] - Set mbtiles metadata: type=baselayer
0:01:00 DEB [archive:write] - Set mbtiles metadata: format=pbf
0:01:00 DEB [archive:write] - Set mbtiles metadata: minzoom=0
0:01:00 DEB [archive:write] - Set mbtiles metadata: maxzoom=14
0:01:00 DEB [archive:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"class":"String","ele":"Number","ele_ft":"Number","iata":"String","icao":"String","name":"String","name:en":"String","name:latin":"String","name_de":"String","name_en":"String","name_int":"String"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"class":"String","ref":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"admin_level":"Number","disputed":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","hide_3d":"Boolean","render_height":"Number","render_min_height":"Number"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"class":"String","subclass":"String"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"class":"String","customary_ft":"Number","ele":"Number","ele_ft":"Number","name":"String","name:la... 2465 more characters
0:01:00 DEB [archive:write] - Set mbtiles metadata: compression=gzip
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:buildtime=2024-01-21T01:37:03.050Z
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:githash=328e1b4d536dd7da38a192e56f4014a18c23a63b
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationseq=3947
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationtime=2024-01-19T21:20:40Z
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationurl=http://download.geofabrik.de/north-america/us/rhode-island-updates
0:01:00 DEB [archive:write] - Set mbtiles metadata: planetiler:version=0.7-SNAPSHOT
0:01:00 INF [archive] -  features: [ 5.4M 100% 683k/s ] 280M  tiles: [ 4.1M 567k/s ] 107M 
    cpus: 3.4 gc:  2% heap: 2.6G/4.2G direct: 54M postGC: 518M
    read( -%) ->   (0/219) -> encode( -%  -%  -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://onthegomap.github.io/planetiler-demo/#14.5/43.55651/-17.83081
0:01:00 DEB [archive] - Tile stats:
0:01:00 DEB [archive] - Biggest tiles (gzipped)
1. 14/4942/6092 (153k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (poi:81k)
2. 9/154/190 (148k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:85k)
3. 10/308/380 (137k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (136k) 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:63k)
6. 14/4941/6093 (110k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:62k)
7. 14/4940/6092 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:92k)
8. 11/616/762 (99k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 11/616/761 (96k) https://onthegomap.github.io/planetiler-demo/#11.5/41.83679/-71.63086 (landcover:72k)
10. 14/4942/6091 (95k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:79k)
0:01:00 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   443   583   933   334   428   543   543  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   441   441   441   650   739    1k  1.7k  3.4k  5.9k  3.3k  1.7k   797   947  5.9k
            landuse    0     0     0     0   548   619  1.3k  5.9k   17k   44k   59k   50k   38k   19k   12k   59k
     transportation    0     0     0     0   464   915  1.2k    6k    8k   24k   17k   19k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.2k  2.1k  2.1k  2.1k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0    1k  3.8k  9.7k   18k   13k  7.7k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  5.4k  4.6k  3.8k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   85k   72k   81k   53k   30k   24k   85k
      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   486   461   433   452  1.2k  1.5k  1.5k
    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   81k   81k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   59k   92k   92k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.5k  6.5k  3.8k  6.1k   20k   41k   84k  203k  184k  135k  113k  127k  242k  242k
            gzipped 6.2k  3.5k  7.1k  5.2k  3.1k  4.9k   13k   29k   60k  148k  137k   99k   83k   91k  153k  153k
0:01:00 DEB [archive] -    Max tile: 242k (gzipped: 153k)
0:01:00 DEB [archive] -    Avg tile: 5.4k (gzipped: 4k) using weighted average based on OSM traffic
0:01:00 DEB [archive] -     # tiles: 4,115,012
0:01:00 DEB [archive] -  # features: 5,470,173
0:01:00 INF [archive] - Finished in 18s cpu:1m4s avg:3.6
0:01:00 INF [archive] -   read    1x(3% 0.5s wait:16s)
0:01:00 INF [archive] -   encode  4x(55% 10s wait:2s)
0:01:00 INF [archive] -   write   1x(22% 4s wait:12s)
0:01:00 INF - Finished in 1m cpu:3m14s gc:1s avg:3.2
0:01:00 INF - FINISHED!
0:01:00 INF - 
0:01:00 INF - ----------------------------------------
0:01:00 INF - data errors:
0:01:00 INF - 	render_snap_fix_input	16,628
0:01:00 INF - 	osm_multipolygon_missing_way	74
0:01:00 INF - 	osm_boundary_missing_way	70
0:01:00 INF - 	merge_snap_fix_input	14
0:01:00 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:01:00 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:01:00 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:01:00 INF - ----------------------------------------
0:01:00 INF - 	overall          1m cpu:3m14s gc:1s avg:3.2
0:01:00 INF - 	lake_centerlines 2s cpu:5s avg:2.2
0:01:00 INF - 	  read     1x(22% 0.4s done:2s)
0:01:00 INF - 	  process  4x(0% 0s done:2s)
0:01:00 INF - 	  write    1x(0% 0s done:1s)
0:01:00 INF - 	water_polygons   14s cpu:37s avg:2.7
0:01:00 INF - 	  read     1x(40% 6s done:7s)
0:01:00 INF - 	  process  4x(26% 4s wait:4s done:5s)
0:01:00 INF - 	  write    1x(4% 0.5s wait:9s done:5s)
0:01:00 INF - 	natural_earth    6s cpu:12s avg:1.8
0:01:00 INF - 	  read     1x(95% 6s)
0:01:00 INF - 	  process  4x(13% 0.8s wait:6s)
0:01:00 INF - 	  write    1x(0% 0s wait:6s)
0:01:00 INF - 	osm_pass1        2s cpu:6s avg:3.4
0:01:00 INF - 	  read     1x(2% 0s wait:2s)
0:01:00 INF - 	  parse    4x(33% 0.6s)
0:01:00 INF - 	  process  1x(69% 1s)
0:01:00 INF - 	osm_pass2        17s cpu:1m6s avg:3.9
0:01:00 INF - 	  read     1x(0% 0s wait:9s done:7s)
0:01:00 INF - 	  process  4x(76% 13s)
0:01:00 INF - 	  write    1x(2% 0.4s wait:16s)
0:01:00 INF - 	boundaries       0s cpu:0s avg:1.7
0:01:00 INF - 	agg_stop         0s cpu:0s avg:0
0:01:00 INF - 	sort             1s cpu:3s avg:2.6
0:01:00 INF - 	  worker  1x(50% 0.7s)
0:01:00 INF - 	archive          18s cpu:1m4s avg:3.6
0:01:00 INF - 	  read    1x(3% 0.5s wait:16s)
0:01:00 INF - 	  encode  4x(55% 10s wait:2s)
0:01:00 INF - 	  write   1x(22% 4s wait:12s)
0:01:00 INF - ----------------------------------------
0:01:00 INF - 	archive	107MB
0:01:00 INF - 	features	280MB
-rw-r--r-- 1 runner docker 66M Jan 21 01:39 run.jar
ℹ️ This Branch Logs 2b1ff27
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=4 (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=4 (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 [files, 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 [files, 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=true (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: log_jts_exceptions=false (Emit verbose details to debug JTS geometry errors)
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=true (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 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: 2b1ff27ae29e9448ac55a1f9cfee473392fe2562
0:00:00 INF - Planetiler build version: 0.7-SNAPSHOT
0:00:00 INF - Planetiler build timestamp: 2024-01-21T01:36:35.853Z
0:00:00 DEB - argument: transliterate=true (attempt to transliterate latin names)
0:00:00 DEB - argument: languages=am,ar,az,be,bg,bn,br,bs,ca,co,cs,cy,da,de,el,en,eo,es,et,eu,fa,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,pa,pnb,pl,pt,rm,ro,ru,sk,sl,sq,sr,sr-Latn,sv,ta,te,th,tr,uk,ur,vi,zh,zh-Hant,zh-Hans (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/planetiler/data/out.mbtiles.layerstats.tsv.gz (layer stats output path)
0:00:00 INF - Building OpenMapTilesProfile profile into file:///home/runner/work/planetiler/planetiler/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/planetiler/data/out.mbtiles, options={}]
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 201M storage on / (/dev/root) requested for read phase disk, 29G available
0:00:00 DEB -  - 45M used for temporary node location cache
0:00:00 DEB -  - 6.8M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 149M used for temporary feature storage
0:00:00 DEB - ✓ 223M storage on / (/dev/root) requested for write phase disk, 29G available
0:00:00 DEB -  - 149M used for temporary feature storage
0:00:00 DEB -  - 74M 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 - ✓ 52M storage on / (/dev/root) requested for read phase, 29G available
0:00:00 DEB -  - 45M used for sparsearray node location cache
0:00:00 DEB -  - 6.8M used for multipolygon way geometries
0:00:00 DEB - ✓ 52M temporary files and 12G 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:00 DEB - argument: compact=true (mbtiles: reduce the DB size by separating and deduping the tile data)
0:00:00 DEB - argument: no_index=false (mbtiles: skip adding index to sqlite DB)
0:00:00 DEB - argument: vacuum_analyze=false (mbtiles: vacuum analyze sqlite DB after writing)
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=4
0:00:00 INF [lake_centerlines] - 
0:00:00 INF [lake_centerlines] - Starting...
0:00:03 INF [lake_centerlines] -  read: [  200 100%  332/s ] write: [    0    0/s ] 0    
    cpus: 1.1 gc:  0% heap: 47M/4.2G direct: 262k postGC: 81M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:03 INF [lake_centerlines] - Finished in 3s cpu:5s avg:2.1
0:00:03 INF [lake_centerlines] -   read     1x(17% 0.5s done:2s)
0:00:03 INF [lake_centerlines] -   process  4x(0% 0s done:2s)
0:00:03 INF [lake_centerlines] -   write    1x(0% 0s done:2s)
0:00:03 INF [water_polygons] - 
0:00:03 INF [water_polygons] - Starting...
0:00:17 INF [water_polygons] -  read: [  244 100%   25/s ] write: [ 4.3M 454k/s ] 186M 
    cpus: 3.5 gc:  1% heap: 1.2G/4.2G direct: 54M postGC: 313M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:17 INF [water_polygons] - Finished in 14s cpu:38s avg:2.7
0:00:17 INF [water_polygons] -   read     1x(41% 6s done:7s)
0:00:17 INF [water_polygons] -   process  4x(27% 4s wait:4s done:5s)
0:00:17 INF [water_polygons] -   write    1x(4% 0.5s wait:9s done:5s)
0:00:17 INF [natural_earth] - 
0:00:17 INF [natural_earth] - Starting...
0:00:17 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/sources/natural_earth_vector.sqlite.zip-unzipped/%2Fnatural_earth_vector.sqlite%2Fpackages%2Fnatural_earth_vector.sqlite
0:00:27 INF [natural_earth] -  read: [ 349k 100%  57k/s ] write: [  181   29/s ] 186M 
    cpus: 2 gc:  0% heap: 1.8G/4.2G direct: 54M postGC: 289M
    ->     (0/3) -> read( -%) ->    (0/1k) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:27 INF [natural_earth] - Finished in 10s cpu:16s avg:1.6
0:00:27 INF [natural_earth] -   read     1x(59% 6s done:4s)
0:00:27 INF [natural_earth] -   process  4x(8% 0.8s wait:6s done:4s)
0:00:27 INF [natural_earth] -   write    1x(0% 0s wait:6s done:4s)
0:00:27 INF [osm_pass1] - 
0:00:27 INF [osm_pass1] - Starting...
0:00:29 INF [osm_pass1:process] - Finished nodes: 4,767,411 (3.6M/s) in 1s cpu:4s avg:3
0:00:29 INF [osm_pass1:process] - Finished ways: 358,430 (1M/s) in 0.3s cpu:1s avg:3.9
0:00:29 INF [osm_pass1:process] - Finished relations: 6,068 (76k/s) in 0.1s cpu:0.3s avg:3.7
0:00:29 INF [osm_pass1] -  nodes: [ 4.7M 2.6M/s ] 492M  ways: [ 358k 199k/s ] rels: [   6k 3.3k/s ] blocks: [  642  356/s ]
    cpus: 3.2 gc:  0% heap: 2.6G/4.2G direct: 54M postGC: 839M hppc: 467k
    read( -%) ->    (0/13) -> parse( -%  -%  -%  -%) ->    (0/10) -> process( -%)
0:00:29 DEB [osm_pass1] - Processed 642 blocks:
0:00:29 DEB [osm_pass1] -   nodes: 4,767,411 (3.6M/s) in 1s cpu:4s avg:3
0:00:29 DEB [osm_pass1] -   ways: 358,430 (1M/s) in 0.3s cpu:1s avg:3.9
0:00:29 DEB [osm_pass1] -   relations: 6,068 (76k/s) in 0.1s cpu:0.3s avg:3.7
0:00:29 INF [osm_pass1] - Finished in 2s cpu:6s avg:3.2
0:00:29 INF [osm_pass1] -   read     1x(2% 0s wait:2s)
0:00:29 INF [osm_pass1] -   parse    4x(32% 0.6s)
0:00:29 INF [osm_pass1] -   process  1x(71% 1s)
0:00:29 INF [osm_pass2] - 
0:00:29 INF [osm_pass2] - Starting...
0:00:30 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:30 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0.1s avg:4.1
0:00:30 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:00:30 INF [osm_pass2:process] - Finished nodes: 4,767,411 (3.4M/s) in 1s cpu:6s avg:3.9
0:00:39 INF [osm_pass2] -  nodes: [ 4.7M 100% 476k/s ] 492M  ways: [ 325k  91%  32k/s ] rels: [    0   0%    0/s ] features: [ 5.3M 104k/s ] 1.6G  blocks: [  635  99%   63/s ]
    cpus: 3.9 gc:  1% heap: 1.7G/4.2G direct: 54M postGC: 1.1G relInfo: 441k mpGeoms: 18M  
    read( -%) ->    (3/15) -> process(71% 73% 73% 72%) -> (3.1k/55k) -> write( 3%)
0:00:39 INF [osm_pass2:process] - Finished ways: 358,430 (39k/s) in 9s cpu:35s avg:3.9
0:00:44 INF [osm_pass2:process] - Finished relations: 6,068 (1.2k/s) in 5s cpu:19s avg:4
0:00:45 INF [osm_pass2] -  nodes: [ 4.7M 100%    0/s ] 492M  ways: [ 358k 100%   5k/s ] rels: [   6k 100%  944/s ] features: [ 5.4M  15k/s ] 280M  blocks: [  642 100%    1/s ]
    cpus: 3.9 gc:  1% heap: 1.5G/4.2G direct: 54M postGC: 1.1G relInfo: 441k mpGeoms: 18M  
    read( -%) ->    (0/15) -> process( -%  -%  -%  -%) ->   (0/55k) -> write( -%)
0:00:45 DEB [osm_pass2] - Processed 642 blocks:
0:00:45 DEB [osm_pass2] -   nodes: 4,767,411 (3.4M/s) in 1s cpu:6s avg:3.9
0:00:45 DEB [osm_pass2] -   ways: 358,430 (39k/s) in 9s cpu:35s avg:3.9
0:00:45 DEB [osm_pass2] -   relations: 6,068 (1.2k/s) in 5s cpu:19s avg:4
0:00:45 INF [osm_pass2] - Finished in 16s cpu:1m4s avg:3.9
0:00:45 INF [osm_pass2] -   read     1x(0% 0s wait:9s done:7s)
0:00:45 INF [osm_pass2] -   process  4x(76% 12s)
0:00:45 INF [osm_pass2] -   write    1x(2% 0.4s wait:16s)
0:00:45 INF [boundaries] - 
0:00:45 INF [boundaries] - Starting...
0:00:45 INF [boundaries] - Creating polygons for 1 boundaries
0:00:45 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:00:45 INF [boundaries] - Finished creating 0 country polygons
0:00:45 INF [boundaries] - Finished in 0s cpu:0s avg:2.5
0:00:45 INF [agg_stop] - 
0:00:45 INF [agg_stop] - Starting...
0:00:45 INF [agg_stop] - Processing 0 agg_stop sets
0:00:45 INF [agg_stop] - Finished in 0s cpu:0s avg:0
0:00:46 INF - Deleting node.db to make room for output file
0:00:46 INF [sort] - 
0:00:46 INF [sort] - Starting...
0:00:46 INF [sort] - Grouped 8 chunks into 1
0:00:47 INF [sort] -  chunks: [   1 /   1 100% ] 280M 
    cpus: 2.6 gc:  0% heap: 2G/4.2G direct: 54M postGC: 1.1G
    ->     (0/3) -> worker( -%)
0:00:47 INF [sort] - Finished in 1s cpu:3s avg:2.6
0:00:47 INF [sort] -   worker  1x(53% 0.7s)
0:00:47 INF - read:0s write:0s sort:0s
0:00:47 INF [archive] - 
0:00:47 INF [archive] - Starting...
0:00:48 DEB [archive] - Execute mbtiles: create table metadata (name text, value text);
0:00:48 DEB [archive] - Execute mbtiles: create unique index name on metadata (name);
0:00:48 DEB [archive] - 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:00:48 DEB [archive] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:00:48 DEB [archive] - 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:00:49 INF [archive:write] - Starting z0
0:00:49 INF [archive:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:00:49 INF [archive:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:00:49 INF [archive:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:00:49 INF [archive:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:00:49 INF [archive:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:00:49 INF [archive:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:00:49 INF [archive:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:00:49 INF [archive:write] - Finished z7 in 0.1s cpu:0.4s avg:3.9, now starting z8
0:00:51 INF [archive:write] - Finished z8 in 1s cpu:4s avg:4, now starting z9
0:00:52 INF [archive:write] - Finished z9 in 1s cpu:6s avg:4, now starting z10
0:00:52 INF [archive:write] - Finished z10 in 0.1s cpu:0.3s avg:4.1, now starting z11
0:00:54 INF [archive:write] - Finished z11 in 2s cpu:7s avg:4, now starting z12
0:00:56 INF [archive:write] - Finished z12 in 2s cpu:8s avg:3.8, now starting z13
0:00:58 INF [archive] -  features: [ 821k  15%  81k/s ] 280M  tiles: [ 290k  28k/s ] 17M  
    cpus: 3.9 gc:  5% heap: 566M/4.2G direct: 54M postGC: 630M
    read( 1%) -> (209/219) -> encode(60% 59% 59% 60%) -> (215/216) -> write( 4%)
    last tile: 13/2469/3048 (z13 5%) https://onthegomap.github.io/planetiler-demo/#13.5/41.75492/-71.47705
0:01:01 INF [archive:write] - Finished z13 in 5s cpu:19s avg:4, now starting z14
0:01:04 DEB [archive:write] - Shallow tiles written: 4,115,012
0:01:04 DEB [archive:write] - Tile data written: 18,079 (100% omitted)
0:01:04 DEB [archive:write] - Unique tile hashes: 9,230
0:01:04 INF [archive:write] - Finished z14 in 4s cpu:10s avg:2.9
0:01:04 DEB [archive:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:04 DEB [archive:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:04 DEB [archive:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:04 DEB [archive:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:04 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:04 DEB [archive:write] - Set mbtiles metadata: version=3.14.0
0:01:04 DEB [archive:write] - Set mbtiles metadata: type=baselayer
0:01:04 DEB [archive:write] - Set mbtiles metadata: format=pbf
0:01:04 DEB [archive:write] - Set mbtiles metadata: minzoom=0
0:01:04 DEB [archive:write] - Set mbtiles metadata: maxzoom=14
0:01:04 DEB [archive:write] - Set mbtiles metadata: json={"vector_layers":[{"id":"aerodrome_label","fields":{"class":"String","ele":"Number","ele_ft":"Number","iata":"String","icao":"String","name":"String","name:en":"String","name:latin":"String","name_de":"String","name_en":"String","name_int":"String"},"minzoom":10,"maxzoom":14},{"id":"aeroway","fields":{"class":"String","ref":"String"},"minzoom":10,"maxzoom":14},{"id":"boundary","fields":{"admin_level":"Number","disputed":"Number","maritime":"Number"},"minzoom":0,"maxzoom":14},{"id":"building","fields":{"colour":"String","hide_3d":"Boolean","render_height":"Number","render_min_height":"Number"},"minzoom":13,"maxzoom":14},{"id":"housenumber","fields":{"housenumber":"String"},"minzoom":14,"maxzoom":14},{"id":"landcover","fields":{"class":"String","subclass":"String"},"minzoom":7,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"class":"String","customary_ft":"Number","ele":"Number","ele_ft":"Number","name":"String","name:la... 2465 more characters
0:01:04 DEB [archive:write] - Set mbtiles metadata: compression=gzip
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:buildtime=2024-01-21T01:36:35.853Z
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:githash=2b1ff27ae29e9448ac55a1f9cfee473392fe2562
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationseq=3947
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationtime=2024-01-19T21:20:40Z
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:osm:osmosisreplicationurl=http://download.geofabrik.de/north-america/us/rhode-island-updates
0:01:04 DEB [archive:write] - Set mbtiles metadata: planetiler:version=0.7-SNAPSHOT
0:01:04 INF [archive] -  features: [ 5.4M 100% 687k/s ] 280M  tiles: [ 4.1M 565k/s ] 107M 
    cpus: 3.4 gc:  2% heap: 2.8G/4.2G direct: 54M postGC: 603M
    read( -%) ->   (0/219) -> encode( -%  -%  -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://onthegomap.github.io/planetiler-demo/#14.5/43.55651/-17.83081
0:01:04 DEB [archive] - Tile stats:
0:01:04 DEB [archive] - Biggest tiles (gzipped)
1. 14/4942/6092 (153k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.40015 (poi:81k)
2. 9/154/190 (148k) https://onthegomap.github.io/planetiler-demo/#9.5/41.77078/-71.36719 (landcover:85k)
3. 10/308/380 (137k) https://onthegomap.github.io/planetiler-demo/#10.5/41.90214/-71.54297 (landcover:66k)
4. 10/308/381 (136k) 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:63k)
6. 14/4941/6093 (110k) https://onthegomap.github.io/planetiler-demo/#14.5/41.81227/-71.42212 (building:62k)
7. 14/4940/6092 (99k) https://onthegomap.github.io/planetiler-demo/#14.5/41.82864/-71.44409 (building:92k)
8. 11/616/762 (99k) https://onthegomap.github.io/planetiler-demo/#11.5/41.7057/-71.63086 (landcover:71k)
9. 11/616/761 (96k) https://onthegomap.github.io/planetiler-demo/#11.5/41.83679/-71.63086 (landcover:72k)
10. 14/4942/6091 (95k) https://onthegomap.github.io/planetiler-demo/#14.5/41.84501/-71.40015 (building:79k)
0:01:04 DEB [archive] - Max tile sizes
                      z0    z1    z2    z3    z4    z5    z6    z7    z8    z9   z10   z11   z12   z13   z14   all
           boundary  154   374   443   583   933   334   428   543   543  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   441   441   441   650   739    1k  1.7k  3.4k  5.9k  3.3k  1.7k   797   947  5.9k
            landuse    0     0     0     0   548   619  1.3k  5.9k   17k   44k   59k   50k   38k   19k   12k   59k
     transportation    0     0     0     0   464   915  1.2k    6k    8k   24k   17k   19k   64k   47k   33k   64k
           waterway    0     0     0     0   111   118     0     0     0  3.2k  2.1k  2.1k  2.1k  4.9k  2.4k  4.9k
               park    0     0     0     0     0     0    1k  3.8k  9.7k   18k   13k  7.7k  4.3k  3.4k  4.4k   18k
transportation_name    0     0     0     0     0     0   359   454  1.2k  1.7k  5.4k  4.6k  3.8k  3.4k   18k   18k
          landcover    0     0     0     0     0     0     0  9.5k   29k   85k   72k   81k   53k   30k   24k   85k
      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   486   461   433   452  1.2k  1.5k  1.5k
    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   81k   81k
           building    0     0     0     0     0     0     0     0     0     0     0     0     0   59k   92k   92k
        housenumber    0     0     0     0     0     0     0     0     0     0     0     0     0     0   35k   35k
          full tile 7.9k    4k  9.5k  6.5k  3.8k  6.1k   20k   41k   84k  203k  184k  135k  113k  127k  242k  242k
            gzipped 6.2k  3.5k  7.1k  5.2k  3.1k  4.9k   13k   29k   60k  148k  137k   99k   83k   91k  153k  153k
0:01:04 DEB [archive] -    Max tile: 242k (gzipped: 153k)
0:01:04 DEB [archive] -    Avg tile: 5.4k (gzipped: 4k) using weighted average based on OSM traffic
0:01:04 DEB [archive] -     # tiles: 4,115,012
0:01:04 DEB [archive] -  # features: 5,470,173
0:01:04 INF [archive] - Finished in 18s cpu:1m4s avg:3.6
0:01:04 INF [archive] -   read    1x(3% 0.5s wait:16s)
0:01:04 INF [archive] -   encode  4x(56% 10s wait:2s)
0:01:04 INF [archive] -   write   1x(21% 4s wait:12s)
0:01:04 INF - Finished in 1m5s cpu:3m18s avg:3.1
0:01:04 INF - FINISHED!
0:01:04 INF - 
0:01:04 INF - ----------------------------------------
0:01:04 INF - data errors:
0:01:04 INF - 	render_snap_fix_input	16,628
0:01:04 INF - 	osm_multipolygon_missing_way	74
0:01:04 INF - 	osm_boundary_missing_way	70
0:01:04 INF - 	merge_snap_fix_input	14
0:01:04 INF - 	feature_centroid_if_convex_osm_invalid_multipolygon_empty_after_fix	2
0:01:04 INF - 	feature_polygon_osm_invalid_multipolygon_empty_after_fix	2
0:01:04 INF - 	omt_park_area_osm_invalid_multipolygon_empty_after_fix	1
0:01:04 INF - ----------------------------------------
0:01:04 INF - 	overall          1m5s cpu:3m18s avg:3.1
0:01:04 INF - 	lake_centerlines 3s cpu:5s avg:2.1
0:01:04 INF - 	  read     1x(17% 0.5s done:2s)
0:01:04 INF - 	  process  4x(0% 0s done:2s)
0:01:04 INF - 	  write    1x(0% 0s done:2s)
0:01:04 INF - 	water_polygons   14s cpu:38s avg:2.7
0:01:04 INF - 	  read     1x(41% 6s done:7s)
0:01:04 INF - 	  process  4x(27% 4s wait:4s done:5s)
0:01:04 INF - 	  write    1x(4% 0.5s wait:9s done:5s)
0:01:04 INF - 	natural_earth    10s cpu:16s avg:1.6
0:01:04 INF - 	  read     1x(59% 6s done:4s)
0:01:04 INF - 	  process  4x(8% 0.8s wait:6s done:4s)
0:01:04 INF - 	  write    1x(0% 0s wait:6s done:4s)
0:01:04 INF - 	osm_pass1        2s cpu:6s avg:3.2
0:01:04 INF - 	  read     1x(2% 0s wait:2s)
0:01:04 INF - 	  parse    4x(32% 0.6s)
0:01:04 INF - 	  process  1x(71% 1s)
0:01:04 INF - 	osm_pass2        16s cpu:1m4s avg:3.9
0:01:04 INF - 	  read     1x(0% 0s wait:9s done:7s)
0:01:04 INF - 	  process  4x(76% 12s)
0:01:04 INF - 	  write    1x(2% 0.4s wait:16s)
0:01:04 INF - 	boundaries       0s cpu:0s avg:2.5
0:01:04 INF - 	agg_stop         0s cpu:0s avg:0
0:01:04 INF - 	sort             1s cpu:3s avg:2.6
0:01:04 INF - 	  worker  1x(53% 0.7s)
0:01:04 INF - 	archive          18s cpu:1m4s avg:3.6
0:01:04 INF - 	  read    1x(3% 0.5s wait:16s)
0:01:04 INF - 	  encode  4x(56% 10s wait:2s)
0:01:04 INF - 	  write   1x(21% 4s wait:12s)
0:01:04 INF - ----------------------------------------
0:01:04 INF - 	archive	107MB
0:01:04 INF - 	features	280MB
-rw-r--r-- 1 runner docker 66M Jan 21 01:38 run.jar

Copy link

sonarcloud bot commented Jan 21, 2024

@wipfli
Copy link
Contributor

wipfli commented Jan 21, 2024

Beautiful!

@wipfli
Copy link
Contributor

wipfli commented Jan 22, 2024

So if I have two layers, one called "landcover" and one called "climate zone", can I take the landcover polygons, intersect them with the climate zone polygons, and then tag the landcover polygons with the climate zone class that makes the biggest overlap?

@wipfli
Copy link
Contributor

wipfli commented Jan 22, 2024

Another use case I would like to try out for this: in some countries and regions there are not many road, but minzooms are usually done at a global level. So when you set minzooms that are good in Europe, the map might be quite empty in Africa. Could I use this new feature to compute road density in each tile and then drop roads accordingly?

@msbarry
Copy link
Contributor Author

msbarry commented Jan 23, 2024

You could definitely do the first one, just need to do some lower-level grouping by tags in java, then JTS operations. If it seems like a common pattern, we could pull it into a reusable utility in planetiler.

For the second one you could emit more roads then you need during process step, then filter them out based on # roads in a tile in postprocess, but I'd be concerned about discontinuities at the tile seams? How were you thinking of dropping based on road density?

@msbarry msbarry merged commit fa7bffb into main Jan 23, 2024
12 checks passed
@msbarry msbarry deleted the postprocess-tile branch January 23, 2024 12:08
@wipfli
Copy link
Contributor

wipfli commented Jan 24, 2024

Discontinuities will be there at tile boundaries, but I would still like to try it.

Filtering could look like this:

  • Define threshold of road nodes per tile
  • start with highway=motorway, if nodes below threshold, add these roads
  • continue with highway=primary, if total nodes including motorway nodes below threshold, add these roads
  • continue with highway=secondary etc...

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.

None yet

2 participants