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

Support zoom levels up to 15 #303

Merged
merged 8 commits into from
Jul 26, 2022
Merged

Support zoom levels up to 15 #303

merged 8 commits into from
Jul 26, 2022

Conversation

msbarry
Copy link
Contributor

@msbarry msbarry commented Jul 24, 2022

Followup on #266 to use new tile encoding and support setting maxzoom to 15 throughout. You can try it by setting --maxzoom=15 when running the basemap profile, but it won't do much until that profile defers rendering some features until after zoom level 14.

In the future, should let profiles influence the default value for some arguments so that a profile can say that it should always use z15.

Fixes #128

@github-actions
Copy link

github-actions bot commented Jul 24, 2022

Base a50c438 This Branch 3e1bf08
0:01:51 DEB [mbtiles] - Tile stats:
0:01:51 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:51 DEB [mbtiles] - z1 avg:4k max:4k
0:01:51 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:51 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:51 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:51 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:51 DEB [mbtiles] - z6 avg:973 max:22k
0:01:51 DEB [mbtiles] - z7 avg:751 max:55k
0:01:51 DEB [mbtiles] - z8 avg:395 max:112k
0:01:51 DEB [mbtiles] - z9 avg:270 max:278k
0:01:51 DEB [mbtiles] - z10 avg:154 max:233k
0:01:51 DEB [mbtiles] - z11 avg:102 max:132k
0:01:51 DEB [mbtiles] - z12 avg:83 max:119k
0:01:51 DEB [mbtiles] - z13 avg:71 max:109k
0:01:51 DEB [mbtiles] - z14 avg:67 max:276k
0:01:51 DEB [mbtiles] - all avg:69 max:0
0:01:51 DEB [mbtiles] -  # features: 5,296,099
0:01:51 DEB [mbtiles] -     # tiles: 4,115,450
0:01:51 INF [mbtiles] - Finished in 27s cpu:51s avg:1.9
0:01:51 INF [mbtiles] -   read    1x(3% 0.7s wait:26s)
0:01:51 INF [mbtiles] -   encode  2x(57% 15s wait:3s)
0:01:51 INF [mbtiles] -   write   1x(25% 7s wait:19s)
0:01:51 INF - Finished in 1m51s cpu:3m19s gc:4s avg:1.8
0:01:51 INF - FINISHED!
0:01:51 INF - 
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	overall          1m51s cpu:3m19s gc:4s avg:1.8
0:01:51 INF - 	lake_centerlines 2s cpu:4s avg:1.9
0:01:51 INF - 	  read     1x(82% 2s)
0:01:51 INF - 	  process  2x(13% 0.3s wait:2s)
0:01:51 INF - 	  write    1x(0% 0s wait:2s)
0:01:51 INF - 	water_polygons   27s cpu:47s gc:2s avg:1.8
0:01:51 INF - 	  read     1x(62% 17s sys:1s wait:2s)
0:01:51 INF - 	  process  2x(27% 7s wait:13s)
0:01:51 INF - 	  write    1x(2% 0.5s wait:26s)
0:01:51 INF - 	natural_earth    10s cpu:15s avg:1.5
0:01:51 INF - 	  read     1x(80% 8s sys:1s done:1s)
0:01:51 INF - 	  process  2x(17% 2s wait:7s done:1s)
0:01:51 INF - 	  write    1x(0% 0s wait:9s done:1s)
0:01:51 INF - 	osm_pass1        4s cpu:7s avg:1.8
0:01:51 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:51 INF - 	  parse    1x(72% 3s)
0:01:51 INF - 	  process  1x(36% 1s wait:2s)
0:01:51 INF - 	osm_pass2        32s cpu:1m3s avg:2
0:01:51 INF - 	  read     1x(0% 0s wait:15s done:17s)
0:01:51 INF - 	  process  2x(76% 24s)
0:01:51 INF - 	  write    1x(1% 0.4s wait:31s)
0:01:51 INF - 	boundaries       0.1s cpu:0.1s avg:1.5
0:01:51 INF - 	sort             2s cpu:3s avg:1.2
0:01:51 INF - 	  worker  1x(78% 2s)
0:01:51 INF - 	mbtiles          27s cpu:51s avg:1.9
0:01:51 INF - 	  read    1x(3% 0.7s wait:26s)
0:01:51 INF - 	  encode  2x(57% 15s wait:3s)
0:01:51 INF - 	  write   1x(25% 7s wait:19s)
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	features	270MB
0:01:51 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 56M Jul 26 11:47 run.jar
0:01:51 DEB [mbtiles] - Tile stats:
0:01:51 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:51 DEB [mbtiles] - z1 avg:4k max:4k
0:01:51 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:51 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:51 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:51 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:51 DEB [mbtiles] - z6 avg:973 max:22k
0:01:51 DEB [mbtiles] - z7 avg:751 max:55k
0:01:51 DEB [mbtiles] - z8 avg:395 max:112k
0:01:51 DEB [mbtiles] - z9 avg:270 max:278k
0:01:51 DEB [mbtiles] - z10 avg:154 max:233k
0:01:51 DEB [mbtiles] - z11 avg:102 max:132k
0:01:51 DEB [mbtiles] - z12 avg:83 max:119k
0:01:51 DEB [mbtiles] - z13 avg:71 max:109k
0:01:51 DEB [mbtiles] - z14 avg:67 max:276k
0:01:51 DEB [mbtiles] - all avg:69 max:0
0:01:51 DEB [mbtiles] -  # features: 5,296,099
0:01:51 DEB [mbtiles] -     # tiles: 4,115,450
0:01:51 INF [mbtiles] - Finished in 27s cpu:52s avg:1.9
0:01:51 INF [mbtiles] -   read    1x(2% 0.7s wait:26s)
0:01:51 INF [mbtiles] -   encode  2x(57% 15s wait:3s)
0:01:51 INF [mbtiles] -   write   1x(24% 7s wait:19s)
0:01:51 INF - Finished in 1m52s cpu:3m18s gc:4s avg:1.8
0:01:51 INF - FINISHED!
0:01:51 INF - 
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	overall          1m52s cpu:3m18s gc:4s avg:1.8
0:01:51 INF - 	lake_centerlines 2s cpu:4s avg:1.8
0:01:51 INF - 	  read     1x(80% 2s)
0:01:51 INF - 	  process  2x(13% 0.3s wait:2s)
0:01:51 INF - 	  write    1x(0% 0s wait:2s)
0:01:51 INF - 	water_polygons   25s cpu:45s gc:2s avg:1.8
0:01:51 INF - 	  read     1x(61% 16s wait:2s)
0:01:51 INF - 	  process  2x(29% 7s wait:12s)
0:01:51 INF - 	  write    1x(2% 0.5s wait:25s)
0:01:51 INF - 	natural_earth    9s cpu:14s avg:1.6
0:01:51 INF - 	  read     1x(85% 8s sys:1s)
0:01:51 INF - 	  process  2x(19% 2s wait:7s)
0:01:51 INF - 	  write    1x(0% 0s wait:8s)
0:01:51 INF - 	osm_pass1        4s cpu:6s avg:1.8
0:01:51 INF - 	  read     1x(3% 0.1s wait:3s)
0:01:51 INF - 	  parse    1x(75% 3s)
0:01:51 INF - 	  process  1x(37% 1s wait:2s)
0:01:51 INF - 	osm_pass2        32s cpu:1m2s avg:2
0:01:51 INF - 	  read     1x(0% 0s wait:15s done:17s)
0:01:51 INF - 	  process  2x(76% 24s)
0:01:51 INF - 	  write    1x(1% 0.4s wait:31s)
0:01:51 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:51 INF - 	sort             2s cpu:3s avg:1.3
0:01:51 INF - 	  worker  1x(70% 2s)
0:01:51 INF - 	mbtiles          27s cpu:52s avg:1.9
0:01:51 INF - 	  read    1x(2% 0.7s wait:26s)
0:01:51 INF - 	  encode  2x(57% 15s wait:3s)
0:01:51 INF - 	  write   1x(24% 7s wait:19s)
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	features	270MB
0:01:51 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 56M Jul 26 11:45 run.jar

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

ℹ️ Base Logs a50c438
0:00:00 DEB - argument: config=null (path to config file)
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 - Using in-memory stats
0:00:00 INF [overall] - 
0:00:00 INF [overall] - Starting...
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: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: minzoom=0 (minimum zoom level)
0:00:00 DEB - argument: maxzoom=14 (maximum zoom level (limit 14))
0:00:00 DEB - argument: render_maxzoom=14 (maximum rendering zoom level (limit 14))
0:00:00 DEB - argument: skip_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (optimize mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
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: 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: compact_db=true (Reduce the DB size by separating and deduping the tile data)
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: tmpdir=data/tmp (temp directory)
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: 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: 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: mbtiles=data/out.mbtiles (mbtiles output file)
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: 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: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_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 mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.1 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building BasemapProfile profile into 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 -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 195M storage on / (/dev/root) requested for read phase disk, 30G available
0:00:00 DEB -  - 43M used for temporary node location cache
0:00:00 DEB -  - 6.6M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 144M used for temporary feature storage
0:00:00 DEB - ✓ 217M storage on / (/dev/root) requested for write phase disk, 30G available
0:00:00 DEB -  - 144M used for temporary feature storage
0:00:00 DEB -  - 72M used for mbtiles output
0:00:00 DEB - ✓ 50M storage on / (/dev/root) requested for read phase, 30G available
0:00:00 DEB -  - 43M used for sparsearray node location cache
0:00:00 DEB -  - 6.6M used for multipolygon way geometries
0:00:00 DEB - ✓ 312M 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 -  - 12M used for temporary profile storage
0:00:00 DEB - ✓ 50M temporary files and 2.9G of free memory for OS to cache them
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:01 INF - dataFileCache open start
0:00:02 INF [lake_centerlines] - 
0:00:02 INF [lake_centerlines] - Starting...
0:00:04 INF [lake_centerlines] -  read: [  59k 100%  29k/s ] write: [    0    0/s ] 0    
    cpus: 1.8 gc:  4% heap: 161M/4.2G direct: 237k postGC: 73M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:04 INF [lake_centerlines] - Finished in 2s cpu:4s avg:1.9
0:00:04 INF [lake_centerlines] -   read     1x(82% 2s)
0:00:04 INF [lake_centerlines] -   process  2x(13% 0.3s wait:2s)
0:00:04 INF [lake_centerlines] -   write    1x(0% 0s wait:2s)
0:00:04 INF [water_polygons] - 
0:00:04 INF [water_polygons] - Starting...
0:00:14 INF [water_polygons] -  read: [ 2.1k  15%  211/s ] write: [  42k 4.1k/s ] 1.4G 
    cpus: 1.9 gc: 13% heap: 1.1G/4.2G direct: 52M postGC: 1.1G
    read(60%) ->    (0/1k) -> process(42%  7%) -> (391/53k) -> write( 0%)
0:00:24 INF [water_polygons] -  read: [ 4.8k  34%  271/s ] write: [ 299k  25k/s ] 1.4G 
    cpus: 1.8 gc:  7% heap: 1.9G/4.2G direct: 52M postGC: 1.6G
    read(68%) ->    (0/1k) -> process(33% 27%) -> (1.2k/53k) -> write( 0%)
0:00:30 INF [water_polygons] -  read: [  14k 100% 1.4k/s ] write: [ 4.3M 612k/s ] 186M 
    cpus: 1.5 gc:  6% heap: 3.1G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:30 INF [water_polygons] - Finished in 27s cpu:47s gc:2s avg:1.8
0:00:30 INF [water_polygons] -   read     1x(62% 17s sys:1s wait:2s)
0:00:30 INF [water_polygons] -   process  2x(27% 7s wait:13s)
0:00:30 INF [water_polygons] -   write    1x(2% 0.5s wait:26s)
0:00:30 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:36 INF [natural_earth] - 
0:00:36 INF [natural_earth] - Starting...
0:00:46 INF [natural_earth] -  read: [ 349k 100%  40k/s ] write: [  181   21/s ] 186M 
    cpus: 1.6 gc:  0% heap: 2.5G/4.2G direct: 52M postGC: 1.8G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] - Finished in 10s cpu:15s avg:1.5
0:00:46 INF [natural_earth] -   read     1x(80% 8s sys:1s done:1s)
0:00:46 INF [natural_earth] -   process  2x(17% 2s wait:7s done:1s)
0:00:46 INF [natural_earth] -   write    1x(0% 0s wait:9s done:1s)
0:00:46 INF [osm_pass1] - 
0:00:46 INF [osm_pass1] - Starting...
0:00:49 INF [osm_pass1:process] - Finished nodes: 4,605,648 (1.8M/s) in 2s cpu:4s avg:1.8
0:00:50 INF [osm_pass1:process] - Finished ways: 333,291 (321k/s) in 1s cpu:2s avg:2
0:00:50 INF [osm_pass1:process] - Finished relations: 7,760 (112k/s) in 0.1s cpu:0.1s avg:1.9
0:00:50 INF [osm_pass1] -  nodes: [ 4.6M 1.2M/s ] 419M  ways: [ 333k  90k/s ] rels: [ 7.7k   2k/s ] blocks: [  619  167/s ]
    cpus: 1.8 gc:  1% heap: 921M/4.2G direct: 52M postGC: 843M hppc: 879k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:50 DEB [osm_pass1] - Processed 619 blocks:
0:00:50 DEB [osm_pass1] -   nodes: 4,605,648 (1.8M/s) in 2s cpu:4s avg:1.8
0:00:50 DEB [osm_pass1] -   ways: 333,291 (321k/s) in 1s cpu:2s avg:2
0:00:50 DEB [osm_pass1] -   relations: 7,760 (112k/s) in 0.1s cpu:0.1s avg:1.9
0:00:50 INF [osm_pass1] - Finished in 4s cpu:7s avg:1.8
0:00:50 INF [osm_pass1] -   read     1x(2% 0.1s wait:3s)
0:00:50 INF [osm_pass1] -   parse    1x(72% 3s)
0:00:50 INF [osm_pass1] -   process  1x(36% 1s wait:2s)
0:00:50 INF [osm_pass2] - 
0:00:50 INF [osm_pass2] - Starting...
0:00:53 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:53 INF [osm_pass2:process] - Finished nodes: 4,605,648 (1.7M/s) in 3s cpu:5s avg:2
0:00:53 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:1.7
0:00:53 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:00 INF [osm_pass2] -  nodes: [ 4.6M 100% 459k/s ] 419M  ways: [ 160k  48%  16k/s ] rels: [    0   0%    0/s ] features: [ 4.9M  58k/s ] 1.6G  blocks: [  595  96%   59/s ]
    cpus: 2 gc:  0% heap: 2.4G/4.2G direct: 52M postGC: 853M relInfo: 829k mpGeoms: 649k 
    read( 0%) ->   (11/13) -> process(64% 64%) -> (1.6k/53k) -> write( 2%)
0:01:09 INF [osm_pass2:process] - Finished ways: 333,291 (19k/s) in 17s cpu:33s avg:2
0:01:10 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%  17k/s ] rels: [  995  13%   99/s ] features: [ 5.2M  35k/s ] 1.6G  blocks: [  618 100%    2/s ]
    cpus: 2 gc:  1% heap: 2.5G/4.2G direct: 52M postGC: 856M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(83% 82%) -> (1.1k/53k) -> write( 1%)
0:01:19 INF [osm_pass2:process] - Finished relations: 7,760 (802/s) in 10s cpu:19s avg:2
0:01:20 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%    0/s ] rels: [ 6.9k  90%  599/s ] features: [ 5.2M 2.7k/s ] 1.6G  blocks: [  619 100%   <1/s ]
    cpus: 2 gc:  1% heap: 1.8G/4.2G direct: 52M postGC: 852M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(83% 81%) -> (1.1k/53k) -> write( 0%)
0:01:22 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%    0/s ] rels: [ 7.7k 100%  484/s ] features: [ 5.2M   3k/s ] 270M  blocks: [  619 100%    0/s ]
    cpus: 1.9 gc:  1% heap: 1G/4.2G direct: 52M postGC: 850M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:22 DEB [osm_pass2] - Processed 619 blocks:
0:01:22 DEB [osm_pass2] -   nodes: 4,605,648 (1.7M/s) in 3s cpu:5s avg:2
0:01:22 DEB [osm_pass2] -   ways: 333,291 (19k/s) in 17s cpu:33s avg:2
0:01:22 DEB [osm_pass2] -   relations: 7,760 (802/s) in 10s cpu:19s avg:2
0:01:22 INF [osm_pass2] - Finished in 32s cpu:1m3s avg:2
0:01:22 INF [osm_pass2] -   read     1x(0% 0s wait:15s done:17s)
0:01:22 INF [osm_pass2] -   process  2x(76% 24s)
0:01:22 INF [osm_pass2] -   write    1x(1% 0.4s wait:31s)
0:01:22 INF [boundaries] - 
0:01:22 INF [boundaries] - Starting...
0:01:22 INF [boundaries] - Creating polygons for 1 boundaries
0:01:22 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:22 INF [boundaries] - Finished creating 0 country polygons
0:01:22 INF [boundaries] - Finished in 0.1s cpu:0.1s avg:1.5
0:01:22 INF - Deleting node.db to make room for output file
0:01:22 INF [sort] - 
0:01:22 INF [sort] - Starting...
0:01:22 INF [sort] - Grouped 8 chunks into 1
0:01:24 INF [sort] -  chunks: [   1 /   1 100% ] 270M 
    cpus: 1.2 gc:  0% heap: 1.5G/4.2G direct: 52M postGC: 850M
    ->     (0/3) -> worker(78%)
0:01:24 INF [sort] - Finished in 2s cpu:3s avg:1.2
0:01:24 INF [sort] -   worker  1x(78% 2s)
0:01:24 INF - read:0s write:0s sort:0s
0:01:24 INF [mbtiles] - 
0:01:24 INF [mbtiles] - Starting...
0:01:24 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:24 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.1
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:24 DEB [mbtiles: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"},"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":"String","name":"String"... 2244 more characters
0:01:26 INF [mbtiles:write] - Starting z0
0:01:26 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:26 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:26 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:26 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:26 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:26 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:26 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:26 INF [mbtiles:write] - Finished z7 in 0.2s cpu:0.3s avg:2, now starting z8
0:01:28 INF [mbtiles:write] - Finished z8 in 2s cpu:3s avg:2, now starting z9
0:01:29 INF [mbtiles:write] - Finished z9 in 0.7s cpu:1s avg:2, now starting z10
0:01:30 INF [mbtiles:write] - Finished z10 in 0.9s cpu:2s avg:2, now starting z11
0:01:31 INF [mbtiles:write] - Finished z11 in 1s cpu:3s avg:2, now starting z12
0:01:33 INF [mbtiles:write] - Finished z12 in 3s cpu:5s avg:2, now starting z13
0:01:34 INF [mbtiles] -  features: [ 542k  10%  54k/s ] 270M  tiles: [ 287k  28k/s ] 13M  
    cpus: 2 gc:  2% heap: 3.5G/4.2G direct: 52M postGC: 1.4G
    read( 1%) -> (214/217) -> encode(60% 60%) -> (215/216) -> write( 6%)
    last tile: 13/2464/3166 (z13 30.08561283349991%) https://www.openstreetmap.org/#map=13/37.78808/-71.71875
0:01:44 INF [mbtiles] -  features: [ 1.6M  30% 106k/s ] 270M  tiles: [ 981k  69k/s ] 33M  
    cpus: 2 gc:  3% heap: 2G/4.2G direct: 52M postGC: 1.4G
    read( 1%) -> (178/217) -> encode(64% 61%) -> (215/216) -> write(11%)
    last tile: 13/3616/3318 (z13 44.14788633584976%) https://www.openstreetmap.org/#map=13/32.32428/-21.09375
0:01:44 INF [mbtiles:write] - Finished z13 in 11s cpu:22s avg:2, now starting z14
0:01:51 DEB [mbtiles:write] - Shallow tiles written: 4,115,450
0:01:51 DEB [mbtiles:write] - Tile data written: 21,289 (99% omitted)
0:01:51 DEB [mbtiles:write] - Unique tile hashes: 11,282
0:01:51 INF [mbtiles:write] - Finished z14 in 7s cpu:12s avg:1.8
0:01:51 INF [mbtiles] -  features: [ 5.2M 100% 550k/s ] 270M  tiles: [ 4.1M 468k/s ] 108M 
    cpus: 1.8 gc:  2% heap: 3G/4.2G direct: 52M postGC: 1.4G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 45.04781886935234%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:01:51 DEB [mbtiles] - Tile stats:
0:01:51 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:51 DEB [mbtiles] - z1 avg:4k max:4k
0:01:51 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:51 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:51 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:51 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:51 DEB [mbtiles] - z6 avg:973 max:22k
0:01:51 DEB [mbtiles] - z7 avg:751 max:55k
0:01:51 DEB [mbtiles] - z8 avg:395 max:112k
0:01:51 DEB [mbtiles] - z9 avg:270 max:278k
0:01:51 DEB [mbtiles] - z10 avg:154 max:233k
0:01:51 DEB [mbtiles] - z11 avg:102 max:132k
0:01:51 DEB [mbtiles] - z12 avg:83 max:119k
0:01:51 DEB [mbtiles] - z13 avg:71 max:109k
0:01:51 DEB [mbtiles] - z14 avg:67 max:276k
0:01:51 DEB [mbtiles] - all avg:69 max:0
0:01:51 DEB [mbtiles] -  # features: 5,296,099
0:01:51 DEB [mbtiles] -     # tiles: 4,115,450
0:01:51 INF [mbtiles] - Finished in 27s cpu:51s avg:1.9
0:01:51 INF [mbtiles] -   read    1x(3% 0.7s wait:26s)
0:01:51 INF [mbtiles] -   encode  2x(57% 15s wait:3s)
0:01:51 INF [mbtiles] -   write   1x(25% 7s wait:19s)
0:01:51 INF - Finished in 1m51s cpu:3m19s gc:4s avg:1.8
0:01:51 INF - FINISHED!
0:01:51 INF - 
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	overall          1m51s cpu:3m19s gc:4s avg:1.8
0:01:51 INF - 	lake_centerlines 2s cpu:4s avg:1.9
0:01:51 INF - 	  read     1x(82% 2s)
0:01:51 INF - 	  process  2x(13% 0.3s wait:2s)
0:01:51 INF - 	  write    1x(0% 0s wait:2s)
0:01:51 INF - 	water_polygons   27s cpu:47s gc:2s avg:1.8
0:01:51 INF - 	  read     1x(62% 17s sys:1s wait:2s)
0:01:51 INF - 	  process  2x(27% 7s wait:13s)
0:01:51 INF - 	  write    1x(2% 0.5s wait:26s)
0:01:51 INF - 	natural_earth    10s cpu:15s avg:1.5
0:01:51 INF - 	  read     1x(80% 8s sys:1s done:1s)
0:01:51 INF - 	  process  2x(17% 2s wait:7s done:1s)
0:01:51 INF - 	  write    1x(0% 0s wait:9s done:1s)
0:01:51 INF - 	osm_pass1        4s cpu:7s avg:1.8
0:01:51 INF - 	  read     1x(2% 0.1s wait:3s)
0:01:51 INF - 	  parse    1x(72% 3s)
0:01:51 INF - 	  process  1x(36% 1s wait:2s)
0:01:51 INF - 	osm_pass2        32s cpu:1m3s avg:2
0:01:51 INF - 	  read     1x(0% 0s wait:15s done:17s)
0:01:51 INF - 	  process  2x(76% 24s)
0:01:51 INF - 	  write    1x(1% 0.4s wait:31s)
0:01:51 INF - 	boundaries       0.1s cpu:0.1s avg:1.5
0:01:51 INF - 	sort             2s cpu:3s avg:1.2
0:01:51 INF - 	  worker  1x(78% 2s)
0:01:51 INF - 	mbtiles          27s cpu:51s avg:1.9
0:01:51 INF - 	  read    1x(3% 0.7s wait:26s)
0:01:51 INF - 	  encode  2x(57% 15s wait:3s)
0:01:51 INF - 	  write   1x(25% 7s wait:19s)
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	features	270MB
0:01:51 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 56M Jul 26 11:47 run.jar
ℹ️ This Branch Logs 3e1bf08
0:00:00 DEB - argument: config=null (path to config file)
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 - Using in-memory stats
0:00:00 INF [overall] - 
0:00:00 INF [overall] - Starting...
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: feature_read_threads=1 (number of threads to use when reading features at tile write time)
0:00:00 DEB - argument: loginterval=10 seconds (time between logs)
0:00:00 DEB - argument: skip_mbtiles_index_creation=false (skip adding index to mbtiles file)
0:00:00 DEB - argument: optimize_db=false (optimize mbtiles after writing)
0:00:00 DEB - argument: emit_tiles_in_order=true (emit tiles in index order)
0:00:00 DEB - argument: force=false (overwriting output file and ignore disk/RAM warnings)
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: 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: compact_db=true (Reduce the DB size by separating and deduping the tile data)
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: tmpdir=data/tmp (temp directory)
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: 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: 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: mbtiles=data/out.mbtiles (mbtiles output file)
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: 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: mbtiles_name=OpenMapTiles ('name' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org ('description' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_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 mbtiles metadata)
0:00:00 DEB - argument: mbtiles_version=3.13.1 ('version' attribute for mbtiles metadata)
0:00:00 DEB - argument: mbtiles_type=baselayer ('type' attribute for mbtiles metadata)
0:00:00 DEB - argument: help=false (show arguments then exit)
0:00:00 INF - Building BasemapProfile profile into 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 -   mbtiles: Encode each tile and write to data/out.mbtiles
0:00:00 INF - no wikidata translations found, run with --fetch-wikidata to download
0:00:00 DEB - ✓ 195M storage on / (/dev/root) requested for read phase disk, 30G available
0:00:00 DEB -  - 43M used for temporary node location cache
0:00:00 DEB -  - 6.6M used for temporary multipolygon geometry cache
0:00:00 DEB -  - 144M used for temporary feature storage
0:00:00 DEB - ✓ 217M storage on / (/dev/root) requested for write phase disk, 30G available
0:00:00 DEB -  - 144M used for temporary feature storage
0:00:00 DEB -  - 72M used for mbtiles output
0:00:00 DEB - ✓ 50M storage on / (/dev/root) requested for read phase, 30G available
0:00:00 DEB -  - 43M used for sparsearray node location cache
0:00:00 DEB -  - 6.6M used for multipolygon way geometries
0:00:00 DEB - ✓ 312M 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 -  - 12M used for temporary profile storage
0:00:00 DEB - ✓ 50M temporary files and 2.9G of free memory for OS to cache them
0:00:00 INF - Using merge sort feature map, chunk size=1431mb max workers=2
0:00:02 INF - dataFileCache open start
0:00:02 INF [lake_centerlines] - 
0:00:02 INF [lake_centerlines] - Starting...
0:00:04 INF [lake_centerlines] -  read: [  59k 100%  29k/s ] write: [    0    0/s ] 0    
    cpus: 1.8 gc:  4% heap: 158M/4.2G direct: 237k postGC: 75M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:04 INF [lake_centerlines] - Finished in 2s cpu:4s avg:1.8
0:00:04 INF [lake_centerlines] -   read     1x(80% 2s)
0:00:04 INF [lake_centerlines] -   process  2x(13% 0.3s wait:2s)
0:00:04 INF [lake_centerlines] -   write    1x(0% 0s wait:2s)
0:00:04 INF [water_polygons] - 
0:00:04 INF [water_polygons] - Starting...
0:00:14 INF [water_polygons] -  read: [ 2.2k  15%  220/s ] write: [  47k 4.6k/s ] 1.4G 
    cpus: 2 gc: 12% heap: 1.1G/4.2G direct: 52M postGC: 985M
    read(60%) ->   (20/1k) -> process(18% 37%) -> (957/53k) -> write( 0%)
0:00:24 INF [water_polygons] -  read: [ 5.2k  36%  301/s ] write: [ 299k  25k/s ] 1.4G 
    cpus: 1.7 gc:  7% heap: 1.9G/4.2G direct: 52M postGC: 1.3G
    read(68%) ->    (0/1k) -> process(30% 27%) -> (1.2k/53k) -> write( 0%)
0:00:29 INF [water_polygons] -  read: [  14k 100% 1.7k/s ] write: [ 4.3M 742k/s ] 186M 
    cpus: 1.5 gc:  7% heap: 3G/4.2G direct: 52M postGC: 1.5G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:29 INF [water_polygons] - Finished in 25s cpu:45s gc:2s avg:1.8
0:00:29 INF [water_polygons] -   read     1x(61% 16s wait:2s)
0:00:29 INF [water_polygons] -   process  2x(29% 7s wait:12s)
0:00:29 INF [water_polygons] -   write    1x(2% 0.5s wait:25s)
0:00:29 INF [natural_earth] - unzipping /home/runner/work/planetiler/planetiler/data/sources/natural_earth_vector.sqlite.zip to data/tmp/natearth.sqlite
0:00:37 INF [natural_earth] - 
0:00:37 INF [natural_earth] - Starting...
0:00:46 INF [natural_earth] -  read: [ 349k 100%  41k/s ] write: [  181   21/s ] 186M 
    cpus: 1.6 gc:  0% heap: 2.1G/4.2G direct: 52M postGC: 1.6G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] - Finished in 9s cpu:14s avg:1.6
0:00:46 INF [natural_earth] -   read     1x(85% 8s sys:1s)
0:00:46 INF [natural_earth] -   process  2x(19% 2s wait:7s)
0:00:46 INF [natural_earth] -   write    1x(0% 0s wait:8s)
0:00:46 INF [osm_pass1] - 
0:00:46 INF [osm_pass1] - Starting...
0:00:49 INF [osm_pass1:process] - Finished nodes: 4,605,648 (1.9M/s) in 2s cpu:4s avg:1.7
0:00:49 INF [osm_pass1:process] - Finished ways: 333,291 (352k/s) in 0.9s cpu:2s avg:2
0:00:50 INF [osm_pass1:process] - Finished relations: 7,760 (105k/s) in 0.1s cpu:0.1s avg:2
0:00:50 INF [osm_pass1] -  nodes: [ 4.6M 1.3M/s ] 419M  ways: [ 333k  95k/s ] rels: [ 7.7k 2.2k/s ] blocks: [  619  176/s ]
    cpus: 1.8 gc:  1% heap: 903M/4.2G direct: 52M postGC: 848M hppc: 879k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:50 DEB [osm_pass1] - Processed 619 blocks:
0:00:50 DEB [osm_pass1] -   nodes: 4,605,648 (1.9M/s) in 2s cpu:4s avg:1.7
0:00:50 DEB [osm_pass1] -   ways: 333,291 (352k/s) in 0.9s cpu:2s avg:2
0:00:50 DEB [osm_pass1] -   relations: 7,760 (105k/s) in 0.1s cpu:0.1s avg:2
0:00:50 INF [osm_pass1] - Finished in 4s cpu:6s avg:1.8
0:00:50 INF [osm_pass1] -   read     1x(3% 0.1s wait:3s)
0:00:50 INF [osm_pass1] -   parse    1x(75% 3s)
0:00:50 INF [osm_pass1] -   process  1x(37% 1s wait:2s)
0:00:50 INF [osm_pass2] - 
0:00:50 INF [osm_pass2] - Starting...
0:00:52 INF [osm_pass2:process] - Finished nodes: 4,605,648 (1.9M/s) in 2s cpu:5s avg:2
0:00:52 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:52 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0.1s avg:2.2
0:00:52 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:00 INF [osm_pass2] -  nodes: [ 4.6M 100% 460k/s ] 419M  ways: [ 163k  49%  16k/s ] rels: [    0   0%    0/s ] features: [ 4.9M  59k/s ] 1.6G  blocks: [  595  96%   59/s ]
    cpus: 2 gc:  1% heap: 2.2G/4.2G direct: 52M postGC: 848M relInfo: 829k mpGeoms: 649k 
    read( 0%) ->   (11/13) -> process(64% 63%) -> (1.1k/53k) -> write( 2%)
0:01:09 INF [osm_pass2:process] - Finished ways: 333,291 (19k/s) in 17s cpu:34s avg:1.9
0:01:10 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%  16k/s ] rels: [  950  12%   94/s ] features: [ 5.2M  34k/s ] 1.6G  blocks: [  618 100%    2/s ]
    cpus: 1.9 gc:  1% heap: 1.8G/4.2G direct: 52M postGC: 854M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(82% 81%) -> (579/53k) -> write( 1%)
0:01:19 INF [osm_pass2:process] - Finished relations: 7,760 (809/s) in 10s cpu:19s avg:2
0:01:20 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%    0/s ] rels: [ 6.9k  90%  602/s ] features: [ 5.2M 2.7k/s ] 1.6G  blocks: [  619 100%   <1/s ]
    cpus: 2 gc:  1% heap: 884M/4.2G direct: 52M postGC: 848M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process(82% 83%) -> (900/53k) -> write( 0%)
0:01:21 INF [osm_pass2] -  nodes: [ 4.6M 100%    0/s ] 419M  ways: [ 333k 100%    0/s ] rels: [ 7.7k 100%  464/s ] features: [ 5.2M 2.8k/s ] 270M  blocks: [  619 100%    0/s ]
    cpus: 2 gc:  0% heap: 3G/4.2G direct: 52M postGC: 848M relInfo: 829k mpGeoms: 19M  
    read( -%) ->    (0/13) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:21 DEB [osm_pass2] - Processed 619 blocks:
0:01:21 DEB [osm_pass2] -   nodes: 4,605,648 (1.9M/s) in 2s cpu:5s avg:2
0:01:21 DEB [osm_pass2] -   ways: 333,291 (19k/s) in 17s cpu:34s avg:1.9
0:01:21 DEB [osm_pass2] -   relations: 7,760 (809/s) in 10s cpu:19s avg:2
0:01:21 INF [osm_pass2] - Finished in 32s cpu:1m2s avg:2
0:01:21 INF [osm_pass2] -   read     1x(0% 0s wait:15s done:17s)
0:01:21 INF [osm_pass2] -   process  2x(76% 24s)
0:01:21 INF [osm_pass2] -   write    1x(1% 0.4s wait:31s)
0:01:21 INF [boundaries] - 
0:01:21 INF [boundaries] - Starting...
0:01:21 INF [boundaries] - Creating polygons for 1 boundaries
0:01:21 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:21 INF [boundaries] - Finished creating 0 country polygons
0:01:21 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.8
0:01:21 INF - Deleting node.db to make room for output file
0:01:21 INF [sort] - 
0:01:21 INF [sort] - Starting...
0:01:21 INF [sort] - Grouped 8 chunks into 1
0:01:24 INF [sort] -  chunks: [   1 /   1 100% ] 270M 
    cpus: 1.3 gc:  9% heap: 968M/4.2G direct: 52M postGC: 888M
    ->     (0/3) -> worker( -%)
0:01:24 INF [sort] - Finished in 2s cpu:3s avg:1.3
0:01:24 INF [sort] -   worker  1x(70% 2s)
0:01:24 INF - read:0s write:0s sort:0s
0:01:24 INF [mbtiles] - 
0:01:24 INF [mbtiles] - Starting...
0:01:24 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:24 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Execute mbtiles: create table tiles_data (
  tile_data_id integer primary key,
  tile_data blob
)

0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:24 DEB [mbtiles: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:24 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.1
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:24 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:24 DEB [mbtiles: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"},"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":"String","name":"String"... 2244 more characters
0:01:26 INF [mbtiles:write] - Starting z0
0:01:26 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:11.1, now starting z1
0:01:26 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:26 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:26 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:26 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:26 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:26 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:3.3, now starting z7
0:01:26 INF [mbtiles:write] - Finished z7 in 0.6s cpu:1s avg:2, now starting z8
0:01:28 INF [mbtiles:write] - Finished z8 in 1s cpu:3s avg:2, now starting z9
0:01:28 INF [mbtiles:write] - Finished z9 in 0.8s cpu:2s avg:2, now starting z10
0:01:29 INF [mbtiles:write] - Finished z10 in 0.9s cpu:2s avg:2, now starting z11
0:01:31 INF [mbtiles:write] - Finished z11 in 1s cpu:2s avg:2, now starting z12
0:01:33 INF [mbtiles:write] - Finished z12 in 3s cpu:5s avg:2, now starting z13
0:01:34 INF [mbtiles] -  features: [ 538k  10%  53k/s ] 270M  tiles: [ 287k  28k/s ] 13M  
    cpus: 2 gc:  2% heap: 1.6G/4.2G direct: 52M postGC: 1.2G
    read( 1%) -> (214/217) -> encode(58% 62%) -> (215/216) -> write( 6%)
    last tile: 13/2464/3166 (z13 4%) https://www.openstreetmap.org/#map=13/37.78808/-71.71875
0:01:44 INF [mbtiles] -  features: [ 1.3M  25%  78k/s ] 270M  tiles: [ 739k  45k/s ] 28M  
    cpus: 2 gc:  2% heap: 1.6G/4.2G direct: 52M postGC: 1.1G
    read( 1%) -> (202/217) -> encode(62% 61%) -> (215/216) -> write( 7%)
    last tile: 13/3212/3154 (z13 63%) https://www.openstreetmap.org/#map=13/38.20366/-38.84766
0:01:45 INF [mbtiles:write] - Finished z13 in 12s cpu:23s avg:2, now starting z14
0:01:51 DEB [mbtiles:write] - Shallow tiles written: 4,115,450
0:01:51 DEB [mbtiles:write] - Tile data written: 21,281 (99% omitted)
0:01:51 DEB [mbtiles:write] - Unique tile hashes: 11,274
0:01:51 INF [mbtiles:write] - Finished z14 in 6s cpu:11s avg:1.7
0:01:51 INF [mbtiles] -  features: [ 5.2M 100% 552k/s ] 270M  tiles: [ 4.1M 469k/s ] 108M 
    cpus: 1.8 gc:  2% heap: 3G/4.2G direct: 52M postGC: 1.1G
    read( -%) ->   (0/217) -> encode( -%  -%) ->   (0/216) -> write( -%)
    last tile: 14/7380/5985 (z14 100%) https://www.openstreetmap.org/#map=14/43.56447/-17.84180
0:01:51 DEB [mbtiles] - Tile stats:
0:01:51 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:51 DEB [mbtiles] - z1 avg:4k max:4k
0:01:51 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:51 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:51 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:51 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:51 DEB [mbtiles] - z6 avg:973 max:22k
0:01:51 DEB [mbtiles] - z7 avg:751 max:55k
0:01:51 DEB [mbtiles] - z8 avg:395 max:112k
0:01:51 DEB [mbtiles] - z9 avg:270 max:278k
0:01:51 DEB [mbtiles] - z10 avg:154 max:233k
0:01:51 DEB [mbtiles] - z11 avg:102 max:132k
0:01:51 DEB [mbtiles] - z12 avg:83 max:119k
0:01:51 DEB [mbtiles] - z13 avg:71 max:109k
0:01:51 DEB [mbtiles] - z14 avg:67 max:276k
0:01:51 DEB [mbtiles] - all avg:69 max:0
0:01:51 DEB [mbtiles] -  # features: 5,296,099
0:01:51 DEB [mbtiles] -     # tiles: 4,115,450
0:01:51 INF [mbtiles] - Finished in 27s cpu:52s avg:1.9
0:01:51 INF [mbtiles] -   read    1x(2% 0.7s wait:26s)
0:01:51 INF [mbtiles] -   encode  2x(57% 15s wait:3s)
0:01:51 INF [mbtiles] -   write   1x(24% 7s wait:19s)
0:01:51 INF - Finished in 1m52s cpu:3m18s gc:4s avg:1.8
0:01:51 INF - FINISHED!
0:01:51 INF - 
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	overall          1m52s cpu:3m18s gc:4s avg:1.8
0:01:51 INF - 	lake_centerlines 2s cpu:4s avg:1.8
0:01:51 INF - 	  read     1x(80% 2s)
0:01:51 INF - 	  process  2x(13% 0.3s wait:2s)
0:01:51 INF - 	  write    1x(0% 0s wait:2s)
0:01:51 INF - 	water_polygons   25s cpu:45s gc:2s avg:1.8
0:01:51 INF - 	  read     1x(61% 16s wait:2s)
0:01:51 INF - 	  process  2x(29% 7s wait:12s)
0:01:51 INF - 	  write    1x(2% 0.5s wait:25s)
0:01:51 INF - 	natural_earth    9s cpu:14s avg:1.6
0:01:51 INF - 	  read     1x(85% 8s sys:1s)
0:01:51 INF - 	  process  2x(19% 2s wait:7s)
0:01:51 INF - 	  write    1x(0% 0s wait:8s)
0:01:51 INF - 	osm_pass1        4s cpu:6s avg:1.8
0:01:51 INF - 	  read     1x(3% 0.1s wait:3s)
0:01:51 INF - 	  parse    1x(75% 3s)
0:01:51 INF - 	  process  1x(37% 1s wait:2s)
0:01:51 INF - 	osm_pass2        32s cpu:1m2s avg:2
0:01:51 INF - 	  read     1x(0% 0s wait:15s done:17s)
0:01:51 INF - 	  process  2x(76% 24s)
0:01:51 INF - 	  write    1x(1% 0.4s wait:31s)
0:01:51 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:51 INF - 	sort             2s cpu:3s avg:1.3
0:01:51 INF - 	  worker  1x(70% 2s)
0:01:51 INF - 	mbtiles          27s cpu:52s avg:1.9
0:01:51 INF - 	  read    1x(2% 0.7s wait:26s)
0:01:51 INF - 	  encode  2x(57% 15s wait:3s)
0:01:51 INF - 	  write   1x(24% 7s wait:19s)
0:01:51 INF - ----------------------------------------
0:01:51 INF - 	features	270MB
0:01:51 INF - 	mbtiles	108MB
-rw-r--r-- 1 runner docker 56M Jul 26 11:45 run.jar

@msbarry
Copy link
Contributor Author

msbarry commented Jul 25, 2022

Ran some tests comparing runtime for regular z14 basemap profile to a modified basemap profile where housenumbers and small buildings get deferred until z15:

Base (z14) This Branch (z15)
massachusetts (macbook)
0:00:44 INF -  features 558MB
0:00:44 INF -  mbtiles  188MB
0:00:47 INF -  features 798MB
0:00:47 INF -  mbtiles  310MB
australia (macbook)
0:01:38 INF -  features 3.5GB
0:01:38 INF -  mbtiles  1.3GB
0:03:04 INF -  features 8.5GB
0:03:04 INF -  mbtiles  3.1GB
planet (c6d.metal)
0:38:32 DEB [mbtiles] - Tile stats:
0:38:32 DEB [mbtiles] - z0 avg:67k max:67k
0:38:32 DEB [mbtiles] - z1 avg:157k max:179k
0:38:32 DEB [mbtiles] - z2 avg:299k max:540k
0:38:32 DEB [mbtiles] - z3 avg:104k max:501k
0:38:32 DEB [mbtiles] - z4 avg:42k max:507k
0:38:32 DEB [mbtiles] - z5 avg:23k max:530k
0:38:32 DEB [mbtiles] - z6 avg:12k max:340k
0:38:32 DEB [mbtiles] - z7 avg:13k max:698k
0:38:32 DEB [mbtiles] - z8 avg:8.1k max:565k
0:38:32 DEB [mbtiles] - z9 avg:5.7k max:459k
0:38:32 DEB [mbtiles] - z10 avg:2.6k max:318k
0:38:32 DEB [mbtiles] - z11 avg:1.2k max:181k
0:38:32 DEB [mbtiles] - z12 avg:732 max:209k
0:38:32 DEB [mbtiles] - z13 avg:388 max:266k
0:38:32 DEB [mbtiles] - z14 avg:361 max:1.8M
0:38:32 DEB [mbtiles] - all avg:410 max:0
0:38:32 DEB [mbtiles] -  # features: 2,419,747,029
0:38:32 DEB [mbtiles] -     # tiles: 267,675,360
0:38:32 INF - ----------------------------------------
0:38:32 INF - 	overall          38m33s cpu:27h3m47s gc:3m avg:42.1
0:38:32 INF - 	lake_centerlines 2s cpu:5s avg:2.6
0:38:32 INF - 	  read     1x(90% 2s)
0:38:32 INF - 	  process 62x(1% 0s wait:2s)
0:38:32 INF - 	  write    2x(0% 0s wait:2s)
0:38:32 INF - 	water_polygons   33s cpu:16m58s avg:30.4
0:38:32 INF - 	  read     1x(47% 16s sys:1s wait:15s done:2s)
0:38:32 INF - 	  process 62x(44% 15s wait:18s)
0:38:32 INF - 	  write    2x(59% 20s sys:3s wait:13s)
0:38:32 INF - 	natural_earth    9s cpu:25s avg:2.8
0:38:32 INF - 	  read     1x(92% 8s sys:1s)
0:38:32 INF - 	  process 62x(2% 0.1s wait:8s)
0:38:32 INF - 	  write    2x(0% 0s wait:9s)
0:38:32 INF - 	osm_pass1        1m45s cpu:1h29m59s gc:22s avg:51.3
0:38:32 INF - 	  read     1x(44% 47s sys:36s wait:23s done:6s)
0:38:32 INF - 	  process 63x(63% 1m7s sys:4s block:10s)
0:38:32 INF - 	osm_pass2        17m59s cpu:17h24m58s gc:1m34s avg:58.1
0:38:32 INF - 	  read     1x(5% 59s sys:44s wait:15m53s done:40s)
0:38:32 INF - 	  process 62x(81% 14m36s sys:1s block:7s wait:18s)
0:38:32 INF - 	  write    2x(40% 7m8s sys:1m5s wait:8m48s)
0:38:32 INF - 	boundaries       18s cpu:24s avg:1.4
0:38:32 INF - 	sort             4m18s cpu:1h11m35s gc:15s avg:16.6
0:38:32 INF - 	  worker 29x(7% 17s sys:6s wait:2m51s done:22s)
0:38:32 INF - 	mbtiles          13m22s cpu:6h39m11s gc:48s avg:29.9
0:38:32 INF - 	  read    2x(28% 3m43s sys:1m20s wait:7m43s done:23s)
0:38:32 INF - 	  merge   1x(36% 4m52s sys:16s wait:7m27s done:10s)
0:38:32 INF - 	  encode 62x(39% 5m13s sys:18s wait:7m3s done:10s)
0:38:32 INF - 	  write   1x(81% 10m52s sys:1m15s wait:1m6s)
0:38:32 INF - ----------------------------------------
0:38:32 INF - 	features	184GB
0:38:32 INF - 	mbtiles	79GB
1:12:17 DEB [mbtiles] - Tile stats:
1:12:17 DEB [mbtiles] - z0 avg:67k max:67k
1:12:17 DEB [mbtiles] - z1 avg:157k max:179k
1:12:17 DEB [mbtiles] - z2 avg:300k max:541k
1:12:17 DEB [mbtiles] - z3 avg:105k max:503k
1:12:17 DEB [mbtiles] - z4 avg:42k max:512k
1:12:17 DEB [mbtiles] - z5 avg:23k max:536k
1:12:17 DEB [mbtiles] - z6 avg:12k max:346k
1:12:17 DEB [mbtiles] - z7 avg:13k max:698k
1:12:17 DEB [mbtiles] - z8 avg:8.2k max:565k
1:12:17 DEB [mbtiles] - z9 avg:5.7k max:459k
1:12:17 DEB [mbtiles] - z10 avg:2.6k max:318k
1:12:17 DEB [mbtiles] - z11 avg:1.3k max:181k
1:12:17 DEB [mbtiles] - z12 avg:737 max:209k
1:12:17 DEB [mbtiles] - z13 avg:391 max:266k
1:12:17 DEB [mbtiles] - z14 avg:268 max:913k
1:12:17 DEB [mbtiles] - z15 avg:167 max:657k
1:12:17 DEB [mbtiles] - all avg:212 max:0
1:12:17 DEB [mbtiles] -  # features: 4,113,989,574
1:12:17 DEB [mbtiles] -     # tiles: 1,048,518,052
1:12:17 INF - ----------------------------------------
1:12:17 INF -  overall          1h12m18s cpu:34h20m39s gc:7m3s avg:28.5
1:12:17 INF -  lake_centerlines 2s cpu:8s avg:3.7
1:12:17 INF -    read     1x(85% 2s)
1:12:17 INF -    process 62x(1% 0s wait:2s)
1:12:17 INF -    write    2x(0% 0s wait:2s)
1:12:17 INF -  water_polygons   1m36s cpu:30m42s gc:5s avg:19.1
1:12:17 INF -    read     1x(15% 14s wait:1m9s done:9s)
1:12:17 INF -    process 62x(25% 24s wait:1m8s)
1:12:17 INF -    write    2x(91% 1m28s sys:11s wait:3s)
1:12:17 INF -  natural_earth    9s cpu:23s avg:2.4
1:12:17 INF -    read     1x(92% 9s)
1:12:17 INF -    process 62x(1% 0.1s wait:9s)
1:12:17 INF -    write    2x(0% 0s wait:9s)
1:12:17 INF -  osm_pass1        2m26s cpu:1h54m42s gc:56s avg:47.3
1:12:17 INF -    read     1x(0% 0.5s wait:2m13s done:12s)
1:12:17 INF -    process 63x(52% 1m15s sys:8s block:9s wait:4s done:1s)
1:12:17 INF -  osm_pass2        21m33s cpu:20h33m23s gc:1m53s avg:57.2
1:12:17 INF -    read     1x(0% 1s wait:19m59s done:1m32s)
1:12:17 INF -    process 62x(85% 18m25s sys:27s block:7s wait:8s done:1s)
1:12:17 INF -    write    2x(41% 8m53s sys:1m35s wait:11m53s)
1:12:17 INF -  boundaries       25s cpu:39s gc:3s avg:1.6
1:12:17 INF -  sort             6m55s cpu:2h6m28s gc:2m52s avg:18.3
1:12:17 INF -    worker  4x(44% 3m2s sys:46s wait:32s done:1s)
1:12:17 INF -  mbtiles          38m52s cpu:9h13m49s gc:1m13s avg:14.3
1:12:17 INF -    read    2x(10% 4m3s sys:48s wait:33m31s done:19s)
1:12:17 INF -    merge   1x(15% 5m47s sys:6s wait:32m27s done:3s)
1:12:17 INF -    encode 62x(19% 7m20s wait:30m52s done:2s)
1:12:17 INF -    write   1x(94% 36m31s sys:2m16s wait:1m4s)
1:12:17 INF - ----------------------------------------
1:12:17 INF -  features 316GB
1:12:17 INF -  mbtiles  150GB

@msbarry
Copy link
Contributor Author

msbarry commented Jul 26, 2022

The major bottleneck appears to be single-threaded mbtiles writes... for comparison if you switch the schema to just have a single integer primary key for each tile instead of x/y/z then it looks like this:

0:52:39 INF - ----------------------------------------
0:52:39 INF -  overall          52m40s cpu:32h21m21s gc:4m51s avg:36.9
0:52:39 INF -  lake_centerlines 2s cpu:5s avg:2.5
0:52:39 INF -    read     1x(89% 2s)
0:52:39 INF -    process 62x(1% 0s wait:2s)
0:52:39 INF -    write    2x(0% 0s wait:2s)
0:52:39 INF -  water_polygons   1m27s cpu:30m15s gc:5s avg:20.8
0:52:39 INF -    read     1x(17% 15s wait:1m1s done:8s)
0:52:39 INF -    process 62x(27% 24s wait:59s)
0:52:39 INF -    write    2x(89% 1m18s sys:12s wait:4s)
0:52:39 INF -  natural_earth    9s cpu:25s avg:2.7
0:52:39 INF -    read     1x(91% 8s sys:1s)
0:52:39 INF -    process 62x(2% 0.2s wait:8s)
0:52:39 INF -    write    2x(0% 0s wait:9s)
0:52:39 INF -  osm_pass1        2m18s cpu:1h51m8s gc:46s avg:48.4
0:52:39 INF -    read     1x(1% 0.9s wait:1m59s done:14s)
0:52:39 INF -    process 63x(57% 1m18s sys:8s block:10s wait:2s done:1s)
0:52:39 INF -  osm_pass2        20m40s cpu:19h37m22s gc:1m53s avg:57
0:52:39 INF -    read     1x(0% 1s wait:19m9s done:1m30s)
0:52:39 INF -    process 62x(85% 17m31s sys:27s block:7s wait:8s done:1s)
0:52:39 INF -    write    2x(45% 9m14s sys:1m38s wait:10m36s)
0:52:39 INF -  boundaries       21s cpu:32s avg:1.5
0:52:39 INF -  sort             3m47s cpu:1h21m14s gc:59s avg:21.5
0:52:39 INF -    worker  8x(40% 1m32s sys:24s wait:24s)
0:52:39 INF -  mbtiles          23m34s cpu:8h59m54s gc:1m7s avg:22.9
0:52:39 INF -    read    2x(19% 4m24s sys:47s wait:17m50s done:9s)
0:52:39 INF -    merge   1x(25% 5m52s sys:8s wait:17m4s done:2s)
0:52:39 INF -    encode 62x(31% 7m24s wait:15m27s done:1s)
0:52:39 INF -    write   1x(90% 21m9s sys:1m55s wait:1m6s)
0:52:39 INF - ----------------------------------------
0:52:39 INF -  features 316GB
0:52:39 INF -  mbtiles  145GB

Native pmtiles output (#98) would be even faster.

@sonarcloud
Copy link

sonarcloud bot commented Jul 26, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

93.4% 93.4% Coverage
0.0% 0.0% Duplication

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.

[FEATURE] Support zoom-levels higher than 14
1 participant