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

Replace osmborder with imposm/SQL #1213

Merged
merged 10 commits into from Sep 29, 2021
Merged

Conversation

ZeLonewolf
Copy link
Contributor

@ZeLonewolf ZeLonewolf commented Sep 6, 2021

Fixes #1156
Fixes #810
Fixes #1228

This PR replaces osmborder, which is no longer maintained, with imposm mappings and SQL code to generate borders. Key features that were moved into the imposm/SQL layer:

  1. Grouping by osm_id and aggregating by lowest admin_level value so that there's only one copy of ways that are members of multiple relations.
  2. Filtering out of point features in boundary relations (typically admin_centre and label roles).
  3. Move disputed boundary detection logic into SQL.

This will increase the database size slightly because of the limits of what imposm can do, as some of the filtering is done in the SQL layer after importing, rather than being done in osmborder.

Rendering Samples

Rendering sample from a disputed alpine boundary along the Italy/France border:

image

San Marino enclave boundary:

image

Italy maritime boundary:

image

@github-actions
Copy link

github-actions bot commented Sep 6, 2021

Results evaluating commit 438a822 (merged with base 88389f2 as 6640494). See run details.

PostgreSQL DB size in MB: 2793 ⇒ 2793 (0.0% change)

step total time change user time change
1_data 2:11.21 -0.7% 2.91 0.0%
2_osm 2:07.16 -0.2% 2.19 -0.9%
3_wikidata 0:25.65 -100.0% -100.0%
4_sql 5:42.71 -100.0% -100.0%
test-perf 11:57.53 -0.2% 0.81 -2.4%

Per-test generation speed (longer is better)
#######################################################################################
████████████████████ 358.2 tiles/s -0.3% in test bbox_test_1, 117459 tiles in 0:05:27.9
█████                 94.8 tiles/s -0.9% in test bbox_test_2, 1511 tiles in 0:00:15.8  
████                  77.9 tiles/s -0.1% in test bbox_test_3, 6501 tiles in 0:01:23.4  
                       9.8 tiles/s +0.7% in test bbox_test_4, 2723 tiles in 0:04:36.6  

Per-test average tile sizes (shorter is better)
########################################################################################
                     138.4 per tile -0.4% in test bbox_test_1, 117459 tiles in 0:05:27.9
█                     2.1K per tile +0.0% in test bbox_test_2, 1511 tiles in 0:00:15.8  
█                     2.2K per tile -0.1% in test bbox_test_3, 6501 tiles in 0:01:23.4  
████████████████████ 25.9K per tile -0.0% in test bbox_test_4, 2723 tiles in 0:04:36.6  

Per-zoom generation speed (longer is better)
#####################################################################################
                                   3.6 tiles/s +8.3% at z0, 4 tiles in 0:00:01.1     
█                                 15.3 tiles/s +4.0% at z1, 6 tiles in 0:00:00.3     
█                                 11.1 tiles/s +7.5% at z2, 6 tiles in 0:00:00.4     
█                                 10.4 tiles/s -9.7% at z3, 6 tiles in 0:00:00.5     
                                   8.7 tiles/s -14.5% at z4, 6 tiles in 0:00:00.6    
█                                 11.2 tiles/s -1.1% at z5, 9 tiles in 0:00:00.7     
█                                 12.9 tiles/s -35.5% at z6, 11 tiles in 0:00:00.8   
██                                20.3 tiles/s -17.1% at z7, 20 tiles in 0:00:00.9   
███                               33.9 tiles/s -14.9% at z8, 48 tiles in 0:00:01.4   
████████                          81.0 tiles/s -3.1% at z9, 132 tiles in 0:00:01.5   
██████                            62.1 tiles/s +0.7% at z10, 437 tiles in 0:00:07    
████████████████████████████████ 311.4 tiles/s -1.9% at z11, 1603 tiles in 0:00:05.1 
████████                          80.4 tiles/s +1.3% at z12, 6154 tiles in 0:01:16.5 
████████████                     119.8 tiles/s +0.1% at z13, 24161 tiles in 0:03:21.6
████████████████████████         236.3 tiles/s ±0.0% at z14, 95591 tiles in 0:06:44.5

Per-zoom average tile sizes (shorter is better)
#####################################################################################
████                            13.6K per tile ±0.0% at z0, 4 tiles in 0:00:01.1     
███████████████████████████████ 85.5K per tile ±0.0% at z1, 6 tiles in 0:00:00.3     
███████████████████████████     76.8K per tile ±0.0% at z2, 6 tiles in 0:00:00.4     
████████████                    34.4K per tile ±0.0% at z3, 6 tiles in 0:00:00.5     
████████                        23.3K per tile +0.1% at z4, 6 tiles in 0:00:00.6     
██                               7.8K per tile +2.3% at z5, 9 tiles in 0:00:00.7     
██                               7.6K per tile +2.1% at z6, 11 tiles in 0:00:00.8    
██                               8.3K per tile +1.1% at z7, 20 tiles in 0:00:00.9    
██                               6.9K per tile +0.6% at z8, 48 tiles in 0:00:01.4    
██                               5.7K per tile +0.1% at z9, 132 tiles in 0:00:01.5   
                                 2.5K per tile -0.0% at z10, 437 tiles in 0:00:07    
                                 1.0K per tile -0.4% at z11, 1603 tiles in 0:00:05.1 
                                 1.1K per tile -0.2% at z12, 6154 tiles in 0:01:16.5 
                                648.5 per tile -0.2% at z13, 24161 tiles in 0:03:21.6
                                817.6 per tile -0.1% at z14, 95591 tiles in 0:06:44.5

Generated 128,194 tiles in 0:11:44, 182.1 tiles/s +0.1%, 831.1 bytes/tile -0.1%
Saving results to /tileset/pr-results.json
expand for details...
Hardware reset test-perf ...
Hardware reset test-perf done
Comparing results with a previous run created 1:13:59.1 ago: /tileset/results.json
Connecting to PostgreSQL at postgres:5432, db=openmaptiles, user=openmaptiles...
* version()                       = PostgreSQL 9.6.19 on x86_64-pc-linux-gnu (Debian 9.6.19-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit
* postgis_full_version()          = POSTGIS="3.0.2 2fb2a18" [EXTENSION] PGSQL="96" GEOS="3.7.1-CAPI-1.11.1 27a5e771" PROJ="Rel. 4.9.3, 15 August 2016" LIBXML="2.9.4" LIBJSON="0.12.1" LIBPROTOBUF="1.2.1" WAGYU="0.4.3 (Internal)"
* jit                             = unrecognized configuration parameter "jit"
* shared_buffers                  = 128MB
* work_mem                        = 4MB
* maintenance_work_mem            = 64MB
* effective_cache_size            = 4GB
* effective_io_concurrency        = 1
* max_connections                 = 100
* max_worker_processes            = 8
* max_parallel_workers            = unrecognized configuration parameter "max_parallel_workers"
* max_parallel_workers_per_gather = 0
* wal_buffers                     = 4MB
* min_wal_size                    = 80MB
* max_wal_size                    = 1GB
* random_page_cost                = 4
* default_statistics_target       = 100
* checkpoint_completion_target    = 0.5

Validating SQL fields in all layers of the tileset

Running all layers test 'bbox_test_1' at zoom 0 (1 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.8 (1.1 tiles/s +13.9%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test 'bbox_test_1' at zoom 1 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (13.0 tiles/s +12.8%)
#####################################################################################
█████                       28.9K avg size ±0.0%, 29,583B (1/1/1) — 29,583B (1/1/1)  
██████████████████████████ 134.5K avg size ±0.0%, 137,750B (1/1/0) — 137,750B (1/1/0)


Running all layers test 'bbox_test_1' at zoom 2 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (7.7 tiles/s +19.9%)
#####################################################################################
█████                       25.1K avg size ±0.0%, 25,736B (2/2/2) — 25,736B (2/2/2)  
██████████████████████████ 119.9K avg size ±0.0%, 122,821B (2/2/1) — 122,821B (2/2/1)


Running all layers test 'bbox_test_1' at zoom 3 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (8.6 tiles/s -19.5%)
#####################################################################################
███████████████████           25.7K avg size ±0.0%, 26,352B (3/4/4) — 26,352B (3/4/4)
█████████████████████████████ 38.0K avg size ±0.0%, 38,868B (3/4/3) — 38,868B (3/4/3)


Running all layers test 'bbox_test_1' at zoom 4 (2 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (6.8 tiles/s -24.6%)
#####################################################################################
███████████                   10.0K avg size +0.2%, 10,246B (4/8/8) — 10,246B (4/8/8)
█████████████████████████████ 25.3K avg size +0.3%, 25,877B (4/8/7) — 25,877B (4/8/7)


Running all layers test 'bbox_test_1' at zoom 5 (4 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.3 (12.5 tiles/s +9.4%)
#####################################################################################
█                         740.0 avg size +3.1%, 740B (5/16/16) — 740B (5/16/16)      
████                       2.0K avg size ±0.0%, 2,091B (5/17/16) — 2,091B (5/17/16)  
█████                      2.6K avg size +5.3%, 2,660B (5/17/15) — 2,660B (5/17/15)  
█████████████████████████ 11.6K avg size +4.7%, 11,866B (5/16/15) — 11,866B (5/16/15)


Running all layers test 'bbox_test_1' at zoom 6 (6 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.3 (16.1 tiles/s -3.2%)
#####################################################################################
                          365.0 avg size +6.8%, 365B (6/32/32) — 365B (6/32/32)      
██                         1.2K avg size ±0.0%, 1,183B (6/32/31) — 1,183B (6/32/31)  
███                        1.8K avg size +1.8%, 1,825B (6/33/32) — 1,825B (6/33/32)  
███                        2.1K avg size ±0.0%, 2,182B (6/34/32) — 2,182B (6/34/32)  
█████████                  5.1K avg size +2.7%, 5,180B (6/34/31) — 5,180B (6/34/31)  
█████████████████████████ 13.6K avg size +4.4%, 13,883B (6/33/31) — 13,883B (6/33/31)


Running all layers test 'bbox_test_1' at zoom 7 (12 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.4 (26.4 tiles/s -1.1%)
#####################################################################################
                          433.0 avg size ±0.0%, 220B (7/65/63) — 646B (7/66/63)      
█                          1.1K avg size ±0.0%, 1,101B (7/65/62) — 1,101B (7/65/62)  
█                          1.2K avg size ±0.0%, 1,231B (7/68/64) — 1,231B (7/68/64)  
██                         1.5K avg size ±0.0%, 1,527B (7/68/62) — 1,527B (7/68/62)  
██                         1.7K avg size ±0.0%, 1,771B (7/67/64) — 1,771B (7/67/64)  
███                        2.8K avg size +1.3%, 2,826B (7/65/64) — 2,957B (7/66/64)  
██████                     4.3K avg size +1.0%, 4,422B (7/66/62) — 4,422B (7/66/62)  
███████                    5.6K avg size +2.3%, 5,706B (7/68/63) — 5,706B (7/68/63)  
███████████                8.2K avg size +0.7%, 8,447B (7/67/62) — 8,447B (7/67/62)  
█████████████████████████ 17.9K avg size +3.3%, 18,320B (7/67/63) — 18,320B (7/67/63)


Running all layers test 'bbox_test_1' at zoom 8 (36 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 36 tiles (~4/line) done in 0:00:00.6 (54.4 tiles/s -13.5%)
#####################################################################################
                       147.5 avg size ±0.0%, 146B (8/132/126) — 148B (8/133/128)     
                       155.8 avg size ±0.0%, 150B (8/131/125) — 173B (8/133/127)     
                       431.3 avg size ±0.0%, 284B (8/134/129) — 619B (8/132/127)     
█                      919.8 avg size ±0.0%, 883B (8/136/125) — 960B (8/135/129)     
█                    1,020.0 avg size ±0.0%, 989B (8/136/128) — 1,052B (8/131/124)   
██                      1.1K avg size -5.9%, 1,091B (8/133/124) — 1,211B (8/134/124) 
███                     2.0K avg size +1.9%, 1,595B (8/132/124) — 2,608B (8/136/127) 
█████                   2.8K avg size +1.1%, 2,751B (8/131/128) — 3,057B (8/131/129) 
████████                4.5K avg size +2.7%, 3,125B (8/132/129) — 5,542B (8/136/126) 
████████████████████   11.1K avg size +1.3%, 8,217B (8/134/126) — 16,737B (8/135/126)


Running all layers test 'bbox_test_1' at zoom 9 (110 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 110 tiles (~11/line) done in 0:00:00.6 (163.7 tiles/s -6.8%)
#####################################################################################
                         0.0 avg size ±0.0%, 0B (9/269/249) — 0B (9/271/256)         
                         0.0 avg size ±0.0%, 0B (9/271/257) — 0B (9/273/251)         
                        41.5 avg size ±0.0%, 0B (9/273/252) — 78B (9/265/258)        
                        94.8 avg size ±0.0%, 78B (9/266/250) — 102B (9/263/250)      
                       103.1 avg size ±0.0%, 102B (9/263/253) — 109B (9/272/255)     
                       141.6 avg size -1.3%, 111B (9/268/258) — 148B (9/267/252)     
                       183.9 avg size -18.7%, 148B (9/267/256) — 257B (9/265/249)    
█                      598.5 avg size -1.5%, 283B (9/266/249) — 1,033B (9/265/255)   
█████                   2.5K avg size -0.5%, 1,125B (9/270/255) — 4,968B (9/269/252) 
██████████████████████  9.8K avg size +0.7%, 5,408B (9/270/252) — 20,199B (9/271/253)


Running all layers test 'bbox_test_1' at zoom 10 (378 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 378 tiles (~38/line) done in 0:00:01.4 (244.1 tiles/s -1.8%)
#####################################################################################
                       0.0 avg size ±0.0%, 0B (10/538/499) — 0B (10/542/514)         
                       0.0 avg size ±0.0%, 0B (10/542/515) — 0B (10/546/500)         
                      15.3 avg size -2.7%, 0B (10/546/501) — 78B (10/529/502)        
                      78.0 avg size ±0.0%, 78B (10/529/505) — 78B (10/532/505)       
                      78.0 avg size -0.2%, 78B (10/532/506) — 78B (10/537/510)       
                      98.4 avg size -1.7%, 78B (10/538/502) — 101B (10/537/504)      
                     101.9 avg size -3.6%, 101B (10/537/512) — 102B (10/538/503)     
                     164.5 avg size -15.0%, 102B (10/539/503) — 251B (10/538/506)    
██                   697.9 avg size -2.4%, 256B (10/528/499) — 1,744B (10/537/502)   
████████████████████  5.3K avg size +0.5%, 1,820B (10/543/509) — 13,604B (10/539/506)


Running all layers test 'bbox_test_1' at zoom 11 (1,435 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 1,435 tiles (~144/line) done in 0:00:03 (473.3 tiles/s -2.2%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (11/1075/1029) — 0B (11/1084/1032)       
                       0.0 avg size ±0.0%, 0B (11/1084/1033) — 0B (11/1091/1005)       
                      13.1 avg size -0.4%, 0B (11/1091/1006) — 70B (11/1091/1019)      
                      77.5 avg size -0.5%, 70B (11/1092/1017) — 78B (11/1060/1016)     
                      78.0 avg size ±0.0%, 78B (11/1060/1017) — 78B (11/1065/1018)     
                      78.0 avg size ±0.0%, 78B (11/1065/1019) — 78B (11/1070/1011)     
                      84.0 avg size -3.4%, 78B (11/1070/1012) — 101B (11/1058/1008)    
                     101.6 avg size -2.2%, 101B (11/1058/1024) — 102B (11/1075/1007)   
█                    245.4 avg size -4.7%, 102B (11/1075/1023) — 498B (11/1086/1017)   
████████████████████  2.4K avg size -0.4%, 502B (11/1084/1012) — 13,990B (11/1079/1013)


Running all layers test 'bbox_test_1' at zoom 12 (5,600 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 5,600 tiles (~560/line) done in 0:00:20.3 (275.8 tiles/s +6.9%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (12/2117/1998) — 0B (12/2167/2060)       
                       0.0 avg size ±0.0%, 0B (12/2167/2061) — 0B (12/2180/2009)       
                       1.7 avg size -7.2%, 0B (12/2180/2010) — 70B (12/2159/2042)      
                      75.7 avg size -0.5%, 70B (12/2160/2038) — 78B (12/2117/2013)     
                      78.0 avg size ±0.0%, 78B (12/2117/2014) — 78B (12/2126/2007)     
                      78.0 avg size ±0.0%, 78B (12/2126/2008) — 78B (12/2134/2053)     
                      78.0 avg size ±0.0%, 78B (12/2134/2054) — 78B (12/2145/2035)     
                      80.7 avg size -2.5%, 78B (12/2145/2036) — 101B (12/2112/2045)    
█                    135.6 avg size -6.2%, 101B (12/2112/2046) — 273B (12/2151/2064)   
████████████████████  2.1K avg size -0.2%, 274B (12/2110/2066) — 61,936B (12/2147/2005)


Running all layers test 'bbox_test_1' at zoom 13 (22,101 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 22,101 tiles (~2210/line) done in 0:01:02.1 (355.5 tiles/s -1.1%)
######################################################################################
                      0.0 avg size ±0.0%, 0B (13/4232/3996) — 0B (13/4333/4107)       
                      0.0 avg size ±0.0%, 0B (13/4333/4108) — 0B (13/4358/4005)       
                      0.0 avg size ±0.0%, 0B (13/4358/4006) — 0B (13/4376/4008)       
█                    65.6 avg size -0.4%, 0B (13/4376/4009) — 78B (13/4228/4113)      
█                    78.0 avg size ±0.0%, 78B (13/4228/4114) — 78B (13/4245/4104)     
█                    78.0 avg size ±0.0%, 78B (13/4245/4105) — 78B (13/4262/4066)     
█                    78.0 avg size ±0.0%, 78B (13/4262/4067) — 78B (13/4278/4134)     
█                    78.0 avg size ±0.0%, 78B (13/4279/3996) — 78B (13/4298/4093)     
█                    85.5 avg size -1.6%, 78B (13/4298/4094) — 102B (13/4266/4095)    
████████████████████ 1.1K avg size -0.6%, 102B (13/4267/4031) — 44,413B (13/4295/4010)


Running all layers test 'bbox_test_1' at zoom 14 (87,768 tiles) - 5.4172943,-1.6732196,12.3733400,4.3475256...
Tile sizes for 87,768 tiles (~8777/line) done in 0:03:56.5 (370.9 tiles/s -0.7%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (14/8463/7993) — 0B (14/8665/8238)      
                       0.0 avg size ±0.0%, 0B (14/8665/8239) — 0B (14/8714/8032)      
                       0.0 avg size ±0.0%, 0B (14/8714/8033) — 0B (14/8750/8086)      
█                     60.9 avg size -0.2%, 0B (14/8750/8087) — 78B (14/8452/8068)     
██                    78.0 avg size ±0.0%, 78B (14/8452/8069) — 78B (14/8485/8000)    
██                    78.0 avg size ±0.0%, 78B (14/8485/8001) — 78B (14/8518/8015)    
██                    78.0 avg size ±0.0%, 78B (14/8518/8016) — 78B (14/8550/8141)    
██                    78.0 avg size ±0.0%, 78B (14/8550/8142) — 78B (14/8585/8168)    
██                    78.0 avg size ±0.0%, 78B (14/8585/8169) — 78B (14/8635/8098)    
████████████████████ 672.0 avg size -0.7%, 78B (14/8635/8099) — 63,198B (14/8591/8021)


Running all layers test 'bbox_test_2' at zoom 0 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (8.7 tiles/s -49.3%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test 'bbox_test_2' at zoom 1 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (12.9 tiles/s -2.0%)
#####################################################################################
██████████████████████████ 134.5K avg size ±0.0%, 137,750B (1/1/0) — 137,750B (1/1/0)


Running all layers test 'bbox_test_2' at zoom 2 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (12.0 tiles/s -1.2%)
#####################################################################################
██████████████████████████ 119.9K avg size ±0.0%, 122,821B (2/2/1) — 122,821B (2/2/1)


Running all layers test 'bbox_test_2' at zoom 3 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (7.0 tiles/s -30.1%)
#####################################################################################
█████████████████████████████ 56.3K avg size ±0.0%, 57,616B (3/4/2) — 57,616B (3/4/2)


Running all layers test 'bbox_test_2' at zoom 4 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (5.9 tiles/s -11.1%)
#####################################################################################
█████████████████████████████ 40.8K avg size ±0.0%, 41,768B (4/8/5) — 41,768B (4/8/5)


Running all layers test 'bbox_test_2' at zoom 5 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (6.6 tiles/s -17.3%)
#####################################################################################
█████████████████████████ 10.9K avg size +8.5%, 11,112B (5/16/11) — 11,112B (5/16/11)


Running all layers test 'bbox_test_2' at zoom 6 (1 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (13.0 tiles/s -11.5%)
#####################################################################################
███████████████████████████ 7.5K avg size +13.1%, 7,644B (6/33/22) — 7,644B (6/33/22)


Running all layers test 'bbox_test_2' at zoom 7 (2 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (15.8 tiles/s +2.0%)
#####################################################################################
█████████████████           6.2K avg size ±0.0%, 6,385B (7/67/45) — 6,385B (7/67/45) 
███████████████████████████ 9.6K avg size +10.2%, 9,841B (7/67/44) — 9,841B (7/67/44)


Running all layers test 'bbox_test_2' at zoom 8 (2 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (19.1 tiles/s +33.4%)
#####################################################################################
███████                  3.9K avg size ±0.0%, 4,039B (8/134/90) — 4,039B (8/134/90)  
███████████████████████ 11.5K avg size +8.9%, 11,823B (8/134/89) — 11,823B (8/134/89)


Running all layers test 'bbox_test_2' at zoom 9 (6 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.1 (39.2 tiles/s +25.0%)
#####################################################################################
                        0.0 avg size ±0.0%, 0B (9/268/178) — 0B (9/268/178)          
                        0.0 avg size ±0.0%, 0B (9/268/179) — 0B (9/268/179)          
                        0.0 avg size ±0.0%, 0B (9/268/180) — 0B (9/268/180)          
                       86.0 avg size ±0.0%, 86B (9/269/178) — 86B (9/269/178)        
███                    3.2K avg size ±0.0%, 3,318B (9/269/180) — 3,318B (9/269/180)  
█████████████████████ 22.1K avg size +4.7%, 22,673B (9/269/179) — 22,673B (9/269/179)


Running all layers test 'bbox_test_2' at zoom 10 (12 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.1 (72.2 tiles/s +10.5%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (10/537/357) — 0B (10/537/358)          
                       0.0 avg size ±0.0%, 0B (10/537/359) — 0B (10/537/359)          
                       0.0 avg size ±0.0%, 0B (10/537/360) — 0B (10/537/360)          
                       0.0 avg size ±0.0%, 0B (10/538/357) — 0B (10/538/357)          
                       0.0 avg size ±0.0%, 0B (10/538/358) — 0B (10/538/358)          
                     541.0 avg size -3.5%, 89B (10/539/357) — 993B (10/538/360)       
                      1.1K avg size ±0.0%, 1,162B (10/539/358) — 1,162B (10/539/358)  
█                     2.1K avg size ±0.0%, 2,110B (10/539/360) — 2,110B (10/539/360)  
███                   5.6K avg size +1.5%, 5,750B (10/538/359) — 5,750B (10/538/359)  
████████████████████ 31.7K avg size +3.4%, 32,469B (10/539/359) — 32,469B (10/539/359)


Running all layers test 'bbox_test_2' at zoom 11 (30 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 30 tiles (~3/line) done in 0:00:00.3 (86.6 tiles/s -37.9%)
#######################################################################################
                       0.0 avg size ±0.0%, 0B (11/1075/715) — 0B (11/1075/717)         
                       0.0 avg size ±0.0%, 0B (11/1075/718) — 0B (11/1075/720)         
                       0.0 avg size ±0.0%, 0B (11/1076/715) — 0B (11/1076/717)         
                       0.0 avg size ±0.0%, 0B (11/1076/718) — 0B (11/1076/720)         
                       0.0 avg size ±0.0%, 0B (11/1077/715) — 0B (11/1077/717)         
                       0.0 avg size ±0.0%, 0B (11/1079/715) — 0B (11/1079/718)         
                      32.3 avg size -116.5%, 0B (11/1079/719) — 97B (11/1078/715)      
                     468.0 avg size -1.3%, 113B (11/1079/716) — 1,002B (11/1077/720)   
█                     1.7K avg size -4.4%, 1,043B (11/1078/717) — 2,223B (11/1078/720) 
████████████████████ 18.7K avg size +1.4%, 4,381B (11/1077/719) — 29,438B (11/1078/719)


Running all layers test 'bbox_test_2' at zoom 12 (88 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 88 tiles (~9/line) done in 0:00:03.9 (22.2 tiles/s -1.8%)
#########################################################################################
                       0.0 avg size ±0.0%, 0B (12/2151/1431) — 0B (12/2151/1439)         
                       0.0 avg size ±0.0%, 0B (12/2151/1440) — 0B (12/2152/1437)         
                       0.0 avg size ±0.0%, 0B (12/2152/1438) — 0B (12/2153/1435)         
                       0.0 avg size ±0.0%, 0B (12/2153/1436) — 0B (12/2154/1433)         
                       0.0 avg size ±0.0%, 0B (12/2154/1434) — 0B (12/2154/1441)         
                       0.0 avg size ±0.0%, 0B (12/2155/1431) — 0B (12/2156/1431)         
                       0.0 avg size ±0.0%, 0B (12/2156/1432) — 0B (12/2158/1436)         
                      66.0 avg size -139.1%, 0B (12/2158/1437) — 195B (12/2158/1432)     
                      1.1K avg size -6.4%, 247B (12/2157/1434) — 3,183B (12/2155/1437)   
████████████████████ 25.0K avg size +0.6%, 5,944B (12/2157/1437) — 54,313B (12/2156/1438)


Running all layers test 'bbox_test_2' at zoom 13 (300 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 300 tiles (~30/line) done in 0:00:03.5 (84.5 tiles/s +1.9%)
#########################################################################################
                       0.0 avg size ±0.0%, 0B (13/4302/2863) — 0B (13/4303/2872)         
                       0.0 avg size ±0.0%, 0B (13/4303/2873) — 0B (13/4304/2882)         
                       0.0 avg size ±0.0%, 0B (13/4305/2863) — 0B (13/4306/2872)         
                       0.0 avg size ±0.0%, 0B (13/4306/2873) — 0B (13/4307/2882)         
                       0.0 avg size ±0.0%, 0B (13/4308/2863) — 0B (13/4309/2872)         
                       0.0 avg size ±0.0%, 0B (13/4309/2873) — 0B (13/4311/2863)         
                       0.0 avg size ±0.0%, 0B (13/4311/2864) — 0B (13/4313/2868)         
                       0.0 avg size ±0.0%, 0B (13/4313/2869) — 0B (13/4316/2876)         
                     435.3 avg size -21.2%, 0B (13/4316/2877) — 1,563B (13/4312/2880)    
████████████████████ 16.3K avg size +0.4%, 2,381B (13/4313/2871) — 38,641B (13/4312/2874)


Running all layers test 'bbox_test_2' at zoom 14 (1,064 tiles) - 9.0900979,46.9688169,9.6717077,47.5258072...
Tile sizes for 1,064 tiles (~106/line) done in 0:00:06.6 (158.7 tiles/s -0.8%)
#########################################################################################
                       0.0 avg size ±0.0%, 0B (14/8605/5727) — 0B (14/8607/5757)         
                       0.0 avg size ±0.0%, 0B (14/8607/5758) — 0B (14/8610/5749)         
                       0.0 avg size ±0.0%, 0B (14/8610/5750) — 0B (14/8613/5742)         
                       0.0 avg size ±0.0%, 0B (14/8613/5743) — 0B (14/8616/5734)         
                       0.0 avg size ±0.0%, 0B (14/8616/5735) — 0B (14/8618/5764)         
                       0.0 avg size ±0.0%, 0B (14/8619/5727) — 0B (14/8621/5759)         
                       0.0 avg size ±0.0%, 0B (14/8621/5760) — 0B (14/8625/5738)         
                       0.0 avg size ±0.0%, 0B (14/8625/5739) — 0B (14/8631/5729)         
                     176.7 avg size -28.4%, 0B (14/8631/5730) — 1,004B (14/8630/5748)    
████████████████████ 18.0K avg size +0.1%, 1,010B (14/8631/5756) — 90,394B (14/8625/5753)


Running all layers test 'bbox_test_3' at zoom 0 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (15.5 tiles/s +0.7%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test 'bbox_test_3' at zoom 1 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (13.4 tiles/s -6.5%)
#####################################################################################
█████████████████████████████ 40.2K avg size ±0.0%, 41,117B (1/0/0) — 41,117B (1/0/0)


Running all layers test 'bbox_test_3' at zoom 2 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (10.3 tiles/s -24.7%)
#####################################################################################
█████████████████████████████ 37.8K avg size ±0.0%, 38,727B (2/1/1) — 38,727B (2/1/1)


Running all layers test 'bbox_test_3' at zoom 3 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (11.1 tiles/s +5.8%)
#####################################################################################
█████████████████████████████ 19.9K avg size ±0.0%, 20,419B (3/2/3) — 20,419B (3/2/3)


Running all layers test 'bbox_test_3' at zoom 4 (1 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1 tiles (~1/line) done in 0:00:00.1 (8.1 tiles/s -15.8%)
#####################################################################################
█████████████████████████████ 12.1K avg size ±0.0%, 12,388B (4/4/6) — 12,388B (4/4/6)


Running all layers test 'bbox_test_3' at zoom 5 (2 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (10.7 tiles/s -7.4%)
#####################################################################################
███████████████              5.9K avg size ±0.0%, 6,060B (5/8/12) — 6,060B (5/8/12)  
███████████████████████████ 10.5K avg size -0.4%, 10,746B (5/9/12) — 10,746B (5/9/12)


Running all layers test 'bbox_test_3' at zoom 6 (2 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (10.4 tiles/s -67.0%)
#####################################################################################
███                        3.3K avg size ±0.0%, 3,411B (6/17/24) — 3,411B (6/17/24)  
█████████████████████████ 24.3K avg size -0.2%, 24,910B (6/18/24) — 24,910B (6/18/24)


Running all layers test 'bbox_test_3' at zoom 7 (4 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.1 (21.7 tiles/s -19.0%)
#####################################################################################
██                         1.5K avg size ±0.0%, 1,552B (7/35/49) — 1,552B (7/35/49)  
███                        2.5K avg size ±0.0%, 2,532B (7/35/48) — 2,532B (7/35/48)  
████████████████████████  15.2K avg size -0.1%, 15,589B (7/36/49) — 15,589B (7/36/49)
█████████████████████████ 15.6K avg size -0.1%, 15,962B (7/36/48) — 15,962B (7/36/48)


Running all layers test 'bbox_test_3' at zoom 8 (6 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 6 tiles (~1/line) done in 0:00:00.2 (26.1 tiles/s -13.3%)
#####################################################################################
                          839.0 avg size ±0.0%, 839B (8/72/98) — 839B (8/72/98)      
█                       1,009.0 avg size ±0.0%, 1,009B (8/71/98) — 1,009B (8/71/98)  
██                         2.1K avg size ±0.0%, 2,154B (8/71/97) — 2,154B (8/71/97)  
█████                      5.0K avg size ±0.0%, 5,119B (8/72/97) — 5,119B (8/72/97)  
███████████               10.2K avg size -0.2%, 10,430B (8/73/98) — 10,430B (8/73/98)
███████████████████████   21.0K avg size -0.1%, 21,518B (8/73/97) — 21,518B (8/73/97)


Running all layers test 'bbox_test_3' at zoom 9 (12 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 12 tiles (~1/line) done in 0:00:00.2 (49.0 tiles/s +4.3%)
#####################################################################################
                        0.0 avg size ±0.0%, 0B (9/143/195) — 0B (9/143/196)          
                        0.0 avg size ±0.0%, 0B (9/144/195) — 0B (9/144/195)          
                        0.0 avg size ±0.0%, 0B (9/144/196) — 0B (9/144/196)          
                        0.0 avg size ±0.0%, 0B (9/145/196) — 0B (9/145/196)          
                        0.0 avg size ±0.0%, 0B (9/146/194) — 0B (9/146/194)          
                       1.3K avg size ±0.0%, 1,053B (9/143/194) — 1,530B (9/145/195)  
                       1.8K avg size ±0.0%, 1,888B (9/145/194) — 1,888B (9/145/194)  
                       2.0K avg size ±0.0%, 2,069B (9/144/194) — 2,069B (9/144/194)  
█                      6.5K avg size -0.3%, 6,620B (9/146/196) — 6,620B (9/146/196)  
█████████████████████ 72.2K avg size -0.1%, 73,975B (9/146/195) — 73,975B (9/146/195)


Running all layers test 'bbox_test_3' at zoom 10 (35 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 35 tiles (~4/line) done in 0:00:02 (17.3 tiles/s -7.8%)
#####################################################################################
                       0.0 avg size ±0.0%, 0B (10/287/390) — 0B (10/288/388)         
                       0.0 avg size ±0.0%, 0B (10/288/390) — 0B (10/288/392)         
                       0.0 avg size ±0.0%, 0B (10/289/390) — 0B (10/290/391)         
                       0.0 avg size ±0.0%, 0B (10/290/392) — 0B (10/291/389)         
                       0.0 avg size ±0.0%, 0B (10/291/392) — 0B (10/293/388)         
                      19.3 avg size ±0.0%, 0B (10/293/389) — 58B (10/293/392)        
                     869.0 avg size ±0.0%, 453B (10/292/390) — 1,076B (10/291/391)   
                      1.2K avg size ±0.0%, 1,117B (10/287/389) — 1,284B (10/289/389) 
█                     1.8K avg size ±0.0%, 1,383B (10/289/388) — 2,371B (10/290/389) 
████████████████████ 33.5K avg size -0.2%, 5,276B (10/292/392) — 74,646B (10/292/391)


Running all layers test 'bbox_test_3' at zoom 11 (96 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 96 tiles (~10/line) done in 0:00:00.5 (149.8 tiles/s +13.3%)
#####################################################################################
                       0.0 avg size ±0.0%, 0B (11/575/779) — 0B (11/576/781)         
                       0.0 avg size ±0.0%, 0B (11/576/782) — 0B (11/577/784)         
                       0.0 avg size ±0.0%, 0B (11/578/779) — 0B (11/579/780)         
                       0.0 avg size ±0.0%, 0B (11/579/781) — 0B (11/580/784)         
                       0.0 avg size ±0.0%, 0B (11/581/777) — 0B (11/582/782)         
                       0.0 avg size ±0.0%, 0B (11/582/783) — 0B (11/584/779)         
                       0.0 avg size ±0.0%, 0B (11/584/780) — 0B (11/586/778)         
                     423.1 avg size -10.0%, 0B (11/586/779) — 1,024B (11/580/777)    
█                     1.3K avg size ±0.0%, 1,052B (11/583/780) — 1,586B (11/581/778) 
████████████████████ 13.9K avg size -0.7%, 1,707B (11/580/778) — 74,445B (11/585/783)


Running all layers test 'bbox_test_3' at zoom 12 (322 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 322 tiles (~32/line) done in 0:00:09.5 (33.5 tiles/s -0.6%)
##########################################################################################
                       0.0 avg size ±0.0%, 0B (12/1151/1557) — 0B (12/1153/1564)          
                       0.0 avg size ±0.0%, 0B (12/1153/1565) — 0B (12/1156/1559)          
                       0.0 avg size ±0.0%, 0B (12/1156/1560) — 0B (12/1158/1566)          
                       0.0 avg size ±0.0%, 0B (12/1158/1567) — 0B (12/1161/1561)          
                       0.0 avg size ±0.0%, 0B (12/1161/1562) — 0B (12/1164/1559)          
                       0.0 avg size ±0.0%, 0B (12/1164/1561) — 0B (12/1167/1558)          
                       0.0 avg size ±0.0%, 0B (12/1167/1559) — 0B (12/1169/1566)          
                       0.0 avg size ±0.0%, 0B (12/1169/1567) — 0B (12/1172/1564)          
                     546.5 avg size -3.2%, 0B (12/1173/1555) — 1,254B (12/1157/1555)      
████████████████████ 14.9K avg size -0.2%, 1,270B (12/1162/1556) — 163,398B (12/1171/1566)


Running all layers test 'bbox_test_3' at zoom 13 (1,232 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 1,232 tiles (~123/line) done in 0:00:18.5 (66.2 tiles/s +0.8%)
########################################################################################
                       0.0 avg size ±0.0%, 0B (13/2303/3110) — 0B (13/2307/3133)        
                       0.0 avg size ±0.0%, 0B (13/2307/3134) — 0B (13/2312/3126)        
                       0.0 avg size ±0.0%, 0B (13/2312/3127) — 0B (13/2317/3117)        
                       0.0 avg size ±0.0%, 0B (13/2317/3118) — 0B (13/2321/3136)        
                       0.0 avg size ±0.0%, 0B (13/2321/3137) — 0B (13/2327/3113)        
                       0.0 avg size ±0.0%, 0B (13/2327/3114) — 0B (13/2331/3136)        
                       0.0 avg size ±0.0%, 0B (13/2331/3137) — 0B (13/2336/3132)        
                       0.0 avg size ±0.0%, 0B (13/2336/3133) — 0B (13/2341/3126)        
                       9.8 avg size -66.8%, 0B (13/2341/3134) — 262B (13/2340/3126)     
████████████████████ 10.8K avg size -0.1%, 457B (13/2341/3128) — 139,272B (13/2343/3133)


Running all layers test 'bbox_test_3' at zoom 14 (4,785 tiles) - -78.7749754,38.7820235,-76.8957735,39.6985009...
Tile sizes for 4,785 tiles (~478/line) done in 0:00:51 (93.7 tiles/s ±0.0%)
######################################################################################
                       0.0 avg size ±0.0%, 0B (14/4606/6220) — 0B (14/4615/6227)      
                       0.0 avg size ±0.0%, 0B (14/4615/6228) — 0B (14/4624/6238)      
                       0.0 avg size ±0.0%, 0B (14/4624/6239) — 0B (14/4633/6240)      
                       0.0 avg size ±0.0%, 0B (14/4633/6241) — 0B (14/4642/6239)      
                       0.0 avg size ±0.0%, 0B (14/4642/6240) — 0B (14/4651/6257)      
                       0.0 avg size ±0.0%, 0B (14/4651/6258) — 0B (14/4660/6265)      
                       0.0 avg size ±0.0%, 0B (14/4660/6266) — 0B (14/4670/6227)      
                       0.0 avg size ±0.0%, 0B (14/4670/6228) — 0B (14/4679/6230)      
                       0.0 avg size ±0.0%, 0B (14/4679/6231) — 0B (14/4689/6253)      
████████████████████ 25.1K avg size -0.0%, 0B (14/4689/6254) — 519,854B (14/4686/6265)


Running all layers test 'bbox_test_4' at zoom 0 (1 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 1 tiles (~1/line) done in 0:00:00 (15.4 tiles/s -4.4%)
#####################################################################################
█████████████████████████████ 13.6K avg size ±0.0%, 13,965B (0/0/0) — 13,965B (0/0/0)


Running all layers test 'bbox_test_4' at zoom 1 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (23.3 tiles/s ±0.0%)
#####################################################################################
███████                     40.2K avg size ±0.0%, 41,117B (1/0/0) — 41,117B (1/0/0)  
██████████████████████████ 134.5K avg size ±0.0%, 137,750B (1/1/0) — 137,750B (1/1/0)


Running all layers test 'bbox_test_4' at zoom 2 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00 (20.3 tiles/s -1.0%)
#####################################################################################
████████                    37.8K avg size ±0.0%, 38,727B (2/1/1) — 38,727B (2/1/1)  
██████████████████████████ 119.9K avg size ±0.0%, 122,821B (2/2/1) — 122,821B (2/2/1)


Running all layers test 'bbox_test_4' at zoom 3 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (18.2 tiles/s +11.8%)
#####################################################################################
█████                         10.0K avg size ±0.0%, 10,197B (3/3/2) — 10,197B (3/3/2)
█████████████████████████████ 56.3K avg size ±0.0%, 57,616B (3/4/2) — 57,616B (3/4/2)


Running all layers test 'bbox_test_4' at zoom 4 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (19.7 tiles/s +4.5%)
#####################################################################################
███████                       11.0K avg size ±0.0%, 11,305B (4/7/5) — 11,305B (4/7/5)
█████████████████████████████ 40.8K avg size ±0.0%, 41,768B (4/8/5) — 41,768B (4/8/5)


Running all layers test 'bbox_test_4' at zoom 5 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.1 (14.1 tiles/s -5.1%)
#####################################################################################
██████████████████        10.8K avg size ±0.0%, 11,090B (5/16/10) — 11,090B (5/16/10)
█████████████████████████ 15.0K avg size ±0.0%, 15,321B (5/15/10) — 15,321B (5/15/10)


Running all layers test 'bbox_test_4' at zoom 6 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (9.4 tiles/s -149.0%)
#####################################################################################
█████████████              8.8K avg size ±0.0%, 8,980B (6/32/21) — 8,980B (6/32/21)  
█████████████████████████ 15.9K avg size ±0.0%, 16,328B (6/31/21) — 16,328B (6/31/21)


Running all layers test 'bbox_test_4' at zoom 7 (2 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 2 tiles (~1/line) done in 0:00:00.2 (9.2 tiles/s -105.9%)
#####################################################################################
█████████████             22.9K avg size ±0.0%, 23,441B (7/64/42) — 23,441B (7/64/42)
█████████████████████████ 43.7K avg size ±0.0%, 44,745B (7/63/42) — 44,745B (7/63/42)


Running all layers test 'bbox_test_4' at zoom 8 (4 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.4 (9.5 tiles/s -44.7%)
#####################################################################################
█                     10.0K avg size ±0.0%, 10,210B (8/128/84) — 10,210B (8/128/84)  
█                     11.7K avg size ±0.0%, 11,954B (8/127/84) — 11,954B (8/127/84)  
█████                 38.5K avg size ±0.0%, 39,465B (8/128/85) — 39,465B (8/128/85)  
████████████████████ 135.4K avg size -0.0%, 138,622B (8/127/85) — 138,622B (8/127/85)


Running all layers test 'bbox_test_4' at zoom 9 (4 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 4 tiles (~1/line) done in 0:00:00.5 (7.1 tiles/s -13.9%)
#######################################################################################
                       7.1K avg size ±0.0%, 7,240B (9/256/169) — 7,240B (9/256/169)    
█                     29.8K avg size -0.1%, 30,493B (9/255/169) — 30,493B (9/255/169)  
██████               106.9K avg size -0.1%, 109,447B (9/256/170) — 109,447B (9/256/170)
████████████████████ 346.6K avg size -0.0%, 354,935B (9/255/170) — 354,935B (9/255/170)


Running all layers test 'bbox_test_4' at zoom 10 (12 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 12 tiles (~1/line) done in 0:00:03.3 (3.6 tiles/s +5.7%)
#########################################################################################
                      908.0 avg size ±0.0%, 733B (10/513/341) — 1,083B (10/513/339)      
                       2.2K avg size ±0.0%, 2,245B (10/510/341) — 2,245B (10/510/341)    
                       3.1K avg size ±0.0%, 3,162B (10/510/339) — 3,162B (10/510/339)    
                       3.2K avg size -3.8%, 3,272B (10/513/340) — 3,272B (10/513/340)    
                       8.8K avg size ±0.0%, 9,027B (10/512/339) — 9,027B (10/512/339)    
█                     30.4K avg size -0.1%, 21,490B (10/512/341) — 40,791B (10/511/339)  
███                   61.7K avg size ±0.0%, 63,149B (10/511/341) — 63,149B (10/511/341)  
████                  81.5K avg size -0.1%, 83,498B (10/510/340) — 83,498B (10/510/340)  
███████              125.4K avg size -0.1%, 128,367B (10/512/340) — 128,367B (10/512/340)
████████████████████ 352.0K avg size -0.0%, 360,484B (10/511/340) — 360,484B (10/511/340)


Running all layers test 'bbox_test_4' at zoom 11 (42 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 42 tiles (~4/line) done in 0:00:01.1 (37.2 tiles/s -3.2%)
##########################################################################################
                        0.0 avg size ±0.0%, 0B (11/1020/678) — 0B (11/1021/683)           
                        0.0 avg size ±0.0%, 0B (11/1022/678) — 0B (11/1025/678)           
                        0.0 avg size ±0.0%, 0B (11/1025/682) — 0B (11/1026/679)           
                      108.8 avg size ±0.0%, 0B (11/1026/683) — 243B (11/1026/681)         
                      828.0 avg size -2.2%, 691B (11/1024/683) — 925B (11/1020/680)       
                       2.7K avg size -4.2%, 1,078B (11/1026/680) — 5,383B (11/1025/679)   
██                    17.4K avg size -0.1%, 9,261B (11/1024/679) — 27,732B (11/1024/682)  
██████                39.3K avg size -0.2%, 33,150B (11/1022/682) — 50,467B (11/1021/680) 
██████████            63.8K avg size -0.0%, 53,021B (11/1023/682) — 73,566B (11/1024/680) 
████████████████████ 121.9K avg size -0.0%, 89,158B (11/1022/681) — 163,346B (11/1023/680)


Running all layers test 'bbox_test_4' at zoom 12 (144 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 144 tiles (~14/line) done in 0:00:42.6 (3.4 tiles/s -1.0%)
#############################################################################################
                        0.0 avg size ±0.0%, 0B (12/2041/1356) — 0B (12/2043/1357)            
                        0.0 avg size ±0.0%, 0B (12/2043/1358) — 0B (12/2046/1357)            
                        0.0 avg size ±0.0%, 0B (12/2046/1367) — 0B (12/2050/1367)            
                        0.0 avg size ±0.0%, 0B (12/2051/1356) — 0B (12/2052/1364)            
                      382.1 avg size -16.7%, 0B (12/2052/1365) — 903B (12/2041/1359)         
                       2.7K avg size -3.6%, 908B (12/2041/1360) — 8,348B (12/2044/1365)      
██                    16.6K avg size -0.6%, 8,850B (12/2049/1365) — 33,326B (12/2050/1362)   
███████               61.0K avg size -0.1%, 33,751B (12/2042/1360) — 78,428B (12/2050/1360)  
███████████           93.1K avg size +0.0%, 80,407B (12/2043/1360) — 112,526B (12/2045/1360) 
████████████████████ 159.4K avg size +0.0%, 113,438B (12/2047/1363) — 255,046B (12/2046/1361)


Running all layers test 'bbox_test_4' at zoom 13 (528 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 528 tiles (~53/line) done in 0:01:57.3 (4.5 tiles/s +0.6%)
###########################################################################################
                       0.0 avg size ±0.0%, 0B (13/4082/2713) — 0B (13/4085/2729)           
                       0.0 avg size ±0.0%, 0B (13/4085/2730) — 0B (13/4091/2716)           
                       0.0 avg size ±0.0%, 0B (13/4091/2732) — 0B (13/4099/2734)           
                       0.0 avg size ±0.0%, 0B (13/4100/2713) — 0B (13/4103/2728)           
                      11.2 avg size -371.9%, 0B (13/4103/2729) — 148B (13/4086/2729)       
                      1.0K avg size -5.2%, 193B (13/4091/2731) — 2,947B (13/4098/2731)     
██                   12.1K avg size -0.4%, 3,292B (13/4099/2730) — 23,656B (13/4088/2729)  
███████              33.9K avg size -0.0%, 24,141B (13/4093/2731) — 44,297B (13/4092/2718) 
███████████          52.8K avg size -0.0%, 44,299B (13/4093/2718) — 64,044B (13/4091/2726) 
████████████████████ 92.9K avg size +0.0%, 64,246B (13/4093/2720) — 179,141B (13/4093/2723)


Running all layers test 'bbox_test_4' at zoom 14 (1,974 tiles) - -0.6124681,51.2268449,0.3996690,51.7873570...
Tile sizes for 1,974 tiles (~197/line) done in 0:01:50.2 (17.9 tiles/s +1.8%)
############################################################################################
                        0.0 avg size ±0.0%, 0B (14/8164/5427) — 0B (14/8170/5435)           
                        0.0 avg size ±0.0%, 0B (14/8170/5436) — 0B (14/8180/5429)           
                        0.0 avg size ±0.0%, 0B (14/8180/5430) — 0B (14/8196/5465)           
                        0.0 avg size ±0.0%, 0B (14/8196/5466) — 0B (14/8205/5430)           
                        0.0 avg size ±0.0%, 0B (14/8205/5431) — 0B (14/8210/5447)           
                      757.0 avg size -6.8%, 0B (14/8210/5448) — 2,656B (14/8176/5459)       
█                     10.7K avg size -0.2%, 2,691B (14/8205/5446) — 20,326B (14/8191/5435)  
███                   30.4K avg size -0.0%, 20,392B (14/8202/5443) — 42,327B (14/8197/5456) 
██████                57.4K avg size -0.0%, 42,458B (14/8195/5447) — 80,351B (14/8177/5452) 
████████████████████ 168.4K avg size -0.0%, 80,663B (14/8176/5442) — 637,013B (14/8185/5447)




@ZeLonewolf ZeLonewolf marked this pull request as draft September 6, 2021 19:51
@Falke-Design
Copy link
Contributor

Currently i have generated a borders line.csv file of the planet and import them into my openmaptiles where I have only the osm data for germany. With your change this not longer working. It will need for every generation the planet.osm.pbf which took much longer or i can't see all borders.

But with this changes i think it is possible to get the borders out of the Database where multiple .pbf files are inserted. Which was not possible before, because only one .pbf file can pe passed to import-borders.

Maybe the borders of the countries can be pre added to openmaptiles-tools and imported. For local boundaries, the one of the osm data are used and added to the country one.

@ZeLonewolf
Copy link
Contributor Author

ZeLonewolf commented Sep 7, 2021

That is a curious use case, where you want to see global boundaries but map data only for one country. It seems like this could be accomplished with an overpass query to download all boundaries, and then compress that to a pbf file. Or, you could download the planet file and use osmosis to extract only boundary data from it. In any case, osmborder is no longer maintained, so there is a desire to move away from it in the project.

On a side note, there are also some more advanced things with boundaries that OpenMapTiles can't do today, such as name labels on boundaries below the national level that I'm not sure we can do without having the processing logic live in the SQL.

@Falke-Design
Copy link
Contributor

My goal is that I have no blank tiles on the lower zoom levels, which I had managed by adding https://github.com/lukasmartinelli/naturalearthtiles and additionally I want to show the borders of countries so it has more structure.

Maybe you are right and I have done this on a other way. I will check this when I'm home.

@Falke-Design
Copy link
Contributor

Ok my posts where bullshit 😄 I thought that the borders until z4 are generated from import-borders so I used the complete planet file. But in the boundary.yaml is the comment:

Until z4 Natural Earth data is used

I will create a PR to add this to the Readme.

Now I can appriciate this PR and this workflow because it makes it possible to get the boundary from multiple imported osm files. This was the other reason why I had imported the full planet borders.

layers/boundary/mapping.yaml Outdated Show resolved Hide resolved
Copy link
Member

@nyurik nyurik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i really like this effort, thanks for working on it! For simplicity, lets keep just the needed changes here (i.e. keep tabs as tabs, etc). What else is needed here to change the status from draft to a PR?

@ZeLonewolf
Copy link
Contributor Author

ZeLonewolf commented Sep 9, 2021

What else is needed here to change the status from draft to a PR?

I still need to properly test left/right national boundary labels and disputed boundary tagging. This PR Is a pain to test because I need to render multinational areas to prove that I haven't broken anything. I've been using Italy as my example because it has enclave countries, and I also tried to use the Europe extract but I ended up with a full disk. Each of these big renders takes a long time, basically overnight if a download is involved, so there's a longer than usual lag time here :)

My latest overnight test (disputed boundary tagging is still not right):

image

@ZeLonewolf
Copy link
Contributor Author

See now, this is looking much better:
image

@ZeLonewolf ZeLonewolf marked this pull request as ready for review September 9, 2021 03:45
@ZeLonewolf
Copy link
Contributor Author

@Falke-Design I was able to run ./quickstart.sh liechtenstein to completion with no issues with all layers except boundary disabled.

Is it possible we're running into the same issue as gravitystorm/openstreetmap-carto#4461 ?

@ZeLonewolf
Copy link
Contributor Author

@Falke-Design also, you will need to run make import-data in order to populate the Natural Earth tables.

@Falke-Design
Copy link
Contributor

The problem was, that I forgot to run import-data. Is it possible to make the import-sql working without going wrong when import-data was not run? A check if the tables of import-data existing before they are used in a statement?

For testing the layers it would maybe easier

@ZeLonewolf
Copy link
Contributor Author

The problem was, that I forgot to run import-data. Is it possible to make the import-sql working without going wrong when import-data was not run? A check if the tables of import-data existing before they are used in a statement?

For testing the layers it would maybe easier

This is a good idea - though Natural Earth data is used in a number of layers, not just boundary, so this would need to be in multiple places. I've documented this in #1220.

@Falke-Design
Copy link
Contributor

I have generated all borders of the planet: Download

It looks good. The only thing that I saw is that the borders around the continents are not loaded on the low zoom levels. I think that are the marine / sea borders.

borders

@ZeLonewolf ZeLonewolf marked this pull request as draft September 11, 2021 19:49
@ZeLonewolf
Copy link
Contributor Author

Converting to draft to investigate the issue with low-zoom maritime/country borders.

@ZeLonewolf
Copy link
Contributor Author

Thank you @Falke-Design for the test render!

I've run the mbtiles you provided and reviewed the before and after code, and I believe it's actually exhibiting the correct behavior.

Here is a client render from the "bright" style: https://openmaptiles.github.io/osm-bright-gl-style/#3/25.89/-12.71

Maritime borders do not start until zoom 4, which is the same as the test mbtiles. Maritime borders are ocean boundaries that are a distance away from each country's actual coastline (typically, 12 miles). Thus, only the land parts of a country's border are rendered at low zooms (0-3), with the water layer used to "outline" the continents.

While coastline itself is rendered using the water layer (and not included in the boundary layer for admin_level=2), it is common that lower-level boundaries (admin_level=4 and higher) will have the coastline be part of the boundary. This is why you have the appearance of the coastline "disappearing" when you move down to the zoom in which lower level boundaries are no longer rendered. Had you rendered the water layer also, this would make more sense visually.

During this review, I identified that I was unnecessarily mapping natural=coastline and boundary=administrative into columns. These are not needed because natural=coastline is not part of the boundary logic and boundary=administrative is only needed as an imposm filter on import, so I've made those changes in order to reduce the size of the database.

This PR is now ready for review.

@TomPohys
Copy link
Member

Awesome work! It looks great! Thank you very much!

@TomPohys TomPohys merged commit b4b8979 into openmaptiles:master Sep 29, 2021
@zstadler
Copy link
Contributor

Thank you @ZeLonewolf for resolving an issue that was open more than a year!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants