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 newlines to OpenMapTiles table #109

Closed
wants to merge 1 commit into from

Conversation

wipfli
Copy link
Contributor

@wipfli wipfli commented Mar 4, 2022

Adds newlines to the OpenMapTiles table file. My motivation for this is to simplify customization of the basemap profile. For example, with the hot-air balloon I often land in places where it matters if the highway=track has tracktype=grade1 or tracktype=grade5. The tracktype tag is not part of OMT, so I added it manually to the basemap profile. It is super fun to customize the tiles like this. After this pull request, adding new tags will only insert a new line and result in a simpler git diff. Merging upstream changes will also be easier.

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

This pull request should only insert new lines, i.e., it should only have whitespace changes.

@github-actions
Copy link

github-actions bot commented Mar 4, 2022

Base e93ff79 This Branch 1e76e6f
0:01:50 DEB [mbtiles] - Tile stats:
0:01:50 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:50 DEB [mbtiles] - z1 avg:4k max:4k
0:01:50 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:50 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:50 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:50 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:50 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:50 DEB [mbtiles] - z7 avg:896 max:33k
0:01:50 DEB [mbtiles] - z8 avg:365 max:48k
0:01:50 DEB [mbtiles] - z9 avg:296 max:278k
0:01:50 DEB [mbtiles] - z10 avg:164 max:232k
0:01:50 DEB [mbtiles] - z11 avg:107 max:131k
0:01:50 DEB [mbtiles] - z12 avg:85 max:118k
0:01:50 DEB [mbtiles] - z13 avg:72 max:109k
0:01:50 DEB [mbtiles] - z14 avg:68 max:257k
0:01:50 DEB [mbtiles] - all avg:70 max:0
0:01:50 DEB [mbtiles] -  # features: 5,276,186
0:01:50 DEB [mbtiles] -     # tiles: 4,115,465
0:01:50 INF [mbtiles] - Finished in 26s cpu:47s gc:1s avg:1.8
0:01:50 INF [mbtiles] -   read    1x(8% 2s wait:20s)
0:01:50 INF [mbtiles] -   encode  2x(45% 12s wait:7s)
0:01:50 INF [mbtiles] -   write   1x(37% 10s sys:1s wait:13s)
0:01:50 INF - Finished in 1m51s cpu:3m14s gc:4s avg:1.8
0:01:50 INF - FINISHED!

0:01:50 INF - ----------------------------------------
0:01:50 INF - 	overall          1m51s cpu:3m14s gc:4s avg:1.8
0:01:50 INF - 	lake_centerlines 0.7s cpu:1s avg:1.6
0:01:50 INF - 	water_polygons   27s cpu:47s gc:3s avg:1.8
0:01:50 INF - 	  read     1x(60% 16s wait:3s)
0:01:50 INF - 	  process  2x(26% 7s wait:13s)
0:01:50 INF - 	  write    1x(4% 1s wait:26s)
0:01:50 INF - 	natural_earth    10s cpu:16s avg:1.5
0:01:50 INF - 	  read     1x(89% 9s sys:1s)
0:01:50 INF - 	  process  2x(18% 2s wait:9s)
0:01:50 INF - 	  write    1x(0% 0s wait:10s)
0:01:50 INF - 	osm_pass1        4s cpu:7s avg:1.9
0:01:50 INF - 	  read     1x(2% 0.1s wait:4s)
0:01:50 INF - 	  parse    1x(70% 3s)
0:01:50 INF - 	  process  1x(33% 1s wait:2s)
0:01:50 INF - 	osm_pass2        30s cpu:1m avg:2
0:01:50 INF - 	  read     1x(0% 0s wait:4s done:26s)
0:01:50 INF - 	  process  2x(77% 23s)
0:01:50 INF - 	  write    1x(1% 0.4s wait:30s)
0:01:50 INF - 	boundaries       0s cpu:0.1s avg:1.2
0:01:50 INF - 	sort             4s cpu:5s avg:1.3
0:01:50 INF - 	  worker  2x(43% 2s done:2s)
0:01:50 INF - 	mbtiles          26s cpu:47s gc:1s avg:1.8
0:01:50 INF - 	  read    1x(8% 2s wait:20s)
0:01:50 INF - 	  encode  2x(45% 12s wait:7s)
0:01:50 INF - 	  write   1x(37% 10s sys:1s wait:13s)
0:01:50 INF - ----------------------------------------
0:01:50 INF - 	features	268MB
0:01:50 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  4 09:43 run.jar
0:01:52 DEB [mbtiles] - Tile stats:
0:01:52 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:52 DEB [mbtiles] - z1 avg:4k max:4k
0:01:52 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:52 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:52 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:52 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:52 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:52 DEB [mbtiles] - z7 avg:896 max:33k
0:01:52 DEB [mbtiles] - z8 avg:365 max:48k
0:01:52 DEB [mbtiles] - z9 avg:295 max:278k
0:01:52 DEB [mbtiles] - z10 avg:164 max:232k
0:01:52 DEB [mbtiles] - z11 avg:107 max:131k
0:01:52 DEB [mbtiles] - z12 avg:85 max:118k
0:01:52 DEB [mbtiles] - z13 avg:72 max:109k
0:01:52 DEB [mbtiles] - z14 avg:68 max:257k
0:01:52 DEB [mbtiles] - all avg:70 max:0
0:01:52 DEB [mbtiles] -  # features: 5,276,186
0:01:52 DEB [mbtiles] -     # tiles: 4,115,465
0:01:52 INF [mbtiles] - Finished in 27s cpu:48s avg:1.8
0:01:52 INF [mbtiles] -   read    1x(7% 2s wait:22s)
0:01:52 INF [mbtiles] -   encode  2x(44% 12s wait:7s)
0:01:52 INF [mbtiles] -   write   1x(37% 10s sys:1s wait:14s)
0:01:52 INF - Finished in 1m52s cpu:3m14s gc:4s avg:1.7
0:01:52 INF - FINISHED!

0:01:52 INF - ----------------------------------------
0:01:52 INF - 	overall          1m52s cpu:3m14s gc:4s avg:1.7
0:01:52 INF - 	lake_centerlines 0.6s cpu:0.9s avg:1.6
0:01:52 INF - 	water_polygons   26s cpu:46s gc:2s avg:1.8
0:01:52 INF - 	  read     1x(60% 16s wait:2s)
0:01:52 INF - 	  process  2x(26% 7s wait:13s)
0:01:52 INF - 	  write    1x(4% 1s wait:25s)
0:01:52 INF - 	natural_earth    9s cpu:15s avg:1.6
0:01:52 INF - 	  read     1x(89% 8s sys:1s)
0:01:52 INF - 	  process  2x(20% 2s wait:8s)
0:01:52 INF - 	  write    1x(0% 0s wait:9s)
0:01:52 INF - 	osm_pass1        4s cpu:7s avg:1.9
0:01:52 INF - 	  read     1x(3% 0.1s wait:3s)
0:01:52 INF - 	  process  1x(40% 1s wait:2s)
0:01:52 INF - 	  parse    1x(69% 2s)
0:01:52 INF - 	osm_pass2        31s cpu:1m1s avg:2
0:01:52 INF - 	  read     1x(0% 0s wait:4s done:27s)
0:01:52 INF - 	  process  2x(75% 23s)
0:01:52 INF - 	  write    1x(1% 0.4s wait:30s)
0:01:52 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:52 INF - 	sort             4s cpu:5s avg:1.2
0:01:52 INF - 	  worker  2x(42% 2s done:2s)
0:01:52 INF - 	mbtiles          27s cpu:48s avg:1.8
0:01:52 INF - 	  read    1x(7% 2s wait:22s)
0:01:52 INF - 	  encode  2x(44% 12s wait:7s)
0:01:52 INF - 	  write   1x(37% 10s sys:1s wait:14s)
0:01:52 INF - ----------------------------------------
0:01:52 INF - 	features	268MB
0:01:52 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  4 09:41 run.jar

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

ℹ️ Base Logs e93ff79
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] - Starting...
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: threads=2 (num threads)
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: defer_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: 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=sortedtable (type of node location map: noop, sortedtable, or sparsearray)
0:00:00 DEB - argument: nodemap_storage=mmap (storage for location map: mmap or ram)
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: 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=false (Read OSM blocks from disk in worker threads)
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: 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: 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.0 ('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 - error loading /home/runner/work/planetiler/planetiler/data/sources/wikidata_names.json: java.nio.file.NoSuchFileException: data/sources/wikidata_names.json
0:00:00 INF - Using merge sort feature map, chunk size=1000mb workers=2
0:00:02 INF - dataFileCache open start

0:00:02 INF [lake_centerlines] - Starting...
0:00:03 INF [lake_centerlines] -  read: [  14k 100%  24k/s ] write: [    0    0/s ] 0    
    cpus: 1.5 gc:  0% mem: 164M/4.2G direct: 269k postGC: 45M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:03 INF [lake_centerlines] -  read: [  14k 100%    0/s ] write: [    0    0/s ] 0    
    cpus: 1.9 gc:  0% mem: 165M/4.2G direct: 269k postGC: 45M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:03 INF [lake_centerlines] - Finished in 0.7s cpu:1s avg:1.6
0:00:03 INF [lake_centerlines] -   read     1x(52% 0.4s)
0:00:03 INF [lake_centerlines] -   process  2x(13% 0.1s)
0:00:03 INF [lake_centerlines] -   write    1x(0% 0s)

0:00:03 INF [water_polygons] - Starting...
0:00:13 INF [water_polygons] -  read: [   2k  14%  205/s ] write: [  70k 6.9k/s ] 4M   
    cpus: 2 gc: 13% mem: 1.2G/4.2G direct: 52M postGC: 1.2G
    read(58%) ->    (0/1k) -> process(17% 36%) ->  (1k/53k) -> write( 0%)
0:00:23 INF [water_polygons] -  read: [ 5.1k  36%  308/s ] write: [ 299k  22k/s ] 15M  
    cpus: 1.6 gc:  8% mem: 2.7G/4.2G direct: 52M postGC: 1.7G
    read(71%) ->    (0/1k) -> process(17% 27%) -> (1.2k/53k) -> write( 1%)
0:00:30 INF [water_polygons] -  read: [  14k 100% 1.3k/s ] write: [ 4.3M 598k/s ] 186M 
    cpus: 1.6 gc:  7% mem: 3.2G/4.2G direct: 52M postGC: 1.9G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:30 INF [water_polygons] -  read: [  14k 100%    0/s ] write: [ 4.3M    0/s ] 186M 
    cpus: 2.9 gc:  0% mem: 3.2G/4.2G direct: 52M postGC: 1.9G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:30 INF [water_polygons] - Finished in 27s cpu:47s gc:3s avg:1.8
0:00:30 INF [water_polygons] -   read     1x(60% 16s wait:3s)
0:00:30 INF [water_polygons] -   process  2x(26% 7s wait:13s)
0:00:30 INF [water_polygons] -   write    1x(4% 1s 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:35 INF [natural_earth] - Starting...
0:00:46 INF [natural_earth] -  read: [ 349k 100%  36k/s ] write: [  181   18/s ] 186M 
    cpus: 1.5 gc:  0% mem: 2.2G/4.2G direct: 52M postGC: 1.9G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] -  read: [ 349k 100%    0/s ] write: [  181    0/s ] 186M 
    cpus: 2.6 gc:  0% mem: 2.2G/4.2G direct: 52M postGC: 1.9G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] - Finished in 10s cpu:16s avg:1.5
0:00:46 INF [natural_earth] -   read     1x(89% 9s sys:1s)
0:00:46 INF [natural_earth] -   process  2x(18% 2s wait:9s)
0:00:46 INF [natural_earth] -   write    1x(0% 0s wait:10s)

0:00:46 INF [osm_pass1] - Starting...
0:00:50 INF [osm_pass1] -  nodes: [ 4.5M 1.1M/s ] 353M  ways: [ 327k  83k/s ] rels: [ 7.4k 1.8k/s ] blocks: [  614  155/s ]
    cpus: 1.9 gc:  1% mem: 1G/4.2G direct: 52M postGC: 792M hppc: 880k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:50 DEB [osm_pass1] - processed blocks:614 nodes:4,573,794 ways:327,100 relations:7,400
0:00:50 INF [osm_pass1] - Finished in 4s cpu:7s avg:1.9
0:00:50 INF [osm_pass1] -   read     1x(2% 0.1s wait:4s)
0:00:50 INF [osm_pass1] -   parse    1x(70% 3s)
0:00:50 INF [osm_pass1] -   process  1x(33% 1s wait:2s)

0:00:50 INF [osm_pass2] - Starting...
0:00:54 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:54 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:1.8
0:00:54 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:00 INF [osm_pass2] -  nodes: [ 4.5M 100% 457k/s ] 353M  ways: [ 112k  34%  11k/s ] rels: [    0   0%    0/s ] features: [ 4.8M  49k/s ] 223M  blocks: [  586  95%   58/s ]
    cpus: 2 gc:  1% mem: 2.3G/4.2G direct: 52M postGC: 813M hppc: 1.5M
    read( -%) ->  (26/103) -> process(67% 69%) ->  (1k/53k) -> write( 2%)
0:01:10 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%  21k/s ] rels: [  845  11%   84/s ] features: [ 5.2M  43k/s ] 254M  blocks: [  613 100%    2/s ]
    cpus: 2 gc:  1% mem: 2.2G/4.2G direct: 52M postGC: 818M hppc:  29M
    read( -%) ->   (0/103) -> process(85% 79%) ->  (1k/53k) -> write( 2%)
0:01:20 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%    0/s ] rels: [ 7.2k  98%  638/s ] features: [ 5.2M 2.9k/s ] 267M  blocks: [  614 100%   <1/s ]
    cpus: 2 gc:  0% mem: 2G/4.2G direct: 52M postGC: 817M hppc:  29M
    read( -%) ->   (0/103) -> process(81% 83%) -> (1.1k/53k) -> write( 0%)
0:01:20 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%    0/s ] rels: [ 7.4k 100%   1k/s ] features: [ 5.2M  12k/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 1.8 gc:  0% mem: 2.1G/4.2G direct: 52M postGC: 817M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:20 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%    0/s ] rels: [ 7.4k 100%    0/s ] features: [ 5.2M    0/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 0 gc:  0% mem: 2.1G/4.2G direct: 52M postGC: 817M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:20 DEB [osm_pass2] - processed blocks:614 nodes:4,573,794 ways:327,100 relations:7,400
0:01:20 INF [osm_pass2] - Finished in 30s cpu:1m avg:2
0:01:20 INF [osm_pass2] -   read     1x(0% 0s wait:4s done:26s)
0:01:20 INF [osm_pass2] -   process  2x(77% 23s)
0:01:20 INF [osm_pass2] -   write    1x(1% 0.4s wait:30s)

0:01:20 INF [boundaries] - Starting...
0:01:20 INF [boundaries] - Creating polygons for 1 boundaries
0:01:20 WAR [boundaries] - Unable to form closed polygon for OSM relation 148838 (likely missing edges)
0:01:20 INF [boundaries] - Finished creating 0 country polygons
0:01:20 INF [boundaries] - Finished in 0s cpu:0.1s avg:1.2
0:01:20 INF - Deleting node.db to make room for output file

0:01:20 INF [sort] - Starting...
0:01:24 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 1.3 gc:  0% mem: 2.6G/4.2G direct: 52M postGC: 817M
    ->     (0/4) -> worker( -%  -%)
0:01:24 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 3.5 gc:  0% mem: 2.6G/4.2G direct: 52M postGC: 817M
    ->     (0/4) -> worker( -%  -%)
0:01:24 INF [sort] - Finished in 4s cpu:5s avg:1.3
0:01:24 INF [sort] -   worker  2x(43% 2s done:2s)
0:01:24 INF - read:1s write:1s sort:1s

0:01:24 INF [mbtiles] - Starting...
0:01:25 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:25 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:25 DEB [mbtiles:write] - Execute mbtiles: create table tiles (zoom_level integer, tile_column integer, tile_row, tile_data blob);
0:01:25 DEB [mbtiles:write] - Execute mbtiles: create unique index tile_index on tiles (zoom_level, tile_column, tile_row)
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:25 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:25 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.0
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:25 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:25 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","ele":"Number","name_en":"String","name:latin":"String"},"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","disputed_name":"String"},"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":8,"maxzoom":14},{"id":"landuse","fields":{"class":"String"},"minzoom":4,"maxzoom":14},{"id":"mountain_peak","fields":{"customary_ft":"Number","name_int":"String","ele_ft":"Number","name_de":"String","name":"String","rank":"Number","class":"String","ele":"Number","name_en":"String","name:latin":"String"},"minzoom":7,"maxzoom":14},{"id":"park","fields":{"name_int":"String","name_de":"String","name":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"place","fields":{"name:fy":"String","name_int":"String","capital":"Number","name:uk":"String","name:pl":"String","name:nl":"String","name:be":"String","name:ru":"String","name:ko":"String","name_de":"String","name":"String","rank":"Number","name:en":"String","name:eo":"String","class":"String","name:hu":"String","name:ta":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":2,"maxzoom":14},{"id":"poi","fields":{"name_int":"String","level":"Number","name:nonlatin":"String","layer":"Number","name_de":"String","name":"String","subclass":"String","indoor":"Number","name:en":"String","class":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":12,"maxzoom":14},{"id":"transportation","fields":{"brunnel":"String","access":"String","expressway":"Number","bicycle":"String","surface":"String","level":"Number","ramp":"Number","mtb_scale":"String","toll":"Number","layer":"Number","oneway":"Number","network":"String","horse":"String","service":"String","subclass":"String","class":"String","foot":"String"},"minzoom":4,"maxzoom":14},{"id":"transportation_name","fields":{"name_int":"String","name:nonlatin":"String","route_4":"String","route_3":"String","route_2":"String","route_1":"String","layer":"Number","network":"String","ref":"String","name_de":"String","name":"String","subclass":"String","ref_length":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"water","fields":{"intermittent":"Number","class":"String"},"minzoom":0,"maxzoom":14},{"id":"water_name","fields":{"name_int":"String","name:nonlatin":"String","name_de":"String","name":"String","intermittent":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":9,"maxzoom":14},{"id":"waterway","fields":{"name_int":"String","brunnel":"String","name_de":"String","_relid":"Number","intermittent":"Number","name":"String","class":"String","name:latin":"String","name_en":"String"},"minzoom":4,"maxzoom":14}]}
0:01:25 INF [mbtiles:write] - Starting z0
0:01:25 INF [mbtiles:write] - Finished z0 in 0s cpu:0s avg:0, now starting z1
0:01:25 INF [mbtiles:write] - Finished z1 in 0s cpu:0s avg:0, now starting z2
0:01:25 INF [mbtiles:write] - Finished z2 in 0s cpu:0s avg:0, now starting z3
0:01:25 INF [mbtiles:write] - Finished z3 in 0s cpu:0s avg:0, now starting z4
0:01:25 INF [mbtiles:write] - Finished z4 in 0s cpu:0s avg:0, now starting z5
0:01:25 INF [mbtiles:write] - Finished z5 in 0s cpu:0s avg:0, now starting z6
0:01:25 INF [mbtiles:write] - Finished z6 in 0s cpu:0s avg:0, now starting z7
0:01:25 INF [mbtiles:write] - Finished z7 in 0s cpu:0s avg:1.9, now starting z8
0:01:27 INF [mbtiles:write] - Finished z8 in 1s cpu:2s avg:2, now starting z9
0:01:28 INF [mbtiles:write] - Finished z9 in 1s cpu:2s avg:2, now starting z10
0:01:28 INF [mbtiles:write] - Finished z10 in 0.1s cpu:0.1s avg:2.1, now starting z11
0:01:28 INF [mbtiles:write] - Finished z11 in 0.7s cpu:1s avg:2, now starting z12
0:01:31 INF [mbtiles:write] - Finished z12 in 2s cpu:5s avg:2, now starting z13
0:01:35 INF [mbtiles] -  features: [ 712k  14%  71k/s ] 268M  tiles: [ 291k  29k/s ] 46M  
    cpus: 2 gc:  5% mem: 3.1G/4.2G direct: 52M postGC: 865M
    read( 4%) -> (214/217) -> encode(57% 57%) -> (215/216) -> write( 9%)
    last tile: 13/2470/3048 (z13 4%) https://www.openstreetmap.org/#map=13/41.77131/-71.45508
0:01:42 INF [mbtiles:write] - Finished z13 in 11s cpu:22s avg:2, now starting z14
0:01:45 INF [mbtiles] -  features: [ 3.1M  59% 239k/s ] 268M  tiles: [ 1.8M 151k/s ] 244M 
    cpus: 1.9 gc:  1% mem: 2.2G/4.2G direct: 52M postGC: 948M
    read( 7%) ->   (0/217) -> encode(54% 51%) -> (209/216) -> write(35%)
    last tile: 14/5480/6269 (z14 25%) https://www.openstreetmap.org/#map=14/38.87393/-59.58984
0:01:50 INF [mbtiles:write] - Finished z14 in 9s cpu:13s avg:1.5
0:01:50 INF [mbtiles] -  features: [ 5.2M 100% 389k/s ] 268M  tiles: [ 4.1M 415k/s ] 514M 
    cpus: 1.4 gc:  0% mem: 3.3G/4.2G direct: 52M postGC: 948M
    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:50 DEB [mbtiles] - Tile stats:
0:01:50 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:50 DEB [mbtiles] - z1 avg:4k max:4k
0:01:50 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:50 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:50 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:50 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:50 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:50 DEB [mbtiles] - z7 avg:896 max:33k
0:01:50 DEB [mbtiles] - z8 avg:365 max:48k
0:01:50 DEB [mbtiles] - z9 avg:296 max:278k
0:01:50 DEB [mbtiles] - z10 avg:164 max:232k
0:01:50 DEB [mbtiles] - z11 avg:107 max:131k
0:01:50 DEB [mbtiles] - z12 avg:85 max:118k
0:01:50 DEB [mbtiles] - z13 avg:72 max:109k
0:01:50 DEB [mbtiles] - z14 avg:68 max:257k
0:01:50 DEB [mbtiles] - all avg:70 max:0
0:01:50 DEB [mbtiles] -  # features: 5,276,186
0:01:50 DEB [mbtiles] -     # tiles: 4,115,465
0:01:50 INF [mbtiles] - Finished in 26s cpu:47s gc:1s avg:1.8
0:01:50 INF [mbtiles] -   read    1x(8% 2s wait:20s)
0:01:50 INF [mbtiles] -   encode  2x(45% 12s wait:7s)
0:01:50 INF [mbtiles] -   write   1x(37% 10s sys:1s wait:13s)
0:01:50 INF - Finished in 1m51s cpu:3m14s gc:4s avg:1.8
0:01:50 INF - FINISHED!

0:01:50 INF - ----------------------------------------
0:01:50 INF - 	overall          1m51s cpu:3m14s gc:4s avg:1.8
0:01:50 INF - 	lake_centerlines 0.7s cpu:1s avg:1.6
0:01:50 INF - 	water_polygons   27s cpu:47s gc:3s avg:1.8
0:01:50 INF - 	  read     1x(60% 16s wait:3s)
0:01:50 INF - 	  process  2x(26% 7s wait:13s)
0:01:50 INF - 	  write    1x(4% 1s wait:26s)
0:01:50 INF - 	natural_earth    10s cpu:16s avg:1.5
0:01:50 INF - 	  read     1x(89% 9s sys:1s)
0:01:50 INF - 	  process  2x(18% 2s wait:9s)
0:01:50 INF - 	  write    1x(0% 0s wait:10s)
0:01:50 INF - 	osm_pass1        4s cpu:7s avg:1.9
0:01:50 INF - 	  read     1x(2% 0.1s wait:4s)
0:01:50 INF - 	  parse    1x(70% 3s)
0:01:50 INF - 	  process  1x(33% 1s wait:2s)
0:01:50 INF - 	osm_pass2        30s cpu:1m avg:2
0:01:50 INF - 	  read     1x(0% 0s wait:4s done:26s)
0:01:50 INF - 	  process  2x(77% 23s)
0:01:50 INF - 	  write    1x(1% 0.4s wait:30s)
0:01:50 INF - 	boundaries       0s cpu:0.1s avg:1.2
0:01:50 INF - 	sort             4s cpu:5s avg:1.3
0:01:50 INF - 	  worker  2x(43% 2s done:2s)
0:01:50 INF - 	mbtiles          26s cpu:47s gc:1s avg:1.8
0:01:50 INF - 	  read    1x(8% 2s wait:20s)
0:01:50 INF - 	  encode  2x(45% 12s wait:7s)
0:01:50 INF - 	  write   1x(37% 10s sys:1s wait:13s)
0:01:50 INF - ----------------------------------------
0:01:50 INF - 	features	268MB
0:01:50 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  4 09:43 run.jar
ℹ️ This Branch Logs 1e76e6f
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] - Starting...
0:00:00 DEB - argument: bounds=Env[-74.07 : -17.84, 21.34 : 43.55] (bounds)
0:00:00 DEB - argument: threads=2 (num threads)
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: defer_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: 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=sortedtable (type of node location map: noop, sortedtable, or sparsearray)
0:00:00 DEB - argument: nodemap_storage=mmap (storage for location map: mmap or ram)
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: 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=false (Read OSM blocks from disk in worker threads)
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: 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: 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.0 ('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 - error loading /home/runner/work/planetiler/planetiler/data/sources/wikidata_names.json: java.nio.file.NoSuchFileException: data/sources/wikidata_names.json
0:00:00 INF - Using merge sort feature map, chunk size=1000mb workers=2
0:00:02 INF - dataFileCache open start

0:00:02 INF [lake_centerlines] - Starting...
0:00:03 INF [lake_centerlines] -  read: [  14k 100%  29k/s ] write: [    0    0/s ] 0    
    cpus: 1.5 gc:  0% mem: 164M/4.2G direct: 269k postGC: 45M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:03 INF [lake_centerlines] -  read: [  14k 100%    0/s ] write: [    0    0/s ] 0    
    cpus: 2 gc:  0% mem: 165M/4.2G direct: 269k postGC: 45M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:03 INF [lake_centerlines] - Finished in 0.6s cpu:0.9s avg:1.6
0:00:03 INF [lake_centerlines] -   read     1x(53% 0.3s)
0:00:03 INF [lake_centerlines] -   process  2x(15% 0.1s)
0:00:03 INF [lake_centerlines] -   write    1x(0% 0s)

0:00:03 INF [water_polygons] - Starting...
0:00:13 INF [water_polygons] -  read: [ 2.2k  15%  220/s ] write: [  70k 6.9k/s ] 4M   
    cpus: 2 gc:  8% mem: 2.9G/4.2G direct: 52M postGC: 851M
    read(61%) ->    (0/1k) -> process(44% 12%) -> (1.1k/53k) -> write( 0%)
0:00:23 INF [water_polygons] -  read: [ 5.1k  36%  292/s ] write: [ 299k  22k/s ] 15M  
    cpus: 1.7 gc: 12% mem: 1.9G/4.2G direct: 52M postGC: 1.6G
    read(65%) ->    (0/1k) -> process(22% 22%) -> (1.2k/53k) -> write( 1%)
0:00:29 INF [water_polygons] -  read: [  14k 100% 1.5k/s ] write: [ 4.3M 677k/s ] 186M 
    cpus: 1.6 gc:  7% mem: 3.4G/4.2G direct: 52M postGC: 1.7G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:29 INF [water_polygons] -  read: [  14k 100%    0/s ] write: [ 4.3M    0/s ] 186M 
    cpus: 0 gc:  0% mem: 3.4G/4.2G direct: 52M postGC: 1.7G
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:29 INF [water_polygons] - Finished in 26s cpu:46s gc:2s avg:1.8
0:00:29 INF [water_polygons] -   read     1x(60% 16s wait:2s)
0:00:29 INF [water_polygons] -   process  2x(26% 7s wait:13s)
0:00:29 INF [water_polygons] -   write    1x(4% 1s 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] - Starting...
0:00:46 INF [natural_earth] -  read: [ 349k 100%  40k/s ] write: [  181   20/s ] 186M 
    cpus: 1.6 gc:  0% mem: 486M/4.2G direct: 52M postGC: 169M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] -  read: [ 349k 100%    0/s ] write: [  181    0/s ] 186M 
    cpus: 1.6 gc:  0% mem: 486M/4.2G direct: 52M postGC: 169M
    read( -%) ->    (0/1k) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:00:46 INF [natural_earth] - Finished in 9s cpu:15s avg:1.6
0:00:46 INF [natural_earth] -   read     1x(89% 8s sys:1s)
0:00:46 INF [natural_earth] -   process  2x(20% 2s wait:8s)
0:00:46 INF [natural_earth] -   write    1x(0% 0s wait:9s)

0:00:46 INF [osm_pass1] - Starting...
0:00:50 INF [osm_pass1] -  nodes: [ 4.5M 1.2M/s ] 353M  ways: [ 327k  91k/s ] rels: [ 7.4k   2k/s ] blocks: [  614  170/s ]
    cpus: 1.9 gc:  0% mem: 3.2G/4.2G direct: 52M postGC: 169M hppc: 880k
    read( -%) ->     (0/4) -> parse( -%) ->     (0/4) -> process( -%)
0:00:50 DEB [osm_pass1] - processed blocks:614 nodes:4,573,794 ways:327,100 relations:7,400
0:00:50 INF [osm_pass1] - Finished in 4s cpu:7s avg:1.9
0:00:50 INF [osm_pass1] -   read     1x(3% 0.1s wait:3s)
0:00:50 INF [osm_pass1] -   process  1x(40% 1s wait:2s)
0:00:50 INF [osm_pass1] -   parse    1x(69% 2s)

0:00:50 INF [osm_pass2] - Starting...
0:00:55 DEB [osm_pass2:process] - Sorting long long multimap...
0:00:55 DEB [osm_pass2:process] - Sorted long long multimap 0s cpu:0s avg:1.8
0:00:55 WAR [osm_pass2:process] - No GB polygon for inferring route network types
0:01:00 INF [osm_pass2] -  nodes: [ 4.5M 100% 457k/s ] 353M  ways: [  96k  29% 9.5k/s ] rels: [    0   0%    0/s ] features: [ 4.7M  45k/s ] 220M  blocks: [  584  95%   58/s ]
    cpus: 2 gc:  1% mem: 1.4G/4.2G direct: 52M postGC: 809M hppc: 1.5M
    read( -%) ->  (28/103) -> process(66% 65%) -> (1.2k/53k) -> write( 2%)
0:01:10 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 320k  98%  22k/s ] rels: [    0   0%    0/s ] features: [ 5.2M  45k/s ] 252M  blocks: [  612 100%    2/s ]
    cpus: 2 gc:  1% mem: 1.5G/4.2G direct: 52M postGC: 815M hppc:  29M
    read( -%) ->   (0/103) -> process(82% 82%) -> (1.5k/53k) -> write( 2%)
0:01:20 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%  709/s ] rels: [ 6.9k  93%  690/s ] features: [ 5.2M 4.4k/s ] 266M  blocks: [  614 100%   <1/s ]
    cpus: 2 gc:  0% mem: 1.1G/4.2G direct: 52M postGC: 816M hppc:  29M
    read( -%) ->   (0/103) -> process(76% 80%) -> (648/53k) -> write( 0%)
0:01:21 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%    0/s ] rels: [ 7.4k 100%  687/s ] features: [ 5.2M   4k/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 2 gc:  0% mem: 1.6G/4.2G direct: 52M postGC: 816M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:21 INF [osm_pass2] -  nodes: [ 4.5M 100%    0/s ] 353M  ways: [ 327k 100%    0/s ] rels: [ 7.4k 100%    0/s ] features: [ 5.2M    0/s ] 268M  blocks: [  614 100%    0/s ]
    cpus: 0 gc:  0% mem: 1.6G/4.2G direct: 52M postGC: 816M hppc:  29M
    read( -%) ->   (0/103) -> process( -%  -%) ->   (0/53k) -> write( -%)
0:01:21 DEB [osm_pass2] - processed blocks:614 nodes:4,573,794 ways:327,100 relations:7,400
0:01:21 INF [osm_pass2] - Finished in 31s cpu:1m1s avg:2
0:01:21 INF [osm_pass2] -   read     1x(0% 0s wait:4s done:27s)
0:01:21 INF [osm_pass2] -   process  2x(75% 23s)
0:01:21 INF [osm_pass2] -   write    1x(1% 0.4s wait:30s)

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] - Starting...
0:01:25 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 1.2 gc:  0% mem: 2.1G/4.2G direct: 52M postGC: 816M
    ->     (0/4) -> worker( -%)
0:01:25 INF [sort] -  chunks: [   1 /   1 100% ] 268M 
    cpus: 2 gc:  0% mem: 2.1G/4.2G direct: 52M postGC: 816M
    ->     (0/4) -> worker( -%)
0:01:25 INF [sort] - Finished in 4s cpu:5s avg:1.2
0:01:25 INF [sort] -   worker  2x(42% 2s done:2s)
0:01:25 INF - read:1s write:1s sort:1s

0:01:25 INF [mbtiles] - Starting...
0:01:26 DEB [mbtiles:write] - Execute mbtiles: create table metadata (name text, value text);
0:01:26 DEB [mbtiles:write] - Execute mbtiles: create unique index name on metadata (name);
0:01:26 DEB [mbtiles:write] - Execute mbtiles: create table tiles (zoom_level integer, tile_column integer, tile_row, tile_data blob);
0:01:26 DEB [mbtiles:write] - Execute mbtiles: create unique index tile_index on tiles (zoom_level, tile_column, tile_row)
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: name=OpenMapTiles
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: format=pbf
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: description=A tileset showcasing all layers in OpenMapTiles. https://openmaptiles.org
0:01:26 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:26 DEB [mbtiles:write] - Set mbtiles metadata: version=3.13.0
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: type=baselayer
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: bounds=-74.07,21.34,-17.84,43.55
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: center=-45.955,32.445,3
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: minzoom=0
0:01:26 DEB [mbtiles:write] - Set mbtiles metadata: maxzoom=14
0:01:26 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","disputed_name":"String"},"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":8,"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","rank":"Number","class":"String","name_en":"String","name:latin":"String","ele":"Number"},"minzoom":7,"maxzoom":14},{"id":"park","fields":{"name_int":"String","name_de":"String","name":"String","name:en":"String","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"place","fields":{"name:fy":"String","name_int":"String","capital":"Number","name:uk":"String","name:pl":"String","name:nl":"String","name:be":"String","name:ru":"String","name:ko":"String","name_de":"String","name":"String","rank":"Number","name:en":"String","name:eo":"String","class":"String","name:hu":"String","name:ta":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":2,"maxzoom":14},{"id":"poi","fields":{"name_int":"String","level":"Number","name:nonlatin":"String","layer":"Number","name_de":"String","name":"String","subclass":"String","indoor":"Number","name:en":"String","class":"String","name:zh":"String","name_en":"String","name:latin":"String"},"minzoom":12,"maxzoom":14},{"id":"transportation","fields":{"access":"String","brunnel":"String","expressway":"Number","surface":"String","bicycle":"String","level":"Number","ramp":"Number","mtb_scale":"String","toll":"Number","oneway":"Number","layer":"Number","network":"String","horse":"String","service":"String","subclass":"String","class":"String","foot":"String"},"minzoom":4,"maxzoom":14},{"id":"transportation_name","fields":{"name_int":"String","name:nonlatin":"String","route_4":"String","route_3":"String","route_2":"String","route_1":"String","layer":"Number","network":"String","ref":"String","name_de":"String","name":"String","subclass":"String","ref_length":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":6,"maxzoom":14},{"id":"water","fields":{"intermittent":"Number","class":"String"},"minzoom":0,"maxzoom":14},{"id":"water_name","fields":{"name_int":"String","name:nonlatin":"String","name_de":"String","name":"String","intermittent":"Number","class":"String","name_en":"String","name:latin":"String"},"minzoom":9,"maxzoom":14},{"id":"waterway","fields":{"name_int":"String","brunnel":"String","name_de":"String","_relid":"Number","intermittent":"Number","name":"String","class":"String","name:latin":"String","name_en":"String"},"minzoom":4,"maxzoom":14}]}
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 0s cpu:0.1s avg:1.7, now starting z8
0:01:28 INF [mbtiles:write] - Finished z8 in 1s cpu:2s avg:2, now starting z9
0:01:28 INF [mbtiles:write] - Finished z9 in 0.6s cpu:1s avg:2, now starting z10
0:01:29 INF [mbtiles:write] - Finished z10 in 0.3s cpu:0.7s avg:2, now starting z11
0:01:29 INF [mbtiles:write] - Finished z11 in 0.7s cpu:1s avg:2, now starting z12
0:01:31 INF [mbtiles:write] - Finished z12 in 2s cpu:4s avg:2, now starting z13
0:01:36 INF [mbtiles] -  features: [ 712k  14%  71k/s ] 268M  tiles: [ 291k  29k/s ] 46M  
    cpus: 2 gc:  4% mem: 1.8G/4.2G direct: 52M postGC: 859M
    read( 4%) -> (214/217) -> encode(58% 55%) -> (215/216) -> write( 8%)
    last tile: 13/2470/3048 (z13 4%) https://www.openstreetmap.org/#map=13/41.77131/-71.45508
0:01:43 INF [mbtiles:write] - Finished z13 in 12s cpu:23s avg:2, now starting z14
0:01:46 INF [mbtiles] -  features: [ 2.8M  54% 214k/s ] 268M  tiles: [ 1.5M 126k/s ] 215M 
    cpus: 1.9 gc:  1% mem: 2G/4.2G direct: 52M postGC: 934M
    read( 6%) ->   (0/217) -> encode(54% 53%) -> (212/216) -> write(30%)
    last tile: 14/5272/6965 (z14 17%) https://www.openstreetmap.org/#map=14/26.01730/-64.16016
0:01:52 INF [mbtiles:write] - Finished z14 in 9s cpu:13s avg:1.5
0:01:52 INF [mbtiles] -  features: [ 5.2M 100% 396k/s ] 268M  tiles: [ 4.1M 419k/s ] 514M 
    cpus: 1.4 gc:  0% mem: 3.2G/4.2G direct: 52M postGC: 934M
    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:52 DEB [mbtiles] - Tile stats:
0:01:52 DEB [mbtiles] - z0 avg:7.9k max:7.9k
0:01:52 DEB [mbtiles] - z1 avg:4k max:4k
0:01:52 DEB [mbtiles] - z2 avg:9.4k max:9.4k
0:01:52 DEB [mbtiles] - z3 avg:3.9k max:6.4k
0:01:52 DEB [mbtiles] - z4 avg:1.6k max:4.6k
0:01:52 DEB [mbtiles] - z5 avg:1.4k max:8.1k
0:01:52 DEB [mbtiles] - z6 avg:1.4k max:24k
0:01:52 DEB [mbtiles] - z7 avg:896 max:33k
0:01:52 DEB [mbtiles] - z8 avg:365 max:48k
0:01:52 DEB [mbtiles] - z9 avg:295 max:278k
0:01:52 DEB [mbtiles] - z10 avg:164 max:232k
0:01:52 DEB [mbtiles] - z11 avg:107 max:131k
0:01:52 DEB [mbtiles] - z12 avg:85 max:118k
0:01:52 DEB [mbtiles] - z13 avg:72 max:109k
0:01:52 DEB [mbtiles] - z14 avg:68 max:257k
0:01:52 DEB [mbtiles] - all avg:70 max:0
0:01:52 DEB [mbtiles] -  # features: 5,276,186
0:01:52 DEB [mbtiles] -     # tiles: 4,115,465
0:01:52 INF [mbtiles] - Finished in 27s cpu:48s avg:1.8
0:01:52 INF [mbtiles] -   read    1x(7% 2s wait:22s)
0:01:52 INF [mbtiles] -   encode  2x(44% 12s wait:7s)
0:01:52 INF [mbtiles] -   write   1x(37% 10s sys:1s wait:14s)
0:01:52 INF - Finished in 1m52s cpu:3m14s gc:4s avg:1.7
0:01:52 INF - FINISHED!

0:01:52 INF - ----------------------------------------
0:01:52 INF - 	overall          1m52s cpu:3m14s gc:4s avg:1.7
0:01:52 INF - 	lake_centerlines 0.6s cpu:0.9s avg:1.6
0:01:52 INF - 	water_polygons   26s cpu:46s gc:2s avg:1.8
0:01:52 INF - 	  read     1x(60% 16s wait:2s)
0:01:52 INF - 	  process  2x(26% 7s wait:13s)
0:01:52 INF - 	  write    1x(4% 1s wait:25s)
0:01:52 INF - 	natural_earth    9s cpu:15s avg:1.6
0:01:52 INF - 	  read     1x(89% 8s sys:1s)
0:01:52 INF - 	  process  2x(20% 2s wait:8s)
0:01:52 INF - 	  write    1x(0% 0s wait:9s)
0:01:52 INF - 	osm_pass1        4s cpu:7s avg:1.9
0:01:52 INF - 	  read     1x(3% 0.1s wait:3s)
0:01:52 INF - 	  process  1x(40% 1s wait:2s)
0:01:52 INF - 	  parse    1x(69% 2s)
0:01:52 INF - 	osm_pass2        31s cpu:1m1s avg:2
0:01:52 INF - 	  read     1x(0% 0s wait:4s done:27s)
0:01:52 INF - 	  process  2x(75% 23s)
0:01:52 INF - 	  write    1x(1% 0.4s wait:30s)
0:01:52 INF - 	boundaries       0s cpu:0.1s avg:1.8
0:01:52 INF - 	sort             4s cpu:5s avg:1.2
0:01:52 INF - 	  worker  2x(42% 2s done:2s)
0:01:52 INF - 	mbtiles          27s cpu:48s avg:1.8
0:01:52 INF - 	  read    1x(7% 2s wait:22s)
0:01:52 INF - 	  encode  2x(44% 12s wait:7s)
0:01:52 INF - 	  write   1x(37% 10s sys:1s wait:14s)
0:01:52 INF - ----------------------------------------
0:01:52 INF - 	features	268MB
0:01:52 INF - 	mbtiles	514MB
-rw-r--r-- 1 runner docker 52M Mar  4 09:41 run.jar

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

To checkt that this pull request indeed only edited whitespaces, I did the following:

git checkout main
cat planetiler-basemap/src/main/java/com/onthegomap/planetiler/basemap/generated/Tables.java | tr -d "\t\r\n[:space:]" > old.txt
git checkout newlines-omt-table
cat planetiler-basemap/src/main/java/com/onthegomap/planetiler/basemap/generated/Tables.java | tr -d "\t\r\n[:space:]" > new.txt
diff old.txt new.txt

@msbarry
Copy link
Contributor

msbarry commented Mar 4, 2022

Thanks! All of the code in planetiler-basemap/src/main/java/com/onthegomap/planetiler/basemap/generated is generated automatically by scripts/regenerate-openmaptiles.sh which invokes planetiler-basemap/src/main/java/com/onthegomap/planetiler/basemap/Generate.java. It downloads the yaml files that describe the schema from openmaptiles github repo and generates these java files, then prints instructions for how to autoformat in intellij.

For now I want to make sure that regenerating and auto-formatting generates a consistent output, so can you update the code in Generate.java to insert the newlines in the generated output? That would make it easier for people to fork/customize, and see diffs from importing new openmaptiles schema versions, but I don't think we'd want the version on main to diverge from openmaptiles.

In the medium term, we're going to move the openmaptiles profile to the openmaptiles repo, and use regular yaml files to control the tag selection.

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

Thanks. I was a bit suspicious of the generated folder :S In MapLibre GL JS we removed generated files from source control because (a) they are not required and (b) cause sometimes confusion with new community members... Should I submit a pull request to remove generated files from source control?

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

Oh and I thought, uh poor Mike had to copy all those tags by hand from OMT...

@msbarry
Copy link
Contributor

msbarry commented Mar 4, 2022

What were the generated files you removed in maplibre? Did you add a build step to generate them for new users?

Removing the generated folder (and generated protobuf files) would make sense, but we'd need to replace that with a maven build step that generates them instead. I haven't looked into that but if you were able to that would be great!

The generated code contains:

  1. allowed layers, fields, and values with javadoc containing their descriptions so you can get nice tooltips in the IDE when working with the data
  2. intermediate records (in that Tables.java file) that OSM elements get parsed into so you get autocomplete and compile warnings on the
  3. matching expressions that can filter OSM elements

I think we want to keep 1 and 2, but 3 will eventually go away and be replaced by dynamically parsing the yaml at runtime.

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

What were the generated files you removed in maplibre? Did you add a build step to generate them for new users?

The style spec is a json document from which we generate .ts. We removed the generated files from git and renamed them to .g.ts to highlight that they are generated. The script to generate these files is run by npm postinstall.

@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

#111 and #110

@wipfli wipfli closed this Mar 4, 2022
@wipfli
Copy link
Contributor Author

wipfli commented Mar 4, 2022

Closing this for now, since I should better not edit a generated file.

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