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

Compute separate concurrency_index on osm_route_member #1135

Merged
merged 1 commit into from Jul 2, 2021

Conversation

ZeLonewolf
Copy link
Contributor

Closes #1134

Adds a concurrency_index column to osm_route_member as described in #1134. For example, listing concurrencies on a segment of the Washington Bridge in Providence, Rhode Island, USA:

openmaptiles=# select osm_id, network, ref, network_type, name, concurrency_index from osm_route_member where member=43080535 order by concurrency_index asc;
  osm_id  | network | ref | network_type  |     name      | concurrency_index
----------+---------+-----+---------------+---------------+-------------------
 -1694950 | US:I    | 195 | us-interstate | I 195 (RI/MA) |                 1
 -2308410 | US:US   | 6   | us-highway    | US 6 (RI)     |                 2
 -1347856 | US:US   | 1A  | us-highway    | US 1A (RI)    |                 3
 -2309143 | US:US   | 44  | us-highway    | US 44 (RI)    |                 4
(4 rows)

@github-actions
Copy link

github-actions bot commented Jul 1, 2021

Results evaluating commit 08817f6 (merged with base 3f70b87 as be646ef). See run details.

PostgreSQL DB size in MB: 2785 ⇒ 2788 (0.1% change)

step total time change user time change
1_data 2:05.94 2.1% 2.78 -0.7%
2_osm 2:05.58 -0.1% 2.17 0.5%
3_borders 0:24.16 -1.9% 2.33 9.4%
4_wikidata 0:21.62 -4.3% 1.47 3.5%
5_sql 5:17.03 -2.6% 2.17 0.0%
test-perf 8:49.91 -1.5% 0.79 3.9%

Per-test generation speed (longer is better)
#######################################################################################
████████████████████ 414.8 tiles/s +1.6% in test bbox_test_1, 117459 tiles in 0:04:43.1
█████                122.5 tiles/s +5.8% in test bbox_test_2, 1511 tiles in 0:00:12.3  
████                 101.0 tiles/s +0.2% in test bbox_test_3, 6501 tiles in 0:01:04.3  
                      17.4 tiles/s +1.0% in test bbox_test_4, 2723 tiles in 0:02:36.8  

Per-test average tile sizes (shorter is better)
########################################################################################
                     135.9 per tile +0.0% in test bbox_test_1, 117459 tiles in 0:04:43.1
█                     2.1K per tile -0.0% in test bbox_test_2, 1511 tiles in 0:00:12.3  
█                     2.3K per tile +0.0% in test bbox_test_3, 6501 tiles in 0:01:04.3  
████████████████████ 26.6K per tile +0.0% in test bbox_test_4, 2723 tiles in 0:02:36.8  

Per-zoom generation speed (longer is better)
#####################################################################################
                                   2.9 tiles/s -1.1% at z0, 4 tiles in 0:00:01.3     
█                                 11.6 tiles/s -24.5% at z1, 6 tiles in 0:00:00.4    
█                                 10.8 tiles/s +4.2% at z2, 6 tiles in 0:00:00.5     
█                                 11.1 tiles/s +16.7% at z3, 6 tiles in 0:00:00.4    
                                   9.3 tiles/s +6.0% at z4, 6 tiles in 0:00:00.5     
█                                 12.1 tiles/s +0.7% at z5, 9 tiles in 0:00:00.6     
█                                 12.5 tiles/s -0.9% at z6, 11 tiles in 0:00:00.8    
█                                 20.8 tiles/s +9.5% at z7, 20 tiles in 0:00:00.9    
███                               38.0 tiles/s -0.9% at z8, 48 tiles in 0:00:01.2    
████████                          91.6 tiles/s +27.7% at z9, 132 tiles in 0:00:01.4  
██████                            74.3 tiles/s +12.8% at z10, 437 tiles in 0:00:05.8 
████████████████████████████████ 340.8 tiles/s +3.0% at z11, 1603 tiles in 0:00:04.6 
█████████                         98.4 tiles/s +1.7% at z12, 6154 tiles in 0:01:02.4 
██████████████████████████████   330.1 tiles/s +0.5% at z13, 24161 tiles in 0:01:13.1
████████████████████████         264.5 tiles/s +1.1% at z14, 95591 tiles in 0:06:01.4

Per-zoom average tile sizes (shorter is better)
#####################################################################################
████                            13.6K per tile ±0.0% at z0, 4 tiles in 0:00:01.3     
███████████████████████████████ 85.5K per tile ±0.0% at z1, 6 tiles in 0:00:00.4     
███████████████████████████     76.8K per tile ±0.0% at z2, 6 tiles in 0:00:00.5     
████████████                    34.4K per tile ±0.0% at z3, 6 tiles in 0:00:00.4     
███████                         21.3K per tile ±0.0% at z4, 6 tiles in 0:00:00.5     
██                               7.8K per tile ±0.0% at z5, 9 tiles in 0:00:00.6     
███                              9.1K per tile ±0.0% at z6, 11 tiles in 0:00:00.8    
████                            11.6K per tile ±0.0% at z7, 20 tiles in 0:00:00.9    
███                              8.8K per tile +0.0% at z8, 48 tiles in 0:00:01.2    
█                                4.7K per tile -0.0% at z9, 132 tiles in 0:00:01.4   
                                 2.2K per tile -0.0% at z10, 437 tiles in 0:00:05.8  
                                 1.0K per tile -0.0% at z11, 1603 tiles in 0:00:04.6 
                                 1.5K per tile +0.0% at z12, 6154 tiles in 0:01:02.4 
                                663.4 per tile +0.0% at z13, 24161 tiles in 0:01:13.1
                                815.3 per tile +0.0% at z14, 95591 tiles in 0:06:01.4

Generated 128,194 tiles in 0:08:36.6, 248.1 tiles/s +1.3%, 847.7 bytes/tile +0.0%
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 22:03:24.7 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:01.1 (0.8 tiles/s -2.3%)
#####################################################################################
█████████████████████████████ 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.3 (6.5 tiles/s -49.7%)
#####################################################################################
█████                       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.3 (6.2 tiles/s +7.1%)
#####################################################################################
█████                       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 +22.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 (7.4 tiles/s -1.9%)
#####################################################################################
███████████                    9.4K avg size ±0.0%, 9,671B (4/8/8) — 9,671B (4/8/8)  
█████████████████████████████ 23.0K avg size ±0.0%, 23,509B (4/8/7) — 23,509B (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 -2.4%)
#####################################################################################
█                         717.0 avg size ±0.0%, 717B (5/16/16) — 717B (5/16/16)      
█████                      2.0K avg size ±0.0%, 2,091B (5/17/16) — 2,091B (5/17/16)  
██████                     2.7K avg size ±0.0%, 2,778B (5/17/15) — 2,778B (5/17/15)  
█████████████████████████ 10.0K avg size ±0.0%, 10,207B (5/16/15) — 10,207B (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 (15.1 tiles/s -0.5%)
#####################################################################################
                          340.0 avg size ±0.0%, 340B (6/32/32) — 340B (6/32/32)      
██                         1.2K avg size ±0.0%, 1,183B (6/32/31) — 1,183B (6/32/31)  
███                        1.8K avg size ±0.0%, 1,793B (6/33/32) — 1,793B (6/33/32)  
███                        2.1K avg size ±0.0%, 2,182B (6/34/32) — 2,182B (6/34/32)  
█████████                  5.1K avg size ±0.0%, 5,267B (6/34/31) — 5,267B (6/34/31)  
█████████████████████████ 13.9K avg size ±0.0%, 14,213B (6/33/31) — 14,213B (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.3 (30.4 tiles/s +16.9%)
#####################################################################################
                          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 ±0.0%, 2,794B (7/65/64) — 2,915B (7/66/64)  
█████                      4.3K avg size ±0.0%, 4,378B (7/66/62) — 4,378B (7/66/62)  
███████                    5.9K avg size ±0.0%, 6,048B (7/68/63) — 6,048B (7/68/63)  
███████████                9.2K avg size ±0.0%, 9,454B (7/67/62) — 9,454B (7/67/62)  
█████████████████████████ 19.5K avg size ±0.0%, 19,966B (7/67/63) — 19,966B (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.4 (85.7 tiles/s +1.8%)
#####################################################################################
                       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.2K avg size ±0.0%, 1,111B (8/135/128) — 1,351B (8/134/124) 
███                     2.0K avg size ±0.0%, 1,595B (8/132/124) — 2,575B (8/136/127) 
████                    2.8K avg size ±0.0%, 2,718B (8/131/128) — 3,025B (8/131/129) 
███████                 4.7K avg size ±0.0%, 3,087B (8/132/129) — 6,070B (8/136/126) 
████████████████████   11.9K avg size +0.1%, 9,379B (8/134/126) — 16,711B (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.5 (175.5 tiles/s +28.2%)
#####################################################################################
                         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)     
                       143.5 avg size ±0.0%, 111B (9/268/258) — 148B (9/267/256)     
                       218.3 avg size ±0.0%, 150B (9/263/251) — 285B (9/268/254)     
█                      607.5 avg size ±0.0%, 288B (9/269/251) — 1,033B (9/265/255)   
██████                  2.5K avg size ±0.0%, 1,270B (9/270/255) — 4,861B (9/269/252) 
██████████████████████  8.5K avg size ±0.0%, 5,062B (9/272/252) — 16,659B (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.3 (277.0 tiles/s +17.1%)
#####################################################################################
                       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.7 avg size ±0.0%, 0B (10/546/501) — 78B (10/529/506)        
                      78.0 avg size ±0.0%, 78B (10/529/507) — 78B (10/532/509)       
                      78.1 avg size ±0.0%, 78B (10/532/510) — 83B (10/545/510)       
                     100.1 avg size ±0.0%, 85B (10/543/511) — 102B (10/527/499)      
                     105.6 avg size ±0.0%, 102B (10/527/500) — 146B (10/528/512)     
                     189.2 avg size ±0.0%, 146B (10/536/504) — 274B (10/546/508)     
██                   707.4 avg size ±0.0%, 276B (10/532/499) — 1,734B (10/541/509)   
████████████████████  4.8K avg size -0.0%, 1,745B (10/542/504) — 12,553B (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:02.9 (483.3 tiles/s -4.5%)
#######################################################################################
                       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.0%, 0B (11/1091/1006) — 74B (11/1092/1019)      
                      78.0 avg size ±0.0%, 76B (11/1087/1022) — 78B (11/1060/1028)     
                      78.0 avg size ±0.0%, 78B (11/1060/1029) — 78B (11/1065/1029)     
                      78.0 avg size ±0.0%, 78B (11/1065/1030) — 78B (11/1070/1020)     
                      86.9 avg size ±0.0%, 78B (11/1070/1021) — 101B (11/1067/1024)    
                     103.8 avg size ±0.0%, 101B (11/1068/1008) — 135B (11/1062/999)    
██                   254.5 avg size ±0.0%, 135B (11/1072/1028) — 475B (11/1086/1017)   
████████████████████  2.4K avg size ±0.0%, 477B (11/1075/1000) — 13,949B (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:18.5 (300.5 tiles/s +8.3%)
#######################################################################################
                       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.9 avg size ±0.0%, 0B (12/2180/2010) — 70B (12/2160/2038)      
                      76.1 avg size ±0.0%, 70B (12/2160/2039) — 78B (12/2117/2041)     
                      78.0 avg size ±0.0%, 78B (12/2117/2042) — 78B (12/2126/2035)     
                      78.0 avg size ±0.0%, 78B (12/2126/2036) — 78B (12/2135/2009)     
                      78.0 avg size ±0.0%, 78B (12/2135/2010) — 78B (12/2145/2065)     
                      82.7 avg size ±0.0%, 78B (12/2145/2066) — 101B (12/2130/2016)    
█                    144.1 avg size ±0.0%, 101B (12/2130/2048) — 251B (12/2111/2066)   
████████████████████  2.1K avg size ±0.0%, 251B (12/2147/2013) — 80,913B (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:00:49 (450.6 tiles/s +0.9%)
######################################################################################
                      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/4010)       
█                    65.9 avg size ±0.0%, 0B (13/4376/4011) — 78B (13/4229/4041)      
█                    78.0 avg size ±0.0%, 78B (13/4229/4042) — 78B (13/4246/4025)     
█                    78.0 avg size ±0.0%, 78B (13/4246/4026) — 78B (13/4262/4126)     
█                    78.0 avg size ±0.0%, 78B (13/4262/4127) — 78B (13/4279/4055)     
█                    78.0 avg size ±0.0%, 78B (13/4279/4056) — 78B (13/4299/4061)     
█                    86.9 avg size ±0.0%, 78B (13/4299/4062) — 102B (13/4287/4097)    
████████████████████ 1.0K avg size ±0.0%, 102B (13/4287/4098) — 47,493B (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:26.6 (424.7 tiles/s +0.9%)
######################################################################################
                       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/8090)      
█                     61.0 avg size ±0.0%, 0B (14/8750/8091) — 78B (14/8452/8188)     
██                    78.0 avg size ±0.0%, 78B (14/8452/8189) — 78B (14/8485/8122)    
██                    78.0 avg size ±0.0%, 78B (14/8485/8123) — 78B (14/8518/8137)    
██                    78.0 avg size ±0.0%, 78B (14/8518/8138) — 78B (14/8550/8263)    
██                    78.0 avg size ±0.0%, 78B (14/8550/8264) — 78B (14/8586/8059)    
██                    78.0 avg size ±0.0%, 78B (14/8586/8060) — 78B (14/8658/8168)    
████████████████████ 649.0 avg size +0.0%, 78B (14/8659/8137) — 63,186B (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 (11.3 tiles/s +4.7%)
#####################################################################################
█████████████████████████████ 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 (14.6 tiles/s -4.2%)
#####################################################################################
██████████████████████████ 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 (13.5 tiles/s -4.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.7 tiles/s +4.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.7 tiles/s +8.0%)
#####################################################################################
█████████████████████████████ 36.6K avg size ±0.0%, 37,476B (4/8/5) — 37,476B (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.5 tiles/s -0.9%)
#####################################################################################
██████████████████████████ 9.9K avg size ±0.0%, 10,162B (5/16/11) — 10,162B (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 (12.1 tiles/s -10.6%)
#####################################################################################
████████████████████████████ 6.5K avg size ±0.0%, 6,646B (6/33/22) — 6,646B (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 (13.4 tiles/s -29.9%)
#####################################################################################
████████████████████         6.2K avg size ±0.0%, 6,385B (7/67/45) — 6,385B (7/67/45)
████████████████████████████ 8.7K avg size ±0.0%, 8,911B (7/67/44) — 8,911B (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 (16.7 tiles/s -20.2%)
#####################################################################################
████████                 3.9K avg size ±0.0%, 4,039B (8/134/90) — 4,039B (8/134/90)  
███████████████████████ 10.7K avg size ±0.0%, 10,945B (8/134/89) — 10,945B (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 (38.5 tiles/s +13.3%)
#####################################################################################
                        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)          
                       85.0 avg size ±0.0%, 85B (9/269/178) — 85B (9/269/178)        
███                    3.2K avg size ±0.0%, 3,318B (9/269/180) — 3,318B (9/269/180)  
█████████████████████ 20.6K avg size ±0.0%, 21,135B (9/269/179) — 21,135B (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 (74.2 tiles/s +7.6%)
######################################################################################
                       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)          
                      88.0 avg size ±0.0%, 88B (10/539/357) — 88B (10/539/357)        
                     560.0 avg size ±0.0%, 127B (10/538/358) — 993B (10/538/360)      
                      1.1K avg size ±0.0%, 1,164B (10/539/358) — 1,164B (10/539/358)  
█                     2.1K avg size ±0.0%, 2,110B (10/539/360) — 2,110B (10/539/360)  
███                   5.5K avg size ±0.0%, 5,609B (10/538/359) — 5,609B (10/538/359)  
████████████████████ 30.1K avg size ±0.0%, 30,792B (10/539/359) — 30,792B (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.2 (128.7 tiles/s +1.8%)
#######################################################################################
                       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/1079/715)         
                       0.0 avg size ±0.0%, 0B (11/1079/717) — 0B (11/1079/719)         
                      69.3 avg size ±0.0%, 0B (11/1079/720) — 112B (11/1079/716)       
                     475.0 avg size ±0.0%, 135B (11/1077/717) — 1,002B (11/1077/720)   
█                     1.7K avg size ±0.0%, 1,042B (11/1078/717) — 2,483B (11/1078/720) 
████████████████████ 18.4K avg size ±0.0%, 4,673B (11/1077/719) — 28,807B (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.4 (24.9 tiles/s +11.2%)
#########################################################################################
                       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/2155/1431)         
                       0.0 avg size ±0.0%, 0B (12/2155/1432) — 0B (12/2157/1441)         
                       0.0 avg size ±0.0%, 0B (12/2158/1431) — 0B (12/2158/1441)         
                     157.2 avg size ±0.0%, 79B (12/2158/1433) — 246B (12/2157/1434)      
                      1.2K avg size ±0.0%, 279B (12/2157/1433) — 3,237B (12/2155/1437)   
████████████████████ 29.9K avg size ±0.0%, 5,869B (12/2157/1437) — 67,372B (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:01 (296.6 tiles/s +0.8%)
#########################################################################################
                       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/2867)         
                       0.0 avg size ±0.0%, 0B (13/4311/2868) — 0B (13/4314/2871)         
                      11.3 avg size ±0.0%, 0B (13/4314/2881) — 91B (13/4315/2869)        
                     527.5 avg size ±0.0%, 123B (13/4311/2872) — 1,803B (13/4312/2880)   
████████████████████ 15.8K avg size -0.0%, 1,863B (13/4315/2876) — 38,892B (13/4313/2877)


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.1 (171.8 tiles/s +4.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/8622/5730)         
                       0.0 avg size ±0.0%, 0B (14/8622/5731) — 0B (14/8626/5741)         
                       0.0 avg size ±0.0%, 0B (14/8626/5761) — 0B (14/8631/5762)         
                     226.7 avg size ±0.0%, 0B (14/8631/5763) — 1,041B (14/8624/5762)     
████████████████████ 17.6K avg size -0.0%, 1,066B (14/8624/5761) — 90,748B (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 (18.0 tiles/s +10.4%)
#####################################################################################
█████████████████████████████ 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 (16.3 tiles/s +9.3%)
#####################################################################################
█████████████████████████████ 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 (13.5 tiles/s +6.8%)
#####################################################################################
█████████████████████████████ 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 (12.6 tiles/s +30.1%)
#####################################################################################
█████████████████████████████ 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.7 tiles/s +17.5%)
#####################################################################################
█████████████████████████████ 11.2K avg size ±0.0%, 11,424B (4/4/6) — 11,424B (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 (13.6 tiles/s +0.5%)
#####################################################################################
███████████████                5.1K avg size ±0.0%, 5,172B (5/8/12) — 5,172B (5/8/12)
██████████████████████████████ 9.7K avg size ±0.0%, 9,902B (5/9/12) — 9,902B (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.2 (9.9 tiles/s +5.0%)
#####################################################################################
███                        3.3K avg size ±0.0%, 3,418B (6/17/24) — 3,418B (6/17/24)  
█████████████████████████ 27.2K avg size ±0.0%, 27,896B (6/18/24) — 27,896B (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 (25.1 tiles/s +22.1%)
#####################################################################################
█                          1.5K avg size ±0.0%, 1,552B (7/35/49) — 1,552B (7/35/49)  
██                         2.5K avg size ±0.0%, 2,552B (7/35/48) — 2,552B (7/35/48)  
███████████████           15.4K avg size ±0.0%, 15,729B (7/36/49) — 15,729B (7/36/49)
█████████████████████████ 25.1K avg size ±0.0%, 25,674B (7/36/48) — 25,674B (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 (23.0 tiles/s -0.6%)
#####################################################################################
                          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,159B (8/71/97) — 2,159B (8/71/97)  
███                        5.2K avg size ±0.0%, 5,301B (8/72/97) — 5,301B (8/72/97)  
███████                   10.3K avg size ±0.0%, 10,591B (8/73/98) — 10,591B (8/73/98)
███████████████████████   32.5K avg size ±0.0%, 33,327B (8/73/97) — 33,327B (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 (47.4 tiles/s +32.7%)
#####################################################################################
                        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,063B (9/143/194) — 1,581B (9/145/195)  
                       2.0K avg size ±0.0%, 2,024B (9/145/194) — 2,024B (9/145/194)  
                       2.1K avg size ±0.0%, 2,195B (9/144/194) — 2,195B (9/144/194)  
█                      5.2K avg size ±0.0%, 5,279B (9/146/196) — 5,279B (9/146/196)  
█████████████████████ 60.3K avg size ±0.0%, 61,773B (9/146/195) — 61,773B (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:01.5 (21.6 tiles/s +3.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)        
                     829.5 avg size ±0.0%, 261B (10/292/390) — 1,102B (10/291/391)   
                      1.2K avg size ±0.0%, 1,137B (10/287/389) — 1,323B (10/289/389) 
█                     1.9K avg size ±0.0%, 1,433B (10/289/388) — 2,576B (10/290/389) 
████████████████████ 29.4K avg size +0.0%, 4,795B (10/292/392) — 64,098B (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 (170.4 tiles/s +10.7%)
#####################################################################################
                       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/779)         
                     460.1 avg size ±0.0%, 0B (11/586/780) — 1,024B (11/580/777)     
█                     1.3K avg size ±0.0%, 1,052B (11/583/780) — 1,586B (11/581/778) 
████████████████████ 14.2K avg size +0.0%, 1,707B (11/580/778) — 76,080B (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:07.6 (41.7 tiles/s -0.3%)
##########################################################################################
                       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/1567)          
                       0.0 avg size ±0.0%, 0B (12/1169/1568) — 0B (12/1173/1555)          
                     561.0 avg size ±0.0%, 0B (12/1173/1556) — 1,254B (12/1157/1555)      
████████████████████ 25.1K avg size ±0.0%, 1,270B (12/1162/1556) — 296,820B (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:06.7 (181.4 tiles/s +0.6%)
########################################################################################
                       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/3136)        
                      15.7 avg size ±0.0%, 0B (13/2341/3137) — 262B (13/2340/3126)      
████████████████████ 11.4K avg size -0.0%, 457B (13/2341/3128) — 148,293B (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:46.2 (103.4 tiles/s -0.7%)
######################################################################################
                       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/6259)      
████████████████████ 25.2K avg size +0.0%, 0B (14/4689/6260) — 519,781B (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 (17.8 tiles/s -0.6%)
#####################################################################################
█████████████████████████████ 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 (26.2 tiles/s -3.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 (22.7 tiles/s -2.8%)
#####################################################################################
████████                    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 (20.0 tiles/s +1.4%)
#####################################################################################
█████                         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 (25.0 tiles/s +7.5%)
#####################################################################################
████████                      11.2K avg size ±0.0%, 11,515B (4/7/5) — 11,515B (4/7/5)
█████████████████████████████ 36.6K avg size ±0.0%, 37,476B (4/8/5) — 37,476B (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 (15.9 tiles/s +9.7%)
#####################################################################################
████████████████          11.9K avg size ±0.0%, 12,224B (5/16/10) — 12,224B (5/16/10)
█████████████████████████ 17.8K avg size ±0.0%, 18,266B (5/15/10) — 18,266B (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.1 (10.1 tiles/s -4.4%)
#####################################################################################
██████████                11.6K avg size ±0.0%, 11,847B (6/32/21) — 11,847B (6/32/21)
█████████████████████████ 27.2K avg size ±0.0%, 27,880B (6/31/21) — 27,880B (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 (7.7 tiles/s +3.7%)
#####################################################################################
██████████                35.2K avg size ±0.0%, 36,092B (7/64/42) — 36,092B (7/64/42)
█████████████████████████ 87.3K avg size ±0.0%, 89,399B (7/63/42) — 89,399B (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 (8.7 tiles/s +0.6%)
#####################################################################################
█                     10.3K avg size ±0.0%, 10,590B (8/128/84) — 10,590B (8/128/84)  
█                     15.7K avg size ±0.0%, 16,105B (8/127/84) — 16,105B (8/127/84)  
█████                 55.5K avg size ±0.0%, 56,819B (8/128/85) — 56,819B (8/128/85)  
████████████████████ 188.1K avg size -0.0%, 192,600B (8/127/85) — 192,600B (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.4 (9.9 tiles/s +28.2%)
#######################################################################################
                       6.7K avg size ±0.0%, 6,810B (9/256/169) — 6,810B (9/256/169)    
█                     23.6K avg size ±0.0%, 24,130B (9/255/169) — 24,130B (9/255/169)  
██████                84.2K avg size ±0.0%, 86,236B (9/256/170) — 86,236B (9/256/170)  
████████████████████ 277.5K avg size -0.0%, 284,132B (9/255/170) — 284,132B (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:02.6 (4.4 tiles/s +15.5%)
#########################################################################################
                      908.0 avg size ±0.0%, 733B (10/513/341) — 1,083B (10/513/339)      
                       2.2K avg size ±0.0%, 2,221B (10/510/341) — 2,221B (10/510/341)    
                       3.0K avg size ±0.0%, 3,031B (10/510/339) — 3,031B (10/510/339)    
                       3.3K avg size ±0.0%, 3,372B (10/513/340) — 3,372B (10/513/340)    
                       8.4K avg size ±0.0%, 8,566B (10/512/339) — 8,566B (10/512/339)    
█                     26.0K avg size ±0.0%, 19,026B (10/512/341) — 34,239B (10/511/339)  
███                   53.0K avg size ±0.0%, 54,321B (10/511/341) — 54,321B (10/511/341)  
████                  65.5K avg size ±0.0%, 67,088B (10/510/340) — 67,088B (10/510/340)  
██████               103.6K avg size ±0.0%, 106,086B (10/512/340) — 106,086B (10/512/340)
████████████████████ 305.5K avg size -0.0%, 312,825B (10/511/340) — 312,825B (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:00.8 (44.8 tiles/s +17.8%)
##########################################################################################
                        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)         
                      834.5 avg size ±0.0%, 694B (11/1024/683) — 925B (11/1020/680)       
                       2.8K avg size ±0.0%, 1,181B (11/1026/680) — 5,318B (11/1025/679)   
██                    17.3K avg size ±0.0%, 9,241B (11/1024/679) — 27,708B (11/1024/682)  
██████                39.1K avg size -0.1%, 33,019B (11/1022/682) — 50,244B (11/1021/680) 
██████████            63.3K avg size -0.0%, 52,929B (11/1023/682) — 72,716B (11/1024/680) 
████████████████████ 120.9K avg size -0.0%, 88,424B (11/1022/681) — 161,968B (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:32.6 (4.4 tiles/s -3.3%)
#############################################################################################
                        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/1367)            
                        0.0 avg size ±0.0%, 0B (12/2047/1367) — 0B (12/2051/1357)            
                        0.0 avg size ±0.0%, 0B (12/2051/1358) — 0B (12/2052/1366)            
                      439.5 avg size ±0.0%, 0B (12/2052/1367) — 903B (12/2041/1359)          
                       2.9K avg size ±0.0%, 908B (12/2041/1360) — 9,088B (12/2044/1365)      
█                     20.5K avg size ±0.0%, 9,957B (12/2050/1359) — 42,408B (12/2042/1360)   
███████               82.1K avg size -0.0%, 45,732B (12/2050/1362) — 104,544B (12/2042/1362) 
███████████          128.6K avg size +0.0%, 111,883B (12/2049/1361) — 159,611B (12/2044/1361)
████████████████████ 216.4K avg size +0.0%, 160,181B (12/2045/1363) — 348,045B (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:00:16.3 (32.3 tiles/s -1.0%)
###########################################################################################
                       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/4092/2713)           
                       0.0 avg size ±0.0%, 0B (13/4092/2714) — 0B (13/4101/2713)           
                       0.0 avg size ±0.0%, 0B (13/4101/2714) — 0B (13/4104/2720)           
                      52.8 avg size ±0.0%, 0B (13/4104/2725) — 195B (13/4085/2728)         
                      1.1K avg size ±0.0%, 202B (13/4088/2731) — 2,998B (13/4103/2721)     
██                   12.3K avg size -0.0%, 3,435B (13/4099/2730) — 24,144B (13/4093/2731)  
███████              34.8K avg size -0.0%, 24,433B (13/4088/2729) — 45,179B (13/4092/2718) 
███████████          54.9K avg size +0.0%, 45,513B (13/4095/2727) — 66,095B (13/4096/2720) 
████████████████████ 96.6K avg size +0.0%, 67,585B (13/4093/2726) — 185,480B (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:42.3 (19.3 tiles/s +1.9%)
############################################################################################
                        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/5466)           
                        0.0 avg size ±0.0%, 0B (14/8180/5467) — 0B (14/8198/5431)           
                        0.0 avg size ±0.0%, 0B (14/8198/5432) — 0B (14/8206/5431)           
                        7.2 avg size ±0.0%, 0B (14/8206/5432) — 123B (14/8184/5433)         
                      793.2 avg size ±0.0%, 124B (14/8175/5458) — 2,654B (14/8192/5464)     
█                     10.6K avg size ±0.0%, 2,694B (14/8187/5464) — 20,351B (14/8202/5443)  
███                   30.3K avg size +0.0%, 20,428B (14/8201/5440) — 42,253B (14/8195/5447) 
██████                57.4K avg size +0.0%, 42,359B (14/8197/5456) — 80,490B (14/8195/5446) 
████████████████████ 168.5K avg size -0.0%, 80,569B (14/8178/5457) — 638,373B (14/8185/5447)




@TomPohys
Copy link
Member

TomPohys commented Jul 2, 2021

Thanks, looks good!

@TomPohys TomPohys merged commit 1b0b1fd into openmaptiles:master Jul 2, 2021
@ZeLonewolf ZeLonewolf deleted the concurrency-ordering branch July 4, 2021 01:23
@farfromrefug
Copy link

@TomPohys i cant build anymore after that PR. I get the error ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification

farfromrefug added a commit to Akylas/openmaptiles that referenced this pull request Jul 17, 2021
…aptiles#1135)"

This reverts commit 1b0b1fd.

# Conflicts:
#	layers/transportation_name/update_transportation_name.sql
@ZeLonewolf
Copy link
Contributor Author

Can you provide steps to reproduce? I've built many times with this change in place.

@farfromrefug
Copy link

I building for france and get it on every run. Though i know think it might be because i use a newer version of imposm. I will check

@farfromrefug
Copy link

I use this fork of imposm3 https://github.com/farfromrefug/imposm3 but it should not make a difference. Could you test with "Lyon bbbike" to see if you see the error too? It is small and broke here.
I reverted this commit and now it works

@ZeLonewolf
Copy link
Contributor Author

I'm currently building a France mbtiles (using just a stock ./quickstart.sh france) and it seems to be working so far without issue.

The section of SQL that the error message is referring to is this:

ALTER TABLE osm_route_member ADD COLUMN IF NOT EXISTS concurrency_index int;

INSERT INTO osm_route_member (id, concurrency_index)
  SELECT
    id,
    ROW_NUMBER() over (PARTITION BY member ORDER BY network_type, network, LENGTH(ref), ref) AS concurrency_index
  FROM osm_route_member
  ON CONFLICT (id) DO UPDATE SET concurrency_index = EXCLUDED.concurrency_index;

What that code does is to add a column to osm_route_member (if it doesn't exist) and then populates that column with the concurrency rank of routes associated with a way (useful for when a way is a member of more than one route). The ON CONFLICT ... DO UPDATE syntax is equivalent to REPLACE INTO or ON DUPLICATE KEY UPDATE commands in MySQL, for example.

This syntax is supposed to be valid as of postgres 9.5.

Since it works on the dockerized openmaptiles postgres but fails on yours, I suspect the different may be with the version of postgres in use? The postgres in the dockerized container in the distro is reported as:
PostgreSQL 9.6.20 on x86_64-pc-linux-gnu (Debian 9.6.20-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit

Can you check on which version of postgres you're running?

@ZeLonewolf
Copy link
Contributor Author

Here's the quickstart.log from a load of France using the current OpenMapTiles master.

@farfromrefug
Copy link

Thanks a lot for looking deeply at this. I ll report tonight whrn in front of my computer

@farfromrefug
Copy link

@ZeLonewolf sorry for the late answer. Looking at my openmaptiles_postgres_1 container the version is 9.6.21-1.pgdg90+1>

@ZeLonewolf
Copy link
Contributor Author

@farfromrefug there's no obvious reason why that shouldn't work. What happens when you log into the container with psql and run the SQL fragment in #1135 (comment) ?

@farfromrefug
Copy link

@ZeLonewolf i ll test. My build for france is still running. It takes likes 4 days on my machine :P May i ask what computer you ran it on to be so fast?

@ZeLonewolf
Copy link
Contributor Author

Just my day-to-day laptop with SSD hard drive:
image

TomPohys pushed a commit that referenced this pull request Jul 26, 2021
Fixes #1128

This PR adds 6 new columns to the `transportation_name` column, named `route_1` through `route_6`.  These columns contain route information for a section of roadway.  The value is stored in the form **network=ref**.  For example, Interstate 95 in the United States would be `US:I=95`.  Thus, each `route_N` value contains enough information to render a highway shield.  Since a section of road can be a part of more than one route, the `route_2`, `route_3`, etc, will contain the 2nd, 3rd, etc., concurrent routes.

The technical approach was to extend the change in #1135, which added ordered concurrency indexes to the `osm_route_member` table by joining up to the the first six entries to the `osm_transportation_name_network` table.  In addition, that PR provided a ranking system for concurrent highways, ordering first by `network_type` (for example, `us-interstate`, `us-state`, etc), then alphabetically by network name, and then by ref in ascending order.  This ordering of concurrent route memberships is now exposed in this PR in the sequential `route_N` values, meaning that rendered concurrent highway shields will be reasonably sorted.

The renderings below were generated using this branch of OpenMapTiles, as well as a separate branch of openstreetmap-americana:
https://github.com/ZeLonewolf/openstreetmap-americana/tree/openmaptilers-new-features-test

The rendering approach is to use the [formatted expressions](https://maplibre.org/maplibre-gl-js-docs/style-spec/expressions/) feature in mapLibre to insert images into a string of text.  Blank shields are added to the sprite sheet for all possible route networks.  Next, a [styleimagemissing](https://maplibre.org/maplibre-gl-js-docs/api/map/) callback is registered.  As each shield ID is requested, the callback retrieves the sprite shield blank associated with the route's network, draw the `ref` text on the shield, and insert the complete shield back into the map.

Of note, this approach currently results in shields which are rotated about the road rather than being viewport aligned.  This issue is currently documented as maplibre/maplibre-gl-js#188.  A separate repository (https://github.com/ZeLonewolf/maplibre-shield-rotation-sample) has been created as a test case to fix this rotation issue.

Adding route concurrency information to OpenMapTiles would be a major step forward in achieving comprehensive highway shield renderings in a vector map!

**Renderings**:

![routes_1](https://user-images.githubusercontent.com/3254090/126054350-fa7475a7-1b60-4989-bbc2-107678e6c73b.png)
![routes_2](https://user-images.githubusercontent.com/3254090/126054351-fe73bc70-d75f-4ab5-8365-0ee3c3d3eab0.png)
![routes_3](https://user-images.githubusercontent.com/3254090/126054353-a1e74c8f-df21-423c-a300-b7f1a7c9231c.png)
![routes_4](https://user-images.githubusercontent.com/3254090/126054355-6b5dcc83-c611-42b3-bb67-d4f26d789744.png)
@Cactusbone
Copy link

I'm currently building a France mbtiles (using just a stock ./quickstart.sh france) and it seems to be working so far without issue.

The section of SQL that the error message is referring to is this:

ALTER TABLE osm_route_member ADD COLUMN IF NOT EXISTS concurrency_index int;

INSERT INTO osm_route_member (id, concurrency_index)
  SELECT
    id,
    ROW_NUMBER() over (PARTITION BY member ORDER BY network_type, network, LENGTH(ref), ref) AS concurrency_index
  FROM osm_route_member
  ON CONFLICT (id) DO UPDATE SET concurrency_index = EXCLUDED.concurrency_index;

What that code does is to add a column to osm_route_member (if it doesn't exist) and then populates that column with the concurrency rank of routes associated with a way (useful for when a way is a member of more than one route). The ON CONFLICT ... DO UPDATE syntax is equivalent to REPLACE INTO or ON DUPLICATE KEY UPDATE commands in MySQL, for example.

This syntax is supposed to be valid as of postgres 9.5.

Since it works on the dockerized openmaptiles postgres but fails on yours, I suspect the different may be with the version of postgres in use? The postgres in the dockerized container in the distro is reported as:
PostgreSQL 9.6.20 on x86_64-pc-linux-gnu (Debian 9.6.20-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit

Can you check on which version of postgres you're running?

Hi ! I'm having the same problem loading the whole world.
I've checked, and the primary key is a compound of (osm_id, id), and there's no unique index on the id column alone, which could explain the raised error. Can you check if you have an index on the id column ? related docs for quick access :)

It worked on PostgreSQL 9.6.21 on x86_64-pc-linux-gnu (Debian 9.6.21-1.pgdg90+1), compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (openmaptiles/postgis), the "official" docker image. At first it did not work but I had forgotten the import-borders step, and after that, it worked well (yes, this seems completely unrelated...)
but raised the error on a custom built postgis PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit, however I could not find any change in postgresql related to on conflict which could explain this behavior change.

proposed fragment do raise the error, however if i add osm_id in it, there is no error raised.

INSERT INTO osm_route_member (id, osm_id, concurrency_index)
  SELECT
    id, osm_id,
    ROW_NUMBER() over (PARTITION BY member ORDER BY network_type, network, LENGTH(ref), ref) AS concurrency_index
  FROM osm_route_member
  ON CONFLICT (id, osm_id) DO UPDATE SET concurrency_index = EXCLUDED.concurrency_index;

@ZeLonewolf
Copy link
Contributor Author

@Cactusbone great catch - that index mismatch is definitely a problem. I'll work on a fix if you don't beat me to it!

@ZeLonewolf
Copy link
Contributor Author

So, investigating this further, in my database, the primary key is the id column alone:

openmaptiles=# \d osm_route_member
                                       Table "public.osm_route_member"
      Column       |        Type        | Collation | Nullable |                   Default
-------------------+--------------------+-----------+----------+----------------------------------------------
 id                | integer            |           | not null | nextval('osm_route_member_id_seq'::regclass)
 osm_id            | bigint             |           |          |
 member            | bigint             |           |          |
 role              | character varying  |           |          |
 type              | smallint           |           |          |
 ref               | character varying  |           |          |
 network           | character varying  |           |          |
 name              | character varying  |           |          |
 network_type      | route_network_type |           |          |
 concurrency_index | integer            |           |          |
Indexes:
    "osm_route_member_pkey" PRIMARY KEY, btree (id)
    "osm_route_member_member_idx" btree (member)
    "osm_route_member_name_idx" btree (name)
    "osm_route_member_network_idx" btree (network)
    "osm_route_member_network_type_idx" btree (network_type)
    "osm_route_member_osm_id_idx" btree (osm_id)
    "osm_route_member_ref_idx" btree (ref)
Triggers:
    trigger_store_transportation_route_member AFTER INSERT OR DELETE OR UPDATE ON osm_route_member FOR EACH ROW EXECUTE PROCEDURE transportation_name.route_member_store()

The proposed fix above gives me the error:
ERROR: there is no unique or exclusion constraint matching the ON CONFLICT specification

I am not sure why your table has a primary key on both fields, while my table has a primary key on id alone, but it appears to be the route of the problem. The osm_route_member table is generated by imposm. Is it possible that there's some kind of imposm difference causing the issue?

@farfromrefug
Copy link

@ZeLonewolf indeed i use my own fork of imposm https://github.com/farfromrefug/imposm3/commits/master
But seeing the commit log i think we use the same version 1.11.1. I just added a commit so support multilinestring

@Cactusbone
Copy link

\d osm_route_member
                                       Table "public.osm_route_member"
      Column       |        Type        | Collation | Nullable |                   Default
-------------------+--------------------+-----------+----------+----------------------------------------------
 id                | integer            |           | not null | nextval('osm_route_member_id_seq'::regclass)
 osm_id            | bigint             |           | not null |
 member            | bigint             |           |          |
 role              | character varying  |           |          |
 type              | smallint           |           |          |
 ref               | character varying  |           |          |
 network           | character varying  |           |          |
 name              | character varying  |           |          |
 network_type      | route_network_type |           |          |
 concurrency_index | integer            |           |          |
Indexes:
    "osm_route_member_pkey" PRIMARY KEY, btree (osm_id, id)
    "osm_route_member_member_idx" btree (member)
    "osm_route_member_name_idx" btree (name)
    "osm_route_member_network_idx" btree (network)
    "osm_route_member_network_type_idx" btree (network_type)
    "osm_route_member_ref_idx" btree (ref)
Triggers:
    trigger_store_transportation_route_member AFTER INSERT OR DELETE OR UPDATE ON osm_route_member FOR EACH ROW EXECUTE FUNCTION transportation_name.route_member_store()

so yeah, something's wrong here, I'll try to narrow it down

@Cactusbone
Copy link

Cactusbone commented Jul 27, 2021

This commit looks like a good culprit, however it's been around since imposm 0.8.0

I'm using the latest openmaptiles-tools from docker hub, I'm not sure which imposm is shipped with the 5.3 version

OK, it seems the problem stems from there, the 5.3 and 5.3.2 ships with a custom fork from v2017-10-18,
'latest' versions includes updated imposm 0.10 or 0.11.1

see here

bottom line: to make this work, ensure you use openmaptiles-tools 5.3 during all steps, and not the latest image.

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.

Store multiple-route concurrency indexes
4 participants