Skip to content

Instantly share code, notes, and snippets.

@smellman
Created March 22, 2019 08:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smellman/060ee2693589e070deacc1715f4642f3 to your computer and use it in GitHub Desktop.
Save smellman/060ee2693589e070deacc1715f4642f3 to your computer and use it in GitHub Desktop.
OpenMapTiles postserve research at 2019/03/22.
Append (cost=4.08..275139.53 rows=16 width=32) (actual time=21.317..26.948 rows=16 loops=1)
-> Aggregate (cost=4.08..4.09 rows=1 width=32) (actual time=21.316..21.317 rows=1 loops=1)
-> Append (cost=0.00..3.95 rows=27 width=3447) (actual time=0.202..11.278 rows=27 loops=1)
-> Append (cost=0.00..3.54 rows=27 width=3447) (actual time=0.202..11.274 rows=27 loops=1)
-> Seq Scan on ne_110m_ocean (cost=0.00..1.03 rows=2 width=41832) (actual time=0.201..10.175 rows=2 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL))
-> Seq Scan on ne_110m_lakes (cost=0.00..2.38 rows=25 width=376) (actual time=0.099..1.093 rows=25 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL))
-> Aggregate (cost=172864.81..172864.82 rows=1 width=32) (actual time=0.010..0.010 rows=1 loops=1)
-> Append (cost=0.00..172859.56 rows=9 width=194) (actual time=0.008..0.008 rows=0 loops=1)
-> Result (cost=0.00..3.16 rows=1 width=1604) (actual time=0.001..0.001 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on ne_110m_rivers_lake_centerlines (cost=0.00..3.16 rows=1 width=1442) (never executed)
Filter: ((featurecla)::text = 'River'::text)
-> Result (cost=0.00..66.78 rows=1 width=1094) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on ne_50m_rivers_lake_centerlines (cost=0.00..66.78 rows=1 width=932) (never executed)
Filter: ((featurecla)::text = 'River'::text)
-> Result (cost=0.00..446.19 rows=1 width=3023) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on ne_10m_rivers_lake_centerlines (cost=0.00..446.19 rows=1 width=2861) (never executed)
Filter: ((featurecla)::text = 'River'::text)
-> Subquery Scan on "*SELECT* 4" (cost=0.00..0.00 rows=1 width=194) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 5" (cost=0.00..0.00 rows=1 width=194) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 6" (cost=0.00..0.00 rows=1 width=194) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 7" (cost=0.00..85460.99 rows=1 width=895) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..85460.98 rows=1 width=807) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_waterway_linestring (cost=0.00..85460.98 rows=1 width=781) (never executed)
Filter: ((waterway)::text = ANY ('{river,canal}'::text[]))
-> Subquery Scan on "*SELECT* 8" (cost=0.00..86882.38 rows=1 width=895) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..86882.37 rows=1 width=807) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_waterway_linestring osm_waterway_linestring_1 (cost=0.00..86882.37 rows=1 width=781) (never executed)
Filter: ((waterway)::text = ANY ('{river,canal,stream,drain,ditch}'::text[]))
-> Subquery Scan on "*SELECT* 9" (cost=0.00..0.00 rows=1 width=194) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=2.88..2.89 rows=1 width=32) (actual time=2.314..2.314 rows=1 loops=1)
-> Append (cost=0.00..1.38 rows=21 width=168) (actual time=0.051..1.214 rows=11 loops=1)
-> Seq Scan on ne_110m_glaciated_areas (cost=0.00..1.17 rows=11 width=1376) (actual time=0.050..1.202 rows=11 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.001..0.001 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 4_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 5_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 6_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 7_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.000..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 8_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 9_1" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 10" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 11" (cost=0.00..0.00 rows=1 width=168) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=118.07..118.08 rows=1 width=32) (actual time=0.008..0.008 rows=1 loops=1)
-> Append (cost=0.00..117.84 rows=9 width=172) (actual time=0.007..0.007 rows=0 loops=1)
-> Result (cost=0.00..117.79 rows=1 width=414) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on ne_50m_urban_areas (cost=0.00..117.79 rows=1 width=278) (never executed)
Filter: (scalerank <= 2)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 4_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 5_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 6_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.000..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 7_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 8_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 9_2" (cost=0.00..0.00 rows=1 width=172) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.33..0.34 rows=1 width=32) (actual time=0.009..0.009 rows=1 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=180) (actual time=0.008..0.008 rows=0 loops=1)
Sort Key: rank
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.00..0.00 rows=0 width=180) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.34..0.35 rows=1 width=32) (actual time=0.008..0.008 rows=1 loops=1)
-> Append (cost=0.01..0.02 rows=1 width=196) (actual time=0.007..0.007 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 2" (cost=0.01..0.02 rows=1 width=196) (actual time=0.006..0.006 rows=0 loops=1)
Filter: (st_asmvtgeom("*SELECT* 2".geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL)
-> WindowAgg (cost=0.01..0.02 rows=0 width=242) (actual time=0.006..0.006 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=262) (actual time=0.005..0.005 rows=0 loops=1)
Sort Key: (labelgrid(geometry_point, '25600'::numeric)), (CASE WHEN ((boundary)::text = 'national_park'::text) THEN true ELSE false END) DESC, ((COALESCE(NULLIF((tags -> 'wikipedia'::text), ''::text), NULLIF((tags -> 'wikidata'::text), ''::text)) IS NOT NULL)) DESC, area DESC
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.00..0.00 rows=0 width=262) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=100180.17..100180.18 rows=1 width=32) (actual time=0.943..0.943 rows=1 loops=1)
-> Append (cost=0.00..100178.25 rows=191 width=278) (actual time=0.017..0.449 rows=186 loops=1)
-> Seq Scan on ne_110m_admin_0_boundary_lines_land (cost=0.00..11.79 rows=185 width=281) (actual time=0.017..0.431 rows=186 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.00..3154.24 rows=1 width=95) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen8 (cost=0.00..3154.24 rows=1 width=95) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..3491.24 rows=1 width=119) (actual time=0.000..0.001 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen7 (cost=0.00..3491.24 rows=1 width=119) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..4047.24 rows=1 width=159) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen6 (cost=0.00..4047.24 rows=1 width=159) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..14835.31 rows=1 width=195) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen5 (cost=0.00..14835.31 rows=1 width=195) (never executed)
Filter: (admin_level <= 6)
-> Result (cost=0.00..18248.31 rows=1 width=262) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen4 (cost=0.00..18248.31 rows=1 width=262) (never executed)
Filter: (admin_level <= 6)
-> Result (cost=0.00..56387.26 rows=1 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen3 (cost=0.00..56387.26 rows=1 width=285) (never executed)
Filter: (admin_level <= 8)
-> Aggregate (cost=0.00..0.01 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=96) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=13.11..13.12 rows=1 width=32) (actual time=0.020..0.020 rows=1 loops=1)
-> Sort (cost=12.76..12.81 rows=20 width=192) (actual time=0.019..0.019 rows=0 loops=1)
Sort Key: zoom_levels.z_order
Sort Method: quicksort Memory: 25kB
-> Subquery Scan on zoom_levels (cost=0.00..12.32 rows=20 width=192) (actual time=0.017..0.017 rows=0 loops=1)
-> Append (cost=0.00..0.12 rows=20 width=285) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.001..0.001 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 8_3" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 9_3" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 10_1" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 11_1" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 12" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 13" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 14" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 15" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 16" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 17" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 18" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 19" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 20" (cost=0.00..0.00 rows=1 width=285) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.10..0.11 rows=1 width=32) (actual time=0.006..0.006 rows=1 loops=1)
-> Sort (cost=0.08..0.09 rows=1 width=57) (actual time=0.005..0.005 rows=0 loops=1)
Sort Key: "*SELECT* 2_1".render_height, (st_ymin(("*SELECT* 2_1".geometry)::box3d)) DESC
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.01..0.07 rows=1 width=57) (actual time=0.003..0.003 rows=0 loops=1)
-> Append (cost=0.01..0.03 rows=1 width=41) (actual time=0.003..0.003 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 2_1" (cost=0.01..0.03 rows=1 width=41) (actual time=0.002..0.002 rows=0 loops=1)
Filter: (st_asmvtgeom("*SELECT* 2_1".geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL)
-> Unique (cost=0.01..0.02 rows=1 width=49) (actual time=0.002..0.002 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=49) (actual time=0.002..0.002 rows=0 loops=1)
Sort Key: osm_id
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.00..0.00 rows=0 width=49) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=326.18..326.19 rows=1 width=32) (actual time=2.196..2.196 rows=1 loops=1)
-> Function Scan on layer_water_name (cost=0.25..12.75 rows=995 width=200) (actual time=2.194..2.194 rows=0 loops=1)
Filter: (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 256, true) IS NOT NULL)
-> Aggregate (cost=0.33..0.34 rows=1 width=32) (actual time=0.004..0.004 rows=1 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=316) (actual time=0.003..0.003 rows=0 loops=1)
Sort Key: z_order
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.00..0.00 rows=0 width=316) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=50.44..50.45 rows=1 width=32) (actual time=0.093..0.093 rows=1 loops=1)
-> Sort (cost=22.60..22.82 rows=85 width=240) (actual time=0.030..0.030 rows=1 loops=1)
Sort Key: (1)
Sort Method: quicksort Memory: 27kB
-> Append (cost=0.00..19.88 rows=85 width=240) (actual time=0.020..0.025 rows=1 loops=1)
-> Seq Scan on osm_continent_point (cost=0.00..16.60 rows=80 width=240) (actual time=0.009..0.009 rows=0 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 256, true) IS NOT NULL))
-> Subquery Scan on "*SELECT* 2_2" (cost=0.00..1.04 rows=1 width=1767) (actual time=0.011..0.011 rows=1 loops=1)
-> Seq Scan on osm_country_point (cost=0.00..1.03 rows=1 width=1738) (actual time=0.010..0.010 rows=1 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND (rank <= 1) AND ((name)::text <> ''::text) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 256, true) IS NOT NULL))
-> Seq Scan on osm_state_point (cost=0.00..1.01 rows=1 width=240) (actual time=0.003..0.003 rows=0 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geometry) AND ((name)::text <> ''::text) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 256, true) IS NOT NULL) AND ((rank + 2) <= 0) AND (((is_in_country)::text = ANY ('{"United Kingdom",USA,Россия,Brasil,China,India}'::text[])) OR ((i
s_in_country_code)::text = ANY ('{AU,CN,IN,BR,US}'::text[]))))
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 6_3" (cost=0.00..0.00 rows=1 width=240) (actual time=0.001..0.001 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=1545.66..1545.67 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)
-> Result (cost=0.00..1545.65 rows=1 width=39) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_housenumber_point (cost=0.00..1545.65 rows=1 width=39) (never executed)
Filter: (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 8, true) IS NOT NULL)
-> Aggregate (cost=0.35..0.36 rows=1 width=32) (actual time=0.007..0.007 rows=1 loops=1)
-> Subquery Scan on layer_poi (cost=0.03..0.03 rows=1 width=252) (actual time=0.005..0.005 rows=0 loops=1)
Filter: (st_asmvtgeom(layer_poi.geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 64, true) IS NOT NULL)
-> Sort (cost=0.03..0.03 rows=0 width=288) (actual time=0.005..0.005 rows=0 loops=1)
Sort Key: ((row_number() OVER (?))::integer)
Sort Method: quicksort Memory: 25kB
-> WindowAgg (cost=0.01..0.02 rows=0 width=288) (actual time=0.003..0.003 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=377) (actual time=0.003..0.003 rows=0 loops=1)
Sort Key: (labelgrid(geometry, '25600'::numeric)), (CASE WHEN ((name)::text = ''::text) THEN 2000 ELSE CASE CASE WHEN ((subclass)::text = ANY ('{accessories,antiques,beauty,bed,boutique,camera,carpet,charity,chemist,chocolate,coffee,computer,confectionery,convenience,copyshop,cosmetics,garden_centre,doityourself,erotic,electronics,fabric,florist,frozen_food,furniture,video_games,video,general,gift,hardware,hearing_aids,hifi,ice_cream,interior_decoration,jewelry,kiosk,lamps,mall,massage,motorcycle,mobile_phone
,newsagent,optician,outdoor,perfumery,perfume,pet,photo,second_hand,shoes,sports,stationery,tailor,tattoo,ticket,tobacco,toys,travel_agency,watches,weapons,wholesale}'::text[])) THEN 'shop'::text WHEN ((subclass)::text = ANY ('{townhall,public_building,courthouse,community_centre}'::text[])) THEN 'town_hall'::text WHEN ((subclass)::text = ANY ('{golf,golf_course,miniature_golf}'::text[])) THEN 'golf'::text WHEN ((subclass)::text = ANY ('{fast_food,food_court}'::text[])) THEN 'fast_food'::text WHEN ((subclass)::text = ANY ('{park,bbq}'::text[
])) THEN 'park'::text WHEN ((subclass)::text = ANY ('{bus_stop,bus_station}'::text[])) THEN 'bus'::text WHEN ((((subclass)::text = 'station'::text) AND ((mapping_key)::text = 'railway'::text)) OR ((subclass)::text = ANY ('{halt,tram_stop,subway}'::text[]))) THEN 'railway'::text WHEN (((subclass)::text = 'station'::text) AND ((mapping_key)::text = 'aerialway'::text)) THEN 'aerialway'::text WHEN ((subclass)::text = ANY ('{subway_entrance,train_station_entrance}'::text[])) THEN 'entrance'::text WHEN ((subclass)::text = ANY ('{camp_site,caravan_
site}'::text[])) THEN 'campsite'::text WHEN ((subclass)::text = ANY ('{laundry,dry_cleaning}'::text[])) THEN 'laundry'::text WHEN ((subclass)::text = ANY ('{supermarket,deli,delicatessen,department_store,greengrocer,marketplace}'::text[])) THEN 'grocery'::text WHEN ((subclass)::text = ANY ('{books,library}'::text[])) THEN 'library'::text WHEN ((subclass)::text = ANY ('{university,college}'::text[])) THEN 'college'::text WHEN ((subclass)::text = ANY ('{hotel,motel,bed_and_breakfast,guest_house,hostel,chalet,alpine_hut,camp_site}'::text[])) TH
EN 'lodging'::text WHEN ((subclass)::text = ANY ('{chocolate,confectionery}'::text[])) THEN 'ice_cream'::text WHEN ((subclass)::text = ANY ('{post_box,post_office}'::text[])) THEN 'post'::text WHEN ((subclass)::text = 'cafe'::text) THEN 'cafe'::text WHEN ((subclass)::text = ANY ('{school,kindergarten}'::text[])) THEN 'school'::text WHEN ((subclass)::text = ANY ('{alcohol,beverages,wine}'::text[])) THEN 'alcohol_shop'::text WHEN ((subclass)::text = ANY ('{bar,nightclub}'::text[])) THEN 'bar'::text WHEN ((subclass)::text = ANY ('{marina,dock}'
::text[])) THEN 'harbor'::text WHEN ((subclass)::text = ANY ('{car,car_repair,taxi}'::text[])) THEN 'car'::text WHEN ((subclass)::text = ANY ('{hospital,nursing_home,clinic}'::text[])) THEN 'hospital'::text WHEN ((subclass)::text = ANY ('{grave_yard,cemetery}'::text[])) THEN 'cemetery'::text WHEN ((subclass)::text = ANY ('{attraction,viewpoint}'::text[])) THEN 'attraction'::text WHEN ((subclass)::text = ANY ('{biergarten,pub}'::text[])) THEN 'beer'::text WHEN ((subclass)::text = ANY ('{music,musical_instrument}'::text[])) THEN 'music'::text
WHEN ((subclass)::text = ANY ('{american_football,stadium,soccer}'::text[])) THEN 'stadium'::text WHEN ((subclass)::text = ANY ('{art,artwork,gallery,arts_centre}'::text[])) THEN 'art_gallery'::text WHEN ((subclass)::text = ANY ('{bag,clothes}'::text[])) THEN 'clothing_store'::text WHEN ((subclass)::text = ANY ('{swimming_area,swimming}'::text[])) THEN 'swimming'::text WHEN ((subclass)::text = ANY ('{castle,ruins}'::text[])) THEN 'castle'::text ELSE (subclass)::text END WHEN 'hospital'::text THEN 20 WHEN 'railway'::text THEN 40 WHEN 'bus'::t
ext THEN 50 WHEN 'attraction'::text THEN 70 WHEN 'harbor'::text THEN 75 WHEN 'college'::text THEN 80 WHEN 'school'::text THEN 85 WHEN 'stadium'::text THEN 90 WHEN 'zoo'::text THEN 95 WHEN 'town_hall'::text THEN 100 WHEN 'campsite'::text THEN 110 WHEN 'cemetery'::text THEN 115 WHEN 'park'::text THEN 120 WHEN 'library'::text THEN 130 WHEN 'police'::text THEN 135 WHEN 'post'::text THEN 140 WHEN 'golf'::text THEN 150 WHEN 'shop'::text THEN 400 WHEN 'grocery'::text THEN 500 WHEN 'fast_food'::text THEN 600 WHEN 'clothing_store'::text THEN 700 WHEN
'bar'::text THEN 800 ELSE 1000 END END)
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.00..0.00 rows=0 width=377) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=32.28..32.29 rows=1 width=32) (actual time=0.001..0.001 rows=1 loops=1)
-> Result (cost=0.00..31.90 rows=1 width=434) (actual time=0.000..0.000 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_aerodrome_label_point (cost=0.00..31.90 rows=1 width=434) (never executed)
Filter: (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 64, true) IS NOT NULL)
Planning Time: 22.303 ms
Execution Time: 28.690 ms
(276 rows)
Append (cost=372.61..26763.39 rows=16 width=32) (actual time=21.269..21312.120 rows=16 loops=1)
-> Aggregate (cost=372.61..372.62 rows=1 width=32) (actual time=21.269..21.269 rows=1 loops=1)
-> Append (cost=0.25..370.29 rows=77 width=309855) (actual time=0.245..11.497 rows=27 loops=1)
-> Append (cost=0.25..4.59 rows=2 width=21104) (actual time=0.245..11.025 rows=27 loops=1)
-> Result (cost=0.25..1.33 rows=1 width=41832) (actual time=0.245..9.869 rows=2 loops=1)
One-Time Filter: (z($2) = 0)
-> Seq Scan on ne_110m_ocean (cost=0.25..1.33 rows=1 width=41832) (actual time=0.191..9.814 rows=2 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.25..3.25 rows=1 width=376) (actual time=0.150..1.152 rows=25 loops=1)
One-Time Filter: (z($2) = 0)
-> Seq Scan on ne_110m_lakes (cost=0.25..3.25 rows=1 width=376) (actual time=0.107..1.104 rows=25 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.25..4.59 rows=2 width=21104) (actual time=0.062..0.062 rows=0 loops=1)
-> Result (cost=0.25..1.33 rows=1 width=41832) (actual time=0.026..0.026 rows=0 loops=1)
One-Time Filter: (z($2) = 1)
-> Seq Scan on ne_110m_ocean ne_110m_ocean_1 (cost=0.25..1.33 rows=1 width=41832) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.25..3.25 rows=1 width=376) (actual time=0.035..0.035 rows=0 loops=1)
One-Time Filter: (z($2) = 1)
-> Seq Scan on ne_110m_lakes ne_110m_lakes_1 (cost=0.25..3.25 rows=1 width=376) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.51..9.74 rows=2 width=489426) (actual time=0.039..0.039 rows=0 loops=1)
-> Result (cost=0.51..1.54 rows=1 width=978064) (actual time=0.020..0.020 rows=0 loops=1)
One-Time Filter: ((z($2) >= 2) AND (z($2) <= 3))
-> Seq Scan on ne_50m_ocean (cost=0.51..1.54 rows=1 width=978064) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=788) (actual time=0.018..0.018 rows=0 loops=1)
One-Time Filter: ((z($2) >= 2) AND (z($2) <= 3))
-> Index Scan using ne_50m_lakes_geom_idx on ne_50m_lakes (cost=0.14..8.19 rows=1 width=788) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.25..9.49 rows=2 width=489426) (actual time=0.035..0.035 rows=0 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=978064) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Seq Scan on ne_50m_ocean ne_50m_ocean_1 (cost=0.25..1.29 rows=1 width=978064) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=788) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Index Scan using ne_50m_lakes_geom_idx on ne_50m_lakes ne_50m_lakes_1 (cost=0.14..8.19 rows=1 width=788) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.25..9.49 rows=2 width=3585703) (actual time=0.034..0.034 rows=0 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=7169688) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Seq Scan on ne_10m_ocean (cost=0.25..1.29 rows=1 width=7169688) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=1718) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Index Scan using ne_10m_lakes_geom_idx on ne_10m_lakes (cost=0.14..8.19 rows=1 width=1718) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.25..9.49 rows=2 width=3585372) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=7169688) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Seq Scan on ne_10m_ocean ne_10m_ocean_1 (cost=0.25..1.29 rows=1 width=7169688) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=1055) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Index Scan using osm_water_polygon_gen6_geom on osm_water_polygon_gen6 (cost=0.14..8.19 rows=1 width=1055) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.25..9.49 rows=2 width=3585324) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=7169688) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Seq Scan on ne_10m_ocean ne_10m_ocean_2 (cost=0.25..1.29 rows=1 width=7169688) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=959) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Index Scan using osm_water_polygon_gen5_geom on osm_water_polygon_gen5 (cost=0.14..8.19 rows=1 width=959) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.67 rows=5 width=1784) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=2069) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_ocean_polygon_gen4_geometry_idx on osm_ocean_polygon_gen4 (cost=0.28..20.46 rows=4 width=2069) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.19 rows=1 width=645) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_water_polygon_gen4_geom on osm_water_polygon_gen4 (cost=0.14..8.19 rows=1 width=645) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.68 rows=5 width=2911) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=3505) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_ocean_polygon_gen3_geometry_idx on osm_ocean_polygon_gen3 (cost=0.28..20.46 rows=4 width=3505) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.20 rows=1 width=534) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_water_polygon_gen3_geom on osm_water_polygon_gen3 (cost=0.14..8.20 rows=1 width=534) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.68 rows=5 width=4326) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=5307) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_ocean_polygon_gen2_geometry_idx on osm_ocean_polygon_gen2 (cost=0.28..20.46 rows=4 width=5307) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.15..8.20 rows=1 width=401) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_water_polygon_gen2_geom on osm_water_polygon_gen2 (cost=0.15..8.20 rows=1 width=401) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..32.86 rows=6 width=4794) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=7035) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_ocean_polygon_gen1_geometry_idx on osm_ocean_polygon_gen1 (cost=0.28..20.46 rows=4 width=7035) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.28..12.38 rows=2 width=313) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_water_polygon_gen1_geom on osm_water_polygon_gen1 (cost=0.28..12.38 rows=2 width=313) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..64.45 rows=14 width=5478) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=17654) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_ocean_polygon_geometry_idx on osm_ocean_polygon (cost=0.28..20.46 rows=4 width=17654) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.61..43.92 rows=10 width=608) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_water_polygon (cost=4.61..43.92 rows=10 width=608) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_water_polygon_geom (cost=0.00..4.36 rows=10 width=0) (never executed)
Index Cond: (geometry && $1)
-> Append (cost=0.28..64.45 rows=14 width=5478) (actual time=0.032..0.032 rows=0 loops=1)
-> Result (cost=0.28..20.46 rows=4 width=17654) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Index Scan using osm_ocean_polygon_geometry_idx on osm_ocean_polygon osm_ocean_polygon_2 (cost=0.28..20.46 rows=4 width=17654) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.61..43.92 rows=10 width=608) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_water_polygon osm_water_polygon_2 (cost=4.61..43.92 rows=10 width=608) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_water_polygon_geom (cost=0.00..4.36 rows=10 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=575.85..575.86 rows=1 width=32) (actual time=0.153..0.153 rows=1 loops=1)
-> Append (cost=0.25..522.38 rows=88 width=194) (actual time=0.151..0.151 rows=0 loops=1)
-> Result (cost=0.25..3.80 rows=1 width=1604) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 3)
-> Seq Scan on ne_110m_rivers_lake_centerlines (cost=0.25..3.80 rows=1 width=1442) (never executed)
Filter: ((geometry && $1) AND ((featurecla)::text = 'River'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=1094) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: ((z($2) >= 4) AND (z($2) <= 5))
-> Index Scan using ne_50m_rivers_lake_centerlines_geom_idx on ne_50m_rivers_lake_centerlines (cost=0.14..8.19 rows=1 width=932) (never executed)
Index Cond: (geometry && $1)
Filter: (((featurecla)::text = 'River'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=3023) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: ((z($2) >= 6) AND (z($2) <= 8))
-> Index Scan using ne_10m_rivers_lake_centerlines_geom_idx on ne_10m_rivers_lake_centerlines (cost=0.14..8.19 rows=1 width=2861) (never executed)
Index Cond: (geometry && $1)
Filter: (((featurecla)::text = 'River'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Subquery Scan on "*SELECT* 4" (cost=0.15..8.20 rows=1 width=453) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=369) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_important_waterway_linestring_gen3_geometry_idx on osm_important_waterway_linestring_gen3 (cost=0.15..8.19 rows=1 width=335) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5" (cost=0.28..8.33 rows=1 width=487) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.28..8.32 rows=1 width=403) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_important_waterway_linestring_gen2_geometry_idx on osm_important_waterway_linestring_gen2 (cost=0.28..8.32 rows=1 width=369) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 6" (cost=0.28..16.44 rows=3 width=445) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.28..16.41 rows=3 width=361) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_important_waterway_linestring_gen1_geometry_idx on osm_important_waterway_linestring_gen1 (cost=0.28..16.41 rows=3 width=327) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 7" (cost=4.82..156.11 rows=14 width=895) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.82..155.97 rows=14 width=807) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_waterway_linestring (cost=4.82..155.97 rows=14 width=781) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((waterway)::text = ANY ('{river,canal}'::text[])) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_waterway_linestring_geom (cost=0.00..4.57 rows=38 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 8" (cost=4.83..156.39 rows=28 width=895) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.83..156.11 rows=28 width=807) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_waterway_linestring osm_waterway_linestring_1 (cost=4.83..156.11 rows=28 width=781) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((waterway)::text = ANY ('{river,canal,stream,drain,ditch}'::text[])) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_waterway_linestring_geom (cost=0.00..4.57 rows=38 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 9" (cost=4.83..156.26 rows=38 width=895) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.83..155.88 rows=38 width=807) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_waterway_linestring osm_waterway_linestring_2 (cost=4.83..155.88 rows=38 width=781) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_waterway_linestring_geom (cost=0.00..4.57 rows=38 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=490.52..490.53 rows=1 width=32) (actual time=2.492..2.492 rows=1 loops=1)
-> Append (cost=0.51..480.12 rows=108 width=168) (actual time=0.095..1.380 rows=11 loops=1)
-> Result (cost=0.51..1.95 rows=1 width=1376) (actual time=0.095..1.147 rows=11 loops=1)
One-Time Filter: ((z($2) >= 0) AND (z($2) <= 1))
-> Seq Scan on ne_110m_glaciated_areas (cost=0.51..1.95 rows=1 width=1240) (actual time=0.062..1.111 rows=11 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.14..16.38 rows=2 width=1100) (actual time=0.046..0.046 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=770) (actual time=0.026..0.026 rows=0 loops=1)
One-Time Filter: ((z($2) >= 2) AND (z($2) <= 4))
-> Index Scan using ne_50m_glaciated_areas_geom_idx on ne_50m_glaciated_areas (cost=0.14..8.19 rows=1 width=770) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.18 rows=1 width=1429) (actual time=0.019..0.019 rows=0 loops=1)
One-Time Filter: ((z($2) >= 2) AND (z($2) <= 4))
-> Index Scan using ne_50m_antarctic_ice_shelves_polys_geom_idx on ne_50m_antarctic_ice_shelves_polys (cost=0.14..8.18 rows=1 width=1429) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.14..16.39 rows=2 width=2304) (actual time=0.035..0.035 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=2200) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: ((z($2) >= 5) AND (z($2) <= 6))
-> Index Scan using ne_10m_glaciated_areas_geom_idx on ne_10m_glaciated_areas (cost=0.14..8.19 rows=1 width=2200) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.19 rows=1 width=2408) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: ((z($2) >= 5) AND (z($2) <= 6))
-> Index Scan using ne_10m_antarctic_ice_shelves_polys_geom_idx on ne_10m_antarctic_ice_shelves_polys (cost=0.14..8.19 rows=1 width=2408) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 4_1" (cost=0.14..8.20 rows=1 width=3788) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=3667) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Index Scan using osm_landcover_polygon_gen7_geom on osm_landcover_polygon_gen7 (cost=0.14..8.19 rows=1 width=3667) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5_1" (cost=0.15..8.20 rows=1 width=1936) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=1815) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_landcover_polygon_gen6_geom on osm_landcover_polygon_gen6 (cost=0.15..8.19 rows=1 width=1815) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 6_1" (cost=0.28..8.33 rows=1 width=1216) (actual time=0.033..0.033 rows=0 loops=1)
-> Result (cost=0.28..8.32 rows=1 width=1095) (actual time=0.032..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_landcover_polygon_gen5_geom on osm_landcover_polygon_gen5 (cost=0.28..8.32 rows=1 width=1095) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 7_1" (cost=0.28..16.44 rows=3 width=940) (actual time=0.018..0.018 rows=0 loops=1)
-> Result (cost=0.28..16.41 rows=3 width=820) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_landcover_polygon_gen4_geom on osm_landcover_polygon_gen4 (cost=0.28..16.41 rows=3 width=820) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 8_1" (cost=0.28..16.44 rows=3 width=1340) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.28..16.41 rows=3 width=1220) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_landcover_polygon_gen3_geom on osm_landcover_polygon_gen3 (cost=0.28..16.41 rows=3 width=1220) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 9_1" (cost=4.59..32.18 rows=7 width=1039) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.59..32.11 rows=7 width=918) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_landcover_polygon_gen2 (cost=4.59..32.11 rows=7 width=918) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landcover_polygon_gen2_geom (cost=0.00..4.33 rows=7 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 10" (cost=4.67..71.46 rows=17 width=825) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.67..71.29 rows=17 width=705) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_landcover_polygon_gen1 (cost=4.67..71.29 rows=17 width=705) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landcover_polygon_gen1_geom (cost=0.00..4.41 rows=17 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 11" (cost=5.09..283.57 rows=70 width=710) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=5.09..282.87 rows=70 width=591) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_landcover_polygon (cost=5.09..282.87 rows=70 width=591) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landcover_polygon_geom (cost=0.00..4.82 rows=71 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=150.20..150.21 rows=1 width=32) (actual time=0.147..0.147 rows=1 loops=1)
-> Append (cost=0.14..148.80 rows=28 width=172) (actual time=0.146..0.146 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=414) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Index Scan using ne_50m_urban_areas_geom_idx on ne_50m_urban_areas (cost=0.14..8.19 rows=1 width=278) (never executed)
Index Cond: (geometry && $1)
Filter: ((scalerank <= 2) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.14..8.19 rows=1 width=414) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Index Scan using ne_50m_urban_areas_geom_idx on ne_50m_urban_areas ne_50m_urban_areas_1 (cost=0.14..8.19 rows=1 width=278) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.15..8.45 rows=1 width=1733) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: ((z($2) >= 6) AND (z($2) <= 8))
-> Index Scan using ne_10m_urban_areas_geom_idx on ne_10m_urban_areas (cost=0.15..8.45 rows=1 width=1597) (never executed)
Index Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL) AND ((scalerank - 1) <= z($2)))
-> Subquery Scan on "*SELECT* 4_2" (cost=0.14..8.20 rows=1 width=347) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=232) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_landuse_polygon_gen5_geom on osm_landuse_polygon_gen5 (cost=0.14..8.19 rows=1 width=228) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5_2" (cost=0.14..8.20 rows=1 width=329) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=213) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_landuse_polygon_gen4_geom on osm_landuse_polygon_gen4 (cost=0.14..8.19 rows=1 width=209) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 6_2" (cost=0.15..8.20 rows=1 width=318) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=202) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_landuse_polygon_gen3_geom on osm_landuse_polygon_gen3 (cost=0.15..8.19 rows=1 width=198) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 7_2" (cost=4.55..16.13 rows=3 width=294) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=4.55..16.10 rows=3 width=176) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_landuse_polygon_gen2 (cost=4.55..16.10 rows=3 width=172) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landuse_polygon_gen2_geom (cost=0.00..4.30 rows=3 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 8_2" (cost=4.58..27.80 rows=6 width=299) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.58..27.74 rows=6 width=181) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_landuse_polygon_gen1 (cost=4.58..27.74 rows=6 width=177) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landuse_polygon_gen1_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 9_2" (cost=4.63..55.26 rows=13 width=375) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.63..55.13 rows=13 width=257) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_landuse_polygon (cost=4.63..55.13 rows=13 width=253) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_landuse_polygon_geom (cost=0.00..4.38 rows=13 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=9.69..9.70 rows=1 width=32) (actual time=0.025..0.025 rows=1 loops=1)
-> Sort (cost=9.33..9.33 rows=1 width=298) (actual time=0.024..0.024 rows=0 loops=1)
Sort Key: ranked_peaks.rank
Sort Method: quicksort Memory: 25kB
-> Result (cost=8.70..9.32 rows=1 width=298) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) >= 7)
-> Subquery Scan on ranked_peaks (cost=8.70..9.32 rows=1 width=275) (never executed)
Filter: ((st_asmvtgeom(ranked_peaks.geometry, ($1)::box2d, 4096, 64, true) IS NOT NULL) AND ((ranked_peaks.rank <= 5) OR (z($2) >= 14)))
-> WindowAgg (cost=8.45..8.77 rows=1 width=311) (never executed)
-> Sort (cost=8.45..8.45 rows=1 width=243) (never executed)
Sort Key: (labelgrid(osm_peak_point.geometry, ('100'::numeric * $3))), (((("substring"((osm_peak_point.ele)::text, '^(-?\d+)(\D|$)'::text))::integer + CASE WHEN (NULLIF((osm_peak_point.wikipedia)::text, ''::text) IS NOT NULL) THEN 10000 ELSE 0 END) + CASE WHEN (NULLIF((osm_peak_point.name)::text, ''::text) IS NOT NULL) THEN 10000 ELSE 0 END)) DESC
-> Index Scan using osm_peak_point_geom on osm_peak_point (cost=0.15..8.44 rows=1 width=243) (never executed)
Index Cond: (geometry && $1)
Filter: ((ele IS NOT NULL) AND ((ele)::text ~ '^-?\d+'::text))
-> Aggregate (cost=159.12..159.13 rows=1 width=32) (actual time=0.318..0.318 rows=1 loops=1)
-> Append (cost=0.13..153.00 rows=18 width=1775) (actual time=0.317..0.317 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1" (cost=0.13..8.19 rows=1 width=2248) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.13..8.18 rows=1 width=2242) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Index Scan using osm_park_polygon_gen8_geom on osm_park_polygon_gen8 (cost=0.13..8.18 rows=1 width=2230) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 2_1" (cost=0.14..8.20 rows=1 width=2059) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=2053) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Index Scan using osm_park_polygon_gen7_geom on osm_park_polygon_gen7 (cost=0.14..8.18 rows=1 width=2041) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 3" (cost=0.14..8.20 rows=1 width=2661) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=2654) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_park_polygon_gen6_geom on osm_park_polygon_gen6 (cost=0.14..8.18 rows=1 width=2642) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 4_3" (cost=0.14..8.20 rows=1 width=3003) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=2995) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_park_polygon_gen5_geom on osm_park_polygon_gen5 (cost=0.14..8.18 rows=1 width=2983) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5_3" (cost=0.14..8.20 rows=1 width=3938) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=3931) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_park_polygon_gen4_geom on osm_park_polygon_gen4 (cost=0.14..8.18 rows=1 width=3919) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 6_3" (cost=0.14..8.20 rows=1 width=3120) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=3112) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_park_polygon_gen3_geom on osm_park_polygon_gen3 (cost=0.14..8.18 rows=1 width=3100) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 7_3" (cost=0.14..8.20 rows=1 width=3539) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=3532) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_park_polygon_gen2_geom on osm_park_polygon_gen2 (cost=0.14..8.18 rows=1 width=3520) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 8_3" (cost=0.14..8.20 rows=1 width=3903) (actual time=0.028..0.028 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=3896) (actual time=0.027..0.027 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Index Scan using osm_park_polygon_gen1_geom on osm_park_polygon_gen1 (cost=0.14..8.18 rows=1 width=3884) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 9_3" (cost=0.14..8.20 rows=1 width=4690) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.14..8.18 rows=1 width=4682) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Index Scan using osm_park_polygon_geom on osm_park_polygon (cost=0.14..8.18 rows=1 width=4670) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 2" (cost=76.13..79.15 rows=9 width=310) (actual time=0.157..0.157 rows=0 loops=1)
Filter: (st_asmvtgeom("*SELECT* 2".geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> WindowAgg (cost=76.13..78.81 rows=9 width=356) (actual time=0.156..0.156 rows=0 loops=1)
-> Sort (cost=76.13..76.16 rows=9 width=329) (actual time=0.155..0.155 rows=0 loops=1)
Sort Key: (labelgrid("*SELECT* 1_1".geometry_point, ('100'::numeric * $3))), (CASE WHEN (("*SELECT* 1_1".boundary)::text = 'national_park'::text) THEN true ELSE false END) DESC, ((COALESCE(NULLIF(("*SELECT* 1_1".tags -> 'wikipedia'::text), ''::text), NULLIF(("*SELECT* 1_1".tags -> 'wikidata'::text), ''::text)) IS NOT NULL)) DESC, "*SELECT* 1_1".area DESC
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.13..75.99 rows=9 width=329) (actual time=0.146..0.146 rows=0 loops=1)
-> Append (cost=0.13..73.52 rows=9 width=294) (actual time=0.146..0.146 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_1" (cost=0.13..8.16 rows=1 width=307) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.13..8.15 rows=1 width=315) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Index Scan using osm_park_polygon_gen8_point_geom_idx on osm_park_polygon_gen8 osm_park_polygon_gen8_1 (cost=0.13..8.15 rows=1 width=307) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 2_2" (cost=0.14..8.16 rows=1 width=288) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=296) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Index Scan using osm_park_polygon_gen7_point_geom_idx on osm_park_polygon_gen7 osm_park_polygon_gen7_1 (cost=0.14..8.15 rows=1 width=288) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 3_1" (cost=0.14..8.16 rows=1 width=245) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=253) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_park_polygon_gen6_point_geom_idx on osm_park_polygon_gen6 osm_park_polygon_gen6_1 (cost=0.14..8.15 rows=1 width=245) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 4_4" (cost=0.14..8.16 rows=1 width=257) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=265) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Index Scan using osm_park_polygon_gen5_point_geom_idx on osm_park_polygon_gen5 osm_park_polygon_gen5_1 (cost=0.14..8.15 rows=1 width=257) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 5_4" (cost=0.14..8.16 rows=1 width=309) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=317) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_park_polygon_gen4_point_geom_idx on osm_park_polygon_gen4 osm_park_polygon_gen4_1 (cost=0.14..8.15 rows=1 width=309) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 6_4" (cost=0.14..8.16 rows=1 width=306) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=314) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_park_polygon_gen3_point_geom_idx on osm_park_polygon_gen3 osm_park_polygon_gen3_1 (cost=0.14..8.15 rows=1 width=306) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 7_4" (cost=0.14..8.16 rows=1 width=318) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=326) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_park_polygon_gen2_point_geom_idx on osm_park_polygon_gen2 osm_park_polygon_gen2_1 (cost=0.14..8.15 rows=1 width=318) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 8_4" (cost=0.14..8.16 rows=1 width=323) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=331) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Index Scan using osm_park_polygon_gen1_point_geom_idx on osm_park_polygon_gen1 osm_park_polygon_gen1_1 (cost=0.14..8.15 rows=1 width=323) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 9_4" (cost=0.14..8.16 rows=1 width=295) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=303) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Index Scan using osm_park_polygon_point_geom_idx on osm_park_polygon osm_park_polygon_1 (cost=0.14..8.15 rows=1 width=295) (never executed)
Index Cond: (geometry_point && $1)
-> Aggregate (cost=2324.54..2324.55 rows=1 width=32) (actual time=1.324..1.324 rows=1 loops=1)
-> Append (cost=0.14..2305.21 rows=552 width=315) (actual time=0.069..0.831 rows=186 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=281) (actual time=0.068..0.527 rows=186 loops=1)
One-Time Filter: (z($2) = 0)
-> Index Scan using ne_110m_admin_0_boundary_lines_land_geom_idx on ne_110m_admin_0_boundary_lines_land (cost=0.14..8.19 rows=1 width=275) (actual time=0.052..0.483 rows=186 loops=1)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.14..16.90 rows=2 width=733) (actual time=0.038..0.038 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=911) (actual time=0.021..0.021 rows=0 loops=1)
One-Time Filter: ((z($2) >= 1) AND (z($2) <= 2))
-> Index Scan using ne_50m_admin_0_boundary_lines_land_geom_idx on ne_50m_admin_0_boundary_lines_land (cost=0.14..8.19 rows=1 width=911) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.65..8.70 rows=1 width=555) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: ((z($2) >= 1) AND (z($2) <= 2))
-> Index Scan using ne_50m_admin_1_states_provinces_lines_geom_idx on ne_50m_admin_1_states_provinces_lines (cost=0.14..8.19 rows=1 width=555) (never executed)
Index Cond: (geometry && $1)
Filter: ((scalerank <= 2) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.14..16.38 rows=2 width=733) (actual time=0.032..0.032 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=911) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 3)
-> Index Scan using ne_50m_admin_0_boundary_lines_land_geom_idx on ne_50m_admin_0_boundary_lines_land ne_50m_admin_0_boundary_lines_land_1 (cost=0.14..8.19 rows=1 width=911) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.19 rows=1 width=555) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 3)
-> Index Scan using ne_50m_admin_1_states_provinces_lines_geom_idx on ne_50m_admin_1_states_provinces_lines ne_50m_admin_1_states_provinces_lines_1 (cost=0.14..8.19 rows=1 width=555) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.40..29.10 rows=3 width=1224) (actual time=0.047..0.047 rows=0 loops=1)
-> Result (cost=0.40..8.45 rows=1 width=2869) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Index Scan using ne_10m_admin_0_boundary_lines_land_geom_idx on ne_10m_admin_0_boundary_lines_land (cost=0.14..8.19 rows=1 width=2869) (never executed)
Index Cond: (geometry && $1)
Filter: (((featurecla)::text <> 'Lease limit'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.40..8.46 rows=1 width=726) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Index Scan using ne_10m_admin_1_states_provinces_lines_geom_idx on ne_10m_admin_1_states_provinces_lines (cost=0.15..8.20 rows=1 width=726) (never executed)
Index Cond: (geometry && $1)
Filter: ((scalerank <= 3) AND (min_zoom <= '7'::double precision) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=4.55..12.17 rows=1 width=78) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Bitmap Heap Scan on osm_border_linestring_gen10 (cost=4.29..11.91 rows=1 width=78) (never executed)
Recheck Cond: (geometry && $1)
Filter: (maritime AND (admin_level <= 2) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen10_geometry_idx (cost=0.00..4.29 rows=2 width=0) (never executed)
Index Cond: (geometry && $1)
-> Append (cost=0.40..63.26 rows=3 width=1225) (actual time=0.047..0.047 rows=0 loops=1)
-> Result (cost=0.40..8.45 rows=1 width=2869) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Index Scan using ne_10m_admin_0_boundary_lines_land_geom_idx on ne_10m_admin_0_boundary_lines_land ne_10m_admin_0_boundary_lines_land_1 (cost=0.14..8.19 rows=1 width=2869) (never executed)
Index Cond: (geometry && $1)
Filter: (((featurecla)::text <> 'Lease limit'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.40..8.46 rows=1 width=726) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Index Scan using ne_10m_admin_1_states_provinces_lines_geom_idx on ne_10m_admin_1_states_provinces_lines ne_10m_admin_1_states_provinces_lines_1 (cost=0.15..8.20 rows=1 width=726) (never executed)
Index Cond: (geometry && $1)
Filter: ((scalerank <= 7) AND (min_zoom <= '8'::double precision) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=4.62..46.33 rows=1 width=81) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Bitmap Heap Scan on osm_border_linestring_gen9 (cost=4.36..46.07 rows=1 width=81) (never executed)
Recheck Cond: (geometry && $1)
Filter: (maritime AND (admin_level <= 2) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen9_geometry_idx (cost=0.00..4.36 rows=11 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=4.62..46.48 rows=11 width=95) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Bitmap Heap Scan on osm_border_linestring_gen8 (cost=4.62..46.48 rows=11 width=95) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 4) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen8_geometry_idx (cost=0.00..4.36 rows=11 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=4.62..46.70 rows=11 width=119) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Bitmap Heap Scan on osm_border_linestring_gen7 (cost=4.62..46.70 rows=11 width=119) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 4) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen7_geometry_idx (cost=0.00..4.36 rows=11 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=4.62..46.96 rows=11 width=159) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Bitmap Heap Scan on osm_border_linestring_gen6 (cost=4.62..46.96 rows=11 width=159) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 4) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen6_geometry_idx (cost=0.00..4.36 rows=11 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=4.81..143.98 rows=36 width=195) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Bitmap Heap Scan on osm_border_linestring_gen5 (cost=4.81..143.98 rows=36 width=195) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 6) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen5_geometry_idx (cost=0.00..4.55 rows=36 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=4.81..144.82 rows=36 width=262) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Bitmap Heap Scan on osm_border_linestring_gen4 (cost=4.81..144.82 rows=36 width=262) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 6) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen4_geometry_idx (cost=0.00..4.55 rows=36 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=5.34..406.67 rows=103 width=285) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_border_linestring_gen3 (cost=5.34..406.67 rows=103 width=285) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((admin_level <= 8) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_border_linestring_gen3_geometry_idx (cost=0.00..5.06 rows=103 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=9.96..660.50 rows=166 width=299) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_border_linestring_gen2 (cost=9.96..660.50 rows=166 width=299) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_border_linestring_gen2_geometry_idx (cost=0.00..9.66 rows=167 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=9.97..666.99 rows=167 width=381) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Bitmap Heap Scan on osm_border_linestring_gen1 (cost=9.97..666.99 rows=167 width=381) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_border_linestring_gen1_geometry_idx (cost=0.00..9.67 rows=168 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=65.88..65.89 rows=1 width=32) (actual time=0.130..0.130 rows=1 loops=1)
-> Append (cost=0.15..65.64 rows=8 width=163) (actual time=0.129..0.129 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_2" (cost=0.15..8.20 rows=1 width=58) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=58) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Index Scan using osm_aeroway_linestring_gen3_geom on osm_aeroway_linestring_gen3 (cost=0.15..8.19 rows=1 width=58) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 2_3" (cost=0.15..8.20 rows=1 width=60) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=60) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_aeroway_linestring_gen2_geom on osm_aeroway_linestring_gen2 (cost=0.15..8.19 rows=1 width=60) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 3_2" (cost=0.15..8.20 rows=1 width=63) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=63) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_aeroway_linestring_gen1_geom on osm_aeroway_linestring_gen1 (cost=0.15..8.19 rows=1 width=63) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 4_5" (cost=0.15..8.20 rows=1 width=184) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=184) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Index Scan using osm_aeroway_linestring_geom on osm_aeroway_linestring (cost=0.15..8.19 rows=1 width=184) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5_5" (cost=0.14..8.20 rows=1 width=195) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=195) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: ((z($2) >= 10) AND (z($2) <= 11))
-> Index Scan using osm_aeroway_polygon_gen3_geom on osm_aeroway_polygon_gen3 (cost=0.14..8.19 rows=1 width=195) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 6_5" (cost=0.14..8.20 rows=1 width=211) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=211) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_aeroway_polygon_gen2_geom on osm_aeroway_polygon_gen2 (cost=0.14..8.19 rows=1 width=211) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 7_5" (cost=0.14..8.20 rows=1 width=220) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=220) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Index Scan using osm_aeroway_polygon_gen1_geom on osm_aeroway_polygon_gen1 (cost=0.14..8.19 rows=1 width=220) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 8_5" (cost=0.14..8.20 rows=1 width=316) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=316) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Index Scan using osm_aeroway_polygon_geom on osm_aeroway_polygon (cost=0.14..8.19 rows=1 width=316) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Aggregate (cost=4865.80..4865.81 rows=1 width=32) (actual time=18817.170..18817.170 rows=1 loops=1)
-> Sort (cost=4851.01..4851.88 rows=348 width=192) (actual time=18817.166..18817.166 rows=0 loops=1)
Sort Key: zoom_levels.z_order
Sort Method: quicksort Memory: 25kB
-> Subquery Scan on zoom_levels (cost=0.14..4836.32 rows=348 width=192) (actual time=18817.163..18817.164 rows=0 loops=1)
-> Append (cost=0.14..4624.04 rows=348 width=285) (actual time=18817.163..18817.163 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=305) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Index Scan using osm_transportation_merge_linestring_gen7_geometry_idx on osm_transportation_merge_linestring_gen7 (cost=0.14..8.19 rows=1 width=96) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.28..8.32 rows=1 width=308) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Index Scan using osm_transportation_merge_linestring_gen6_geometry_idx on osm_transportation_merge_linestring_gen6 (cost=0.28..8.32 rows=1 width=99) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.28..8.32 rows=1 width=323) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Index Scan using osm_transportation_merge_linestring_gen5_geometry_idx on osm_transportation_merge_linestring_gen5 (cost=0.28..8.32 rows=1 width=114) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.54..12.23 rows=2 width=357) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Bitmap Heap Scan on osm_transportation_merge_linestring_gen4 (cost=4.54..12.23 rows=2 width=148) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_transportation_merge_linestring_gen4_geometry_idx (cost=0.00..4.29 rows=2 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=0.28..12.37 rows=2 width=388) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_transportation_merge_linestring_gen3_geometry_idx on osm_transportation_merge_linestring_gen3 (cost=0.28..12.37 rows=2 width=179) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=5.14..184.72 rows=15 width=287) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: ((z($2) >= 9) AND (z($2) <= 10))
-> Bitmap Heap Scan on osm_highway_linestring_gen2 (cost=5.14..184.72 rows=15 width=82) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((st_length(geometry) > '76.4370282851763'::double precision) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_highway_linestring_gen2_geom (cost=0.00..4.63 rows=46 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=5.22..355.19 rows=30 width=290) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_highway_linestring_gen1 (cost=5.22..355.19 rows=30 width=85) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((st_length(geometry) > '38.2185141425881'::double precision) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_highway_linestring_gen1_geom (cost=0.00..4.96 rows=90 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 8_6" (cost=34.27..3789.15 rows=261 width=401) (actual time=18531.938..18531.938 rows=0 loops=1)
-> Bitmap Heap Scan on osm_highway_linestring (cost=34.27..3785.89 rows=261 width=337) (actual time=18531.938..18531.938 rows=0 loops=1)
Recheck Cond: (geometry && $1)
Filter: ((NOT is_area) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL) AND (((z($2) = 12) AND ((CASE WHEN ((highway)::text = ANY ('{motorway,motorway_link}'::text[])) THEN 'motorway'::text WHEN ((highway)::text = ANY ('{trunk,trunk_link}'::text[])) THEN 'trunk'::text WHEN ((highway)::text = ANY ('{primary,primary_link}'::text[])) THEN 'primary'::text WHEN ((highway)::text = ANY ('{secondary,secondary_link}'::text[])) THEN 'secondary'::text WHEN ((highway)::text = ANY ('{tertiary,ter
tiary_link}'::text[])) THEN 'tertiary'::text WHEN ((highway)::text = ANY ('{unclassified,residential,living_street,road}'::text[])) THEN 'minor'::text WHEN ((highway)::text = ANY ('{service,track}'::text[])) THEN (highway)::text WHEN (((highway)::text = ANY ('{pedestrian,path,footway,cycleway,steps,bridleway,corridor}'::text[])) OR ((public_transport)::text = 'platform'::text)) THEN 'path'::text WHEN ((highway)::text = 'raceway'::text) THEN 'raceway'::text ELSE NULL::text END <> ALL ('{track,path,minor}'::text[])) OR ((highway)::text = ANY (
'{unclassified,residential}'::text[]))) AND ((man_made)::text <> 'pier'::text)) OR ((z($2) = 13) AND (((CASE WHEN ((highway)::text = ANY ('{motorway,motorway_link}'::text[])) THEN 'motorway'::text WHEN ((highway)::text = ANY ('{trunk,trunk_link}'::text[])) THEN 'trunk'::text WHEN ((highway)::text = ANY ('{primary,primary_link}'::text[])) THEN 'primary'::text WHEN ((highway)::text = ANY ('{secondary,secondary_link}'::text[])) THEN 'secondary'::text WHEN ((highway)::text = ANY ('{tertiary,tertiary_link}'::text[])) THEN 'tertiary'::text WHEN ((
highway)::text = ANY ('{unclassified,residential,living_street,road}'::text[])) THEN 'minor'::text WHEN ((highway)::text = ANY ('{service,track}'::text[])) THEN (highway)::text WHEN (((highway)::text = ANY ('{pedestrian,path,footway,cycleway,steps,bridleway,corridor}'::text[])) OR ((public_transport)::text = 'platform'::text)) THEN 'path'::text WHEN ((highway)::text = 'raceway'::text) THEN 'raceway'::text ELSE NULL::text END <> ALL ('{track,path}'::text[])) AND ((man_made)::text <> 'pier'::text)) OR (((man_made)::text = 'pier'::text) AND (NO
T st_isclosed(geometry))))) OR ((z($2) >= 14) AND (((man_made)::text <> 'pier'::text) OR (NOT st_isclosed(geometry))))))
Rows Removed by Filter: 7739333
Heap Blocks: exact=56104 lossy=231349
-> Bitmap Index Scan on osm_highway_linestring_geom (cost=0.00..34.20 rows=772 width=0) (actual time=845.794..845.794 rows=7739333 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 9_5" (cost=4.58..29.04 rows=4 width=302) (actual time=0.019..0.019 rows=0 loops=1)
-> Result (cost=4.58..29.00 rows=4 width=275) (actual time=0.018..0.018 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Bitmap Heap Scan on osm_railway_linestring_gen5 (cost=4.58..28.00 rows=4 width=67) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((railway)::text = 'rail'::text) AND ((service)::text = ''::text) AND ((usage)::text = 'main'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_railway_linestring_gen5_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 10_1" (cost=4.58..29.04 rows=4 width=304) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.58..29.00 rows=4 width=277) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Bitmap Heap Scan on osm_railway_linestring_gen4 (cost=4.58..28.00 rows=4 width=73) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((railway)::text = 'rail'::text) AND ((service)::text = ''::text) AND ((usage)::text = 'main'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_railway_linestring_gen4_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 11_1" (cost=4.58..29.56 rows=6 width=307) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.58..29.49 rows=6 width=278) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Bitmap Heap Scan on osm_railway_linestring_gen3 (cost=4.58..27.99 rows=6 width=82) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((railway)::text = ANY ('{rail,narrow_gauge}'::text[])) AND ((service)::text = ''::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_railway_linestring_gen3_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 12" (cost=4.58..29.58 rows=6 width=311) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.58..29.50 rows=6 width=282) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_railway_linestring_gen2 (cost=4.58..28.00 rows=6 width=86) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((service)::text = ''::text) AND ((railway)::text = ANY ('{rail,narrow_gauge,light_rail}'::text[])) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_railway_linestring_gen2_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 13" (cost=4.58..29.58 rows=6 width=317) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.58..29.51 rows=6 width=288) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_railway_linestring_gen1 (cost=4.58..28.01 rows=6 width=92) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((service)::text = ''::text) AND ((railway)::text = ANY ('{rail,narrow_gauge,light_rail}'::text[])) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Bitmap Index Scan on osm_railway_linestring_gen1_geom (cost=0.00..4.33 rows=6 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 14" (cost=4.35..44.93 rows=3 width=419) (actual time=284.933..284.933 rows=0 loops=1)
-> Bitmap Heap Scan on osm_railway_linestring (cost=4.35..44.89 rows=3 width=390) (actual time=284.932..284.932 rows=0 loops=1)
Recheck Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL) AND (((z($2) = 13) AND ((railway)::text = ANY ('{rail,narrow_gauge,light_rail}'::text[])) AND ((service)::text = ''::text)) OR (z($2) >= 14)))
Rows Removed by Filter: 88506
Heap Blocks: exact=4830
-> Bitmap Index Scan on osm_railway_linestring_geom (cost=0.00..4.35 rows=9 width=0) (actual time=8.631..8.631 rows=88506 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 15" (cost=0.25..6.92 rows=1 width=302) (actual time=0.019..0.019 rows=0 loops=1)
-> Result (cost=0.25..6.90 rows=1 width=278) (actual time=0.018..0.018 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Seq Scan on osm_aerialway_linestring_gen1 (cost=0.25..6.65 rows=1 width=82) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Subquery Scan on "*SELECT* 16" (cost=0.25..6.92 rows=1 width=321) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.25..6.90 rows=1 width=297) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Seq Scan on osm_aerialway_linestring (cost=0.25..6.65 rows=1 width=101) (never executed)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Subquery Scan on "*SELECT* 17" (cost=0.14..8.45 rows=1 width=536) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.14..8.44 rows=1 width=508) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Index Scan using osm_shipway_linestring_gen2_geom on osm_shipway_linestring_gen2 (cost=0.14..8.19 rows=1 width=312) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 18" (cost=0.14..8.45 rows=1 width=609) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.14..8.44 rows=1 width=581) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Index Scan using osm_shipway_linestring_gen1_geom on osm_shipway_linestring_gen1 (cost=0.14..8.19 rows=1 width=385) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 19" (cost=0.14..8.45 rows=1 width=948) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.14..8.44 rows=1 width=920) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Index Scan using osm_shipway_linestring_geom on osm_shipway_linestring (cost=0.14..8.19 rows=1 width=724) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 20" (cost=0.28..12.39 rows=1 width=572) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.28..12.38 rows=1 width=511) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Index Scan using osm_highway_polygon_geom on osm_highway_polygon (cost=0.28..12.38 rows=1 width=370) (never executed)
Index Cond: (geometry && $1)
Filter: ((((man_made)::text = ANY ('{bridge,pier}'::text[])) OR (is_area AND (COALESCE(layer, 0) >= 0))) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Aggregate (cost=16225.89..16225.90 rows=1 width=32) (actual time=0.106..0.106 rows=1 loops=1)
-> Sort (cost=16224.23..16224.32 rows=39 width=168) (actual time=0.105..0.105 rows=0 loops=1)
Sort Key: "*SELECT* 1_3".render_height, (st_ymin(("*SELECT* 1_3".geometry)::box3d)) DESC
Sort Method: quicksort Memory: 25kB
-> Result (cost=4.71..16223.20 rows=39 width=168) (actual time=0.096..0.096 rows=0 loops=1)
-> Append (cost=4.71..16221.73 rows=39 width=152) (actual time=0.096..0.096 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_3" (cost=4.71..89.67 rows=22 width=156) (actual time=0.017..0.017 rows=0 loops=1)
-> Result (cost=4.71..89.45 rows=22 width=164) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_building_polygon_gen1 (cost=4.71..89.45 rows=22 width=147) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Bitmap Index Scan on osm_building_polygon_gen1_geom (cost=0.00..4.45 rows=22 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 2_4" (cost=16131.14..16131.86 rows=17 width=147) (actual time=0.078..0.078 rows=0 loops=1)
Filter: (st_asmvtgeom("*SELECT* 2_4".geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Unique (cost=16131.14..16131.23 rows=17 width=155) (actual time=0.078..0.078 rows=0 loops=1)
-> Sort (cost=16131.14..16131.18 rows=17 width=155) (actual time=0.077..0.077 rows=0 loops=1)
Sort Key: "*SELECT* 1_4".osm_id
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.40..16130.79 rows=17 width=155) (actual time=0.076..0.076 rows=0 loops=1)
-> Append (cost=0.40..16130.37 rows=17 width=275) (actual time=0.076..0.076 rows=0 loops=1)
-> Result (cost=0.40..14.50 rows=1 width=300) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 1_4" (cost=0.40..14.50 rows=1 width=300) (never executed)
-> Index Scan using osm_building_relation_geom on osm_building_relation (cost=0.15..14.24 rows=1 width=300) (never executed)
Index Cond: (geometry && $1)
Filter: (((building)::text = ''::text) AND ((COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NUL
LIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) < '3000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) IS N
ULL) OR (COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=0.39..14.49 rows=1 width=254) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 2_5" (cost=0.39..14.49 rows=1 width=254) (never executed)
-> Index Scan using osm_building_associatedstreet_geom on osm_building_associatedstreet (cost=0.14..14.23 rows=1 width=254) (never executed)
Index Cond: (geometry && $1)
Filter: (((role)::text = 'house'::text) AND ((COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NU
LLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) < '3000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) IS
NULL) OR (COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=0.39..14.49 rows=1 width=237) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 3_3" (cost=0.39..14.49 rows=1 width=237) (never executed)
-> Index Scan using osm_building_street_geom on osm_building_street (cost=0.14..14.23 rows=1 width=237) (never executed)
Index Cond: (geometry && $1)
Filter: (((role)::text = 'house'::text) AND ((COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NU
LLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) < '3000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) IS
NULL) OR (COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=36.65..7990.11 rows=1 width=277) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 4_6" (cost=36.65..7990.11 rows=1 width=277) (never executed)
-> Nested Loop Semi Join (cost=36.40..7989.84 rows=1 width=277) (never executed)
-> Bitmap Heap Scan on osm_building_polygon obp (cost=35.98..7971.47 rows=13 width=156) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((min_level)::
text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) < '3000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_
numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Bitmap Index Scan on osm_building_polygon_geom (cost=0.00..35.98 rows=1008 width=0) (never executed)
Index Cond: (geometry && $1)
-> Index Only Scan using osm_building_multipolygon_osm_id_idx on osm_building_multipolygon obm (cost=0.42..13.58 rows=18 width=8) (never executed)
Index Cond: (osm_id = obp.osm_id)
Heap Fetches: 0
-> Result (cost=36.52..8096.69 rows=13 width=277) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 5_6" (cost=36.52..8096.69 rows=13 width=277) (never executed)
-> Nested Loop Left Join (cost=36.26..8096.31 rows=13 width=277) (never executed)
-> Bitmap Heap Scan on osm_building_polygon obp_1 (cost=35.98..7973.99 rows=13 width=156) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((osm_id >= 0) AND ((COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((levels)::text), '-1'::numeric), NULLIF(as_numeric((buildinglevels)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_num
eric((min_level)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_level)::text), '-1'::numeric)) < '1000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) IS NULL) OR (COALESCE(NULLIF(as_numeric((height)::text), '-1'::numeric), NULLIF(as_numeric((buildingheight)::text), '-1'::numeric)) < '3000'::numeric)) AND ((COALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) IS NULL) OR (C
OALESCE(NULLIF(as_numeric((min_height)::text), '-1'::numeric), NULLIF(as_numeric((buildingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Bitmap Index Scan on osm_building_polygon_geom (cost=0.00..35.98 rows=1008 width=0) (never executed)
Index Cond: (geometry && $1)
-> Index Scan using osm_building_relation_member_idx on osm_building_relation obr (cost=0.28..7.38 rows=1 width=13) (never executed)
Index Cond: (member = obp_1.osm_id)
-> Aggregate (cost=376.30..376.31 rows=1 width=32) (actual time=2.413..2.413 rows=1 loops=1)
-> Function Scan on layer_water_name (cost=0.50..38.00 rows=995 width=200) (actual time=2.411..2.411 rows=0 loops=1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL)
-> Aggregate (cost=227.32..227.33 rows=1 width=32) (actual time=0.131..0.131 rows=1 loops=1)
-> Sort (cost=218.50..218.56 rows=25 width=1229) (actual time=0.130..0.130 rows=0 loops=1)
Sort Key: "*SELECT* 1_5".z_order
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.14..217.92 rows=25 width=1229) (actual time=0.127..0.127 rows=0 loops=1)
-> Append (cost=0.14..215.36 rows=25 width=1031) (actual time=0.126..0.126 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_5" (cost=0.14..8.20 rows=1 width=553) (actual time=0.029..0.029 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=561) (actual time=0.029..0.029 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Index Scan using osm_transportation_name_linestring_gen4_geometry_idx on osm_transportation_name_linestring_gen4 (cost=0.14..8.19 rows=1 width=544) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 2_6" (cost=0.14..8.20 rows=1 width=718) (actual time=0.018..0.018 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=726) (actual time=0.017..0.017 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Index Scan using osm_transportation_name_linestring_gen3_geometry_idx on osm_transportation_name_linestring_gen3 (cost=0.14..8.19 rows=1 width=709) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 3_4" (cost=0.14..8.20 rows=1 width=669) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=677) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Index Scan using osm_transportation_name_linestring_gen2_geometry_idx on osm_transportation_name_linestring_gen2 (cost=0.14..8.19 rows=1 width=660) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 4_7" (cost=0.15..8.20 rows=1 width=725) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=0.15..8.19 rows=1 width=733) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: ((z($2) >= 9) AND (z($2) <= 11))
-> Index Scan using osm_transportation_name_linestring_gen1_geometry_idx on osm_transportation_name_linestring_gen1 (cost=0.15..8.19 rows=1 width=716) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 5_7" (cost=4.63..63.15 rows=4 width=1100) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.63..63.11 rows=4 width=1108) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_transportation_name_linestring (cost=4.63..63.11 rows=4 width=1100) (never executed)
Recheck Cond: (geometry && $1)
Filter: (((highway)::text !~~ '%_link'::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL) AND (CASE WHEN ((highway)::text = ANY ('{motorway,motorway_link}'::text[])) THEN 'motorway'::text WHEN ((highway)::text = ANY ('{trunk,trunk_link}'::text[])) THEN 'trunk'::text WHEN ((highway)::text = ANY ('{primary,primary_link}'::text[])) THEN 'primary'::text WHEN ((highway)::text = ANY ('{secondary,secondary_link}'::text[])) THEN 'secondary'::text WHEN ((highway)::text = ANY ('{ter
tiary,tertiary_link}'::text[])) THEN 'tertiary'::text WHEN ((highway)::text = ANY ('{unclassified,residential,living_street,road}'::text[])) THEN 'minor'::text WHEN ((highway)::text = ANY ('{service,track}'::text[])) THEN (highway)::text WHEN ((highway)::text = ANY ('{pedestrian,path,footway,cycleway,steps,bridleway,corridor}'::text[])) THEN 'path'::text WHEN ((highway)::text = 'raceway'::text) THEN 'raceway'::text ELSE NULL::text END <> ALL ('{minor,track,path}'::text[])) AND linelabel((z($2))::numeric, COALESCE(NULLIF((name)::text, ''::tex
t), (ref)::text), geometry))
-> Bitmap Index Scan on osm_transportation_name_linestring_geometry_idx (cost=0.00..4.38 rows=13 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 6_6" (cost=4.63..63.10 rows=4 width=1100) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.63..63.06 rows=4 width=1108) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_transportation_name_linestring osm_transportation_name_linestring_1 (cost=4.63..63.06 rows=4 width=1100) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL) AND (CASE WHEN ((highway)::text = ANY ('{motorway,motorway_link}'::text[])) THEN 'motorway'::text WHEN ((highway)::text = ANY ('{trunk,trunk_link}'::text[])) THEN 'trunk'::text WHEN ((highway)::text = ANY ('{primary,primary_link}'::text[])) THEN 'primary'::text WHEN ((highway)::text = ANY ('{secondary,secondary_link}'::text[])) THEN 'secondary'::text WHEN ((highway)::text = ANY ('{tertiary,tertiary_link}'::text[])) THEN 'ter
tiary'::text WHEN ((highway)::text = ANY ('{unclassified,residential,living_street,road}'::text[])) THEN 'minor'::text WHEN ((highway)::text = ANY ('{service,track}'::text[])) THEN (highway)::text WHEN ((highway)::text = ANY ('{pedestrian,path,footway,cycleway,steps,bridleway,corridor}'::text[])) THEN 'path'::text WHEN ((highway)::text = 'raceway'::text) THEN 'raceway'::text ELSE NULL::text END <> ALL ('{track,path}'::text[])) AND linelabel((z($2))::numeric, COALESCE(NULLIF((name)::text, ''::text), (ref)::text), geometry))
-> Bitmap Index Scan on osm_transportation_name_linestring_geometry_idx (cost=0.00..4.38 rows=13 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 7_6" (cost=4.63..56.19 rows=13 width=1100) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.63..56.06 rows=13 width=1108) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_transportation_name_linestring osm_transportation_name_linestring_2 (cost=4.63..56.06 rows=13 width=1100) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Bitmap Index Scan on osm_transportation_name_linestring_geometry_idx (cost=0.00..4.38 rows=13 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=73.64..73.65 rows=1 width=32) (actual time=2466.315..2466.315 rows=1 loops=1)
-> Sort (cost=71.17..71.19 rows=7 width=240) (actual time=2466.228..2466.229 rows=1 loops=1)
Sort Key: (1)
Sort Method: quicksort Memory: 27kB
-> Append (cost=0.14..71.07 rows=7 width=240) (actual time=0.056..2466.224 rows=1 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=240) (actual time=0.026..0.026 rows=0 loops=1)
One-Time Filter: (z($2) < 4)
-> Index Scan using osm_continent_point_geom on osm_continent_point (cost=0.14..8.19 rows=1 width=168) (actual time=0.011..0.011 rows=0 loops=1)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL)
-> Subquery Scan on "*SELECT* 2_7" (cost=0.00..1.32 rows=1 width=1767) (actual time=0.029..0.030 rows=1 loops=1)
-> Seq Scan on osm_country_point (cost=0.00..1.31 rows=1 width=1738) (actual time=0.028..0.029 rows=1 loops=1)
Filter: ((geometry && $1) AND ((name)::text <> ''::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL) AND (rank <= (z($2) + 1)))
-> Seq Scan on osm_state_point (cost=0.00..1.01 rows=1 width=240) (actual time=0.005..0.005 rows=0 loops=1)
Filter: ((geometry && $1) AND ((name)::text <> ''::text) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL) AND ((rank + 2) <= z($2)) AND ((z($2) >= 5) OR ((is_in_country)::text = ANY ('{"United Kingdom",USA,Россия,Brasil,China,India}'::text[])) OR ((is_in_country_code)::text = ANY ('{AU,CN,IN,BR,US}'::text[]))))
-> Result (cost=0.14..8.19 rows=1 width=346) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: (z($2) >= 12)
-> Index Scan using osm_island_point_geom on osm_island_point (cost=0.14..8.19 rows=1 width=214) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL)
-> Index Scan using osm_island_polygon_geom on osm_island_polygon (cost=0.14..9.71 rows=1 width=418) (actual time=30.513..30.513 rows=0 loops=1)
Index Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL) AND (((z($2) = 8) AND (island_rank(area) <= 3)) OR ((z($2) = 9) AND (island_rank(area) <= 4)) OR (z($2) >= 10)))
Rows Removed by Filter: 673
-> Subquery Scan on "*SELECT* 6_7" (cost=4.30..42.58 rows=2 width=401) (actual time=2435.631..2435.631 rows=0 loops=1)
-> Result (cost=4.30..42.56 rows=2 width=401) (actual time=2435.630..2435.630 rows=0 loops=1)
-> Append (cost=4.30..42.53 rows=2 width=323) (actual time=2435.629..2435.629 rows=0 loops=1)
-> Bitmap Heap Scan on osm_city_point (cost=4.30..19.34 rows=1 width=323) (actual time=826.905..826.905 rows=0 loops=1)
Recheck Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL) AND (((z($2) = 2) AND (rank = 1)) OR ((z($2) >= 3) AND (z($2) <= 7) AND (rank <= (z($2) + 1)))))
Rows Removed by Filter: 27116
Heap Blocks: exact=1062
-> Bitmap Index Scan on osm_city_point_geom (cost=0.00..4.30 rows=3 width=0) (actual time=2.946..2.946 rows=27116 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on ranked_places (cost=20.79..23.16 rows=1 width=323) (actual time=1608.721..1608.721 rows=0 loops=1)
Filter: ((st_asmvtgeom(ranked_places.geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL) AND (((z($2) >= 7) AND (z($2) <= 8) AND ((ranked_places.gridrank <= 4) OR (ranked_places.rank IS NOT NULL))) OR ((z($2) = 9) AND ((ranked_places.gridrank <= 8) OR (ranked_places.rank IS NOT NULL))) OR ((z($2) = 10) AND ((ranked_places.gridrank <= 12) OR (ranked_places.rank IS NOT NULL))) OR ((z($2) >= 11) AND (z($2) <= 12) AND ((ranked_places.gridrank <= 14) OR (ranked_places.rank IS NOT NULL))) OR (z($2) >=
13)))
-> WindowAgg (cost=20.79..21.08 rows=1 width=364) (actual time=1608.720..1608.720 rows=0 loops=1)
-> Sort (cost=20.79..20.80 rows=1 width=299) (actual time=1608.718..1608.718 rows=0 loops=1)
Sort Key: (labelgrid(osm_city_point_1.geometry, ('128'::numeric * $3))), osm_city_point_1.rank, osm_city_point_1.place, osm_city_point_1.population DESC NULLS LAST, (length((osm_city_point_1.name)::text))
Sort Method: quicksort Memory: 25kB
-> Bitmap Heap Scan on osm_city_point osm_city_point_1 (cost=4.30..20.78 rows=1 width=299) (actual time=1608.672..1608.672 rows=0 loops=1)
Recheck Cond: (geometry && $1)
Filter: (((z($2) = 7) AND (place <= 'town'::city_place)) OR ((z($2) >= 8) AND (z($2) <= 10) AND (place <= 'village'::city_place)) OR ((z($2) >= 11) AND (z($2) <= 13) AND (place <= 'suburb'::city_place)) OR (z($2) >= 14))
Rows Removed by Filter: 27116
Heap Blocks: exact=1062
-> Bitmap Index Scan on osm_city_point_geom (cost=0.00..4.30 rows=3 width=0) (actual time=2.066..2.066 rows=27116 loops=1)
Index Cond: (geometry && $1)
-> Aggregate (cost=20.10..20.11 rows=1 width=32) (actual time=0.020..0.020 rows=1 loops=1)
-> Result (cost=4.56..19.98 rows=4 width=39) (actual time=0.018..0.018 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_housenumber_point (cost=4.56..19.98 rows=4 width=39) (never executed)
Recheck Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 8, true) IS NOT NULL)
-> Bitmap Index Scan on osm_housenumber_point_geom (cost=0.00..4.31 rows=4 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=816.96..816.97 rows=1 width=32) (actual time=0.078..0.078 rows=1 loops=1)
-> Subquery Scan on layer_poi (cost=785.03..788.39 rows=84 width=378) (actual time=0.073..0.073 rows=0 loops=1)
Filter: (st_asmvtgeom(layer_poi.geometry, ($1)::box2d, 4096, 64, true) IS NOT NULL)
-> Sort (cost=785.03..785.24 rows=84 width=414) (actual time=0.073..0.073 rows=0 loops=1)
Sort Key: ((row_number() OVER (?))::integer)
Sort Method: quicksort Memory: 25kB
-> WindowAgg (cost=720.82..782.35 rows=84 width=414) (actual time=0.069..0.069 rows=0 loops=1)
-> Sort (cost=720.82..721.03 rows=84 width=286) (actual time=0.068..0.068 rows=0 loops=1)
Sort Key: (labelgrid("*SELECT* 1_6".geometry, ('100'::numeric * $3))), (CASE WHEN (("*SELECT* 1_6".name)::text = ''::text) THEN 2000 ELSE CASE CASE WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{accessories,antiques,beauty,bed,boutique,camera,carpet,charity,chemist,chocolate,coffee,computer,confectionery,convenience,copyshop,cosmetics,garden_centre,doityourself,erotic,electronics,fabric,florist,frozen_food,furniture,video_games,video,general,gift,hardware,hearing_aids,hifi,ice_cream,interior_decoration,jewelr
y,kiosk,lamps,mall,massage,motorcycle,mobile_phone,newsagent,optician,outdoor,perfumery,perfume,pet,photo,second_hand,shoes,sports,stationery,tailor,tattoo,ticket,tobacco,toys,travel_agency,watches,weapons,wholesale}'::text[])) THEN 'shop'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{townhall,public_building,courthouse,community_centre}'::text[])) THEN 'town_hall'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{golf,golf_course,miniature_golf}'::text[])) THEN 'golf'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{fast_food,
food_court}'::text[])) THEN 'fast_food'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{park,bbq}'::text[])) THEN 'park'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{bus_stop,bus_station}'::text[])) THEN 'bus'::text WHEN (((("*SELECT* 1_6".subclass)::text = 'station'::text) AND (("*SELECT* 1_6".mapping_key)::text = 'railway'::text)) OR (("*SELECT* 1_6".subclass)::text = ANY ('{halt,tram_stop,subway}'::text[]))) THEN 'railway'::text WHEN ((("*SELECT* 1_6".subclass)::text = 'station'::text) AND (("*SELECT* 1_6".mapping_key)::text
= 'aerialway'::text)) THEN 'aerialway'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{subway_entrance,train_station_entrance}'::text[])) THEN 'entrance'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{camp_site,caravan_site}'::text[])) THEN 'campsite'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{laundry,dry_cleaning}'::text[])) THEN 'laundry'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{supermarket,deli,delicatessen,department_store,greengrocer,marketplace}'::text[])) THEN 'grocery'::text WHEN (("*SELECT* 1_6".subc
lass)::text = ANY ('{books,library}'::text[])) THEN 'library'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{university,college}'::text[])) THEN 'college'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{hotel,motel,bed_and_breakfast,guest_house,hostel,chalet,alpine_hut,camp_site}'::text[])) THEN 'lodging'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{chocolate,confectionery}'::text[])) THEN 'ice_cream'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{post_box,post_office}'::text[])) THEN 'post'::text WHEN (("*SELECT* 1_
6".subclass)::text = 'cafe'::text) THEN 'cafe'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{school,kindergarten}'::text[])) THEN 'school'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{alcohol,beverages,wine}'::text[])) THEN 'alcohol_shop'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{bar,nightclub}'::text[])) THEN 'bar'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{marina,dock}'::text[])) THEN 'harbor'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{car,car_repair,taxi}'::text[])) THEN 'car'::text WHEN (("*S
ELECT* 1_6".subclass)::text = ANY ('{hospital,nursing_home,clinic}'::text[])) THEN 'hospital'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{grave_yard,cemetery}'::text[])) THEN 'cemetery'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{attraction,viewpoint}'::text[])) THEN 'attraction'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{biergarten,pub}'::text[])) THEN 'beer'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{music,musical_instrument}'::text[])) THEN 'music'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{
american_football,stadium,soccer}'::text[])) THEN 'stadium'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{art,artwork,gallery,arts_centre}'::text[])) THEN 'art_gallery'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{bag,clothes}'::text[])) THEN 'clothing_store'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{swimming_area,swimming}'::text[])) THEN 'swimming'::text WHEN (("*SELECT* 1_6".subclass)::text = ANY ('{castle,ruins}'::text[])) THEN 'castle'::text ELSE ("*SELECT* 1_6".subclass)::text END WHEN 'hospital'::text THEN 20
WHEN 'railway'::text THEN 40 WHEN 'bus'::text THEN 50 WHEN 'attraction'::text THEN 70 WHEN 'harbor'::text THEN 75 WHEN 'college'::text THEN 80 WHEN 'school'::text THEN 85 WHEN 'stadium'::text THEN 90 WHEN 'zoo'::text THEN 95 WHEN 'town_hall'::text THEN 100 WHEN 'campsite'::text THEN 110 WHEN 'cemetery'::text THEN 115 WHEN 'park'::text THEN 120 WHEN 'library'::text THEN 130 WHEN 'police'::text THEN 135 WHEN 'post'::text THEN 140 WHEN 'golf'::text THEN 150 WHEN 'shop'::text THEN 400 WHEN 'grocery'::text THEN 500 WHEN 'fast_food'::text THEN 60
0 WHEN 'clothing_store'::text THEN 700 WHEN 'bar'::text THEN 800 ELSE 1000 END END)
Sort Method: quicksort Memory: 25kB
-> Result (cost=9.40..718.13 rows=84 width=286) (actual time=0.064..0.064 rows=0 loops=1)
-> Append (cost=9.40..675.50 rows=84 width=250) (actual time=0.064..0.064 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_6" (cost=9.40..261.52 rows=1 width=260) (actual time=0.016..0.017 rows=0 loops=1)
-> Result (cost=9.40..261.51 rows=1 width=368) (actual time=0.016..0.016 rows=0 loops=1)
One-Time Filter: ((z($2) >= 12) AND (z($2) <= 13))
-> Bitmap Heap Scan on osm_poi_point (cost=9.40..261.51 rows=1 width=260) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((((subclass)::text = 'station'::text) AND ((mapping_key)::text = 'railway'::text)) OR ((subclass)::text = ANY ('{halt,ferry_terminal}'::text[])))
-> Bitmap Index Scan on osm_poi_point_geom (cost=0.00..8.89 rows=64 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 2_8" (cost=9.16..261.59 rows=64 width=260) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=9.16..260.95 rows=64 width=368) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_poi_point osm_poi_point_1 (cost=9.16..260.79 rows=64 width=260) (never executed)
Recheck Cond: (geometry && $1)
-> Bitmap Index Scan on osm_poi_point_geom (cost=0.00..8.89 rows=64 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 3_5" (cost=4.92..75.97 rows=1 width=215) (actual time=0.016..0.016 rows=0 loops=1)
-> Result (cost=4.92..75.96 rows=1 width=323) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: ((z($2) >= 12) AND (z($2) <= 13))
-> Bitmap Heap Scan on osm_poi_polygon (cost=4.92..75.94 rows=1 width=211) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((((subclass)::text = 'station'::text) AND ((mapping_key)::text = 'railway'::text)) OR ((subclass)::text = ANY ('{halt,ferry_terminal}'::text[])))
-> Bitmap Index Scan on osm_poi_polygon_geom (cost=0.00..4.42 rows=18 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 4_8" (cost=4.67..76.01 rows=18 width=215) (actual time=0.015..0.015 rows=0 loops=1)
-> Result (cost=4.67..75.83 rows=18 width=323) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_poi_polygon osm_poi_polygon_1 (cost=4.67..75.56 rows=18 width=211) (never executed)
Recheck Cond: (geometry && $1)
-> Bitmap Index Scan on osm_poi_polygon_geom (cost=0.00..4.42 rows=18 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=8.59..8.60 rows=1 width=32) (actual time=0.017..0.017 rows=1 loops=1)
-> Result (cost=0.14..8.19 rows=1 width=434) (actual time=0.015..0.015 rows=0 loops=1)
One-Time Filter: (z($2) >= 10)
-> Index Scan using osm_aerodrome_label_point_geom on osm_aerodrome_label_point (cost=0.14..8.19 rows=1 width=434) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 64, true) IS NOT NULL)
Planning Time: 37.983 ms
Execution Time: 21319.496 ms
(1009 rows)
# connect with psql -h postgres -U openmaptiles -W openmaptiles
# PREPARE
PREPARE gettile(geometry, numeric, numeric, numeric) AS SELECT ST_ASMVT(tile, 'water', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class FROM layer_water($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'waterway', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, brunnel FROM layer_waterway($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'landcover', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, subclass FROM layer_landcover($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'landuse', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class FROM layer_landuse($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'mountain_peak', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", ele, ele_ft, rank FROM layer_mountain_peak($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'park', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", rank FROM layer_park($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'boundary', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, admin_level, disputed, maritime FROM layer_boundary($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'aeroway', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, ref, class FROM layer_aeroway($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'transportation', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, subclass, oneway, ramp, brunnel, service, layer, level, indoor FROM layer_transportation($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'building', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, render_height, render_min_height, hide_3d FROM layer_building($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'water_name', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,256,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class FROM layer_water_name($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,256,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'transportation_name', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,8,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", ref, ref_length, network::text, class::text, subclass, layer, level, indoor FROM layer_transportation_name($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,8,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'place', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,256,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, rank, capital, iso_a2 FROM layer_place($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,256,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'housenumber', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,8,true) AS mvtgeometry, housenumber FROM layer_housenumber($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,8,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'poi', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, subclass, agg_stop, layer, level, indoor, rank FROM layer_poi($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'aerodrome_label', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, iata, icao, ele, ele_ft FROM layer_aerodrome_label ($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile;
# EXECUTE 1 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXECUTE 2 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXECUTE 3 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXECUTE 4 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXECUTE 5 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXECUTE 6 <- It's slow query.
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# exit
\q
# connect with psql -h postgres -U openmaptiles -W openmaptiles
# PREPARE
PREPARE gettile(geometry, numeric, numeric, numeric) AS SELECT ST_ASMVT(tile, 'water', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class FROM layer_water($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'waterway', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, brunnel FROM layer_waterway($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'landcover', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, subclass FROM layer_landcover($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'landuse', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class FROM layer_landuse($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'mountain_peak', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", ele, ele_ft, rank FROM layer_mountain_peak($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'park', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", rank FROM layer_park($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'boundary', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, admin_level, disputed, maritime FROM layer_boundary($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'aeroway', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, ref, class FROM layer_aeroway($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'transportation', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, class, subclass, oneway, ramp, brunnel, service, layer, level, indoor FROM layer_transportation($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'building', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,4,true) AS mvtgeometry, render_height, render_min_height, hide_3d FROM layer_building($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,4,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'water_name', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,256,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class FROM layer_water_name($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,256,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'transportation_name', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,8,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", ref, ref_length, network::text, class::text, subclass, layer, level, indoor FROM layer_transportation_name($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,8,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'place', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,256,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, rank, capital, iso_a2 FROM layer_place($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,256,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'housenumber', 4096, 'mvtgeometry') FROM (SELECT ST_AsMVTGeom(geometry,$1,4096,8,true) AS mvtgeometry, housenumber FROM layer_housenumber($1, z($2)) WHERE ST_AsMVTGeom(geometry, $1,4096,8,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'poi', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, subclass, agg_stop, layer, level, indoor, rank FROM layer_poi($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile UNION ALL SELECT ST_ASMVT(tile, 'aerodrome_label', 4096, 'mvtgeometry') FROM (SELECT osm_id, ST_AsMVTGeom(geometry,$1,4096,64,true) AS mvtgeometry, name, name_en, name_de, NULLIF(tags->'name:ar', '') AS "name:ar", NULLIF(tags->'name:az', '') AS "name:az", NULLIF(tags->'name:be', '') AS "name:be", NULLIF(tags->'name:bg', '') AS "name:bg", NULLIF(tags->'name:br', '') AS "name:br", NULLIF(tags->'name:bs', '') AS "name:bs", NULLIF(tags->'name:ca', '') AS "name:ca", NULLIF(tags->'name:cs', '') AS "name:cs", NULLIF(tags->'name:cy', '') AS "name:cy", NULLIF(tags->'name:da', '') AS "name:da", NULLIF(tags->'name:de', '') AS "name:de", NULLIF(tags->'name:el', '') AS "name:el", NULLIF(tags->'name:en', '') AS "name:en", NULLIF(tags->'name:eo', '') AS "name:eo", NULLIF(tags->'name:es', '') AS "name:es", NULLIF(tags->'name:et', '') AS "name:et", NULLIF(tags->'name:fi', '') AS "name:fi", NULLIF(tags->'name:fr', '') AS "name:fr", NULLIF(tags->'name:fy', '') AS "name:fy", NULLIF(tags->'name:ga', '') AS "name:ga", NULLIF(tags->'name:gd', '') AS "name:gd", NULLIF(tags->'name:he', '') AS "name:he", NULLIF(tags->'name:hr', '') AS "name:hr", NULLIF(tags->'name:hu', '') AS "name:hu", NULLIF(tags->'name:hy', '') AS "name:hy", NULLIF(tags->'name:is', '') AS "name:is", NULLIF(tags->'name:it', '') AS "name:it", NULLIF(tags->'name:ja', '') AS "name:ja", NULLIF(tags->'name:ja_kana', '') AS "name:ja_kana", NULLIF(tags->'name:ja_rm', '') AS "name:ja_rm", NULLIF(tags->'name:ka', '') AS "name:ka", NULLIF(tags->'name:kk', '') AS "name:kk", NULLIF(tags->'name:kn', '') AS "name:kn", NULLIF(tags->'name:ko', '') AS "name:ko", NULLIF(tags->'name:ko_rm', '') AS "name:ko_rm", NULLIF(tags->'name:la', '') AS "name:la", NULLIF(tags->'name:lb', '') AS "name:lb", NULLIF(tags->'name:lt', '') AS "name:lt", NULLIF(tags->'name:lv', '') AS "name:lv", NULLIF(tags->'name:mk', '') AS "name:mk", NULLIF(tags->'name:mt', '') AS "name:mt", NULLIF(tags->'name:ml', '') AS "name:ml", NULLIF(tags->'name:nl', '') AS "name:nl", NULLIF(tags->'name:no', '') AS "name:no", NULLIF(tags->'name:pl', '') AS "name:pl", NULLIF(tags->'name:pt', '') AS "name:pt", NULLIF(tags->'name:rm', '') AS "name:rm", NULLIF(tags->'name:ro', '') AS "name:ro", NULLIF(tags->'name:ru', '') AS "name:ru", NULLIF(tags->'name:sk', '') AS "name:sk", NULLIF(tags->'name:sl', '') AS "name:sl", NULLIF(tags->'name:sq', '') AS "name:sq", NULLIF(tags->'name:sr', '') AS "name:sr", NULLIF(tags->'name:sr-Latn', '') AS "name:sr-Latn", NULLIF(tags->'name:sv', '') AS "name:sv", NULLIF(tags->'name:th', '') AS "name:th", NULLIF(tags->'name:tr', '') AS "name:tr", NULLIF(tags->'name:uk', '') AS "name:uk", NULLIF(tags->'name:zh', '') AS "name:zh", NULLIF(tags->'name_int', '') AS "name_int", NULLIF(tags->'name:latin', '') AS "name:latin", NULLIF(tags->'name:nonlatin', '') AS "name:nonlatin", class, iata, icao, ele, ele_ft FROM layer_aerodrome_label ($1, z($2), $3) WHERE ST_AsMVTGeom(geometry, $1,4096,64,true) IS NOT NULL) AS tile;
# EXECUTE 1 <- too fast
EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
# EXPLAIN (fast)
EXPLAIN ANALYZE EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
all result -> (explain_fast.txt)
Planning Time: 22.303 ms
Execution Time: 28.690 ms
(276 rows)
# EXPLAIN (slow)
EXPLAIN ANALYZE EXECUTE gettile(ST_MakeBox2D(ST_Point(-20037508.342789244, -20037508.342789255), ST_Point(20037508.342789244, 20037508.342789244)), 559082264.0287178, 256, 256);
result (explain_slow.txt)->
Planning Time: 37.983 ms
Execution Time: 21319.496 ms
(1009 rows)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment