Skip to content

Instantly share code, notes, and snippets.

@smellman
Last active April 12, 2019 23:58
Show Gist options
  • Save smellman/d486a047386390b818da492941b587de to your computer and use it in GitHub Desktop.
Save smellman/d486a047386390b818da492941b587de to your computer and use it in GitHub Desktop.
OpenMapTiles postserve research at 2019/04/13
Append (cost=4.11..275961.72 rows=16 width=32) (actual time=95.132..116.464 rows=16 loops=1)
-> Aggregate (cost=4.11..4.12 rows=1 width=32) (actual time=95.114..95.127 rows=1 loops=1)
-> Append (cost=0.00..3.95 rows=27 width=3447) (actual time=0.410..54.326 rows=27 loops=1)
-> Append (cost=0.00..3.54 rows=27 width=3447) (actual time=0.393..53.961 rows=27 loops=1)
-> Seq Scan on ne_110m_ocean (cost=0.00..1.03 rows=2 width=41832) (actual time=0.375..51.364 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.159..2.227 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=173679.19..173679.20 rows=1 width=32) (actual time=0.213..0.226 rows=1 loops=1)
-> Append (cost=0.00..173673.93 rows=9 width=194) (actual time=0.199..0.205 rows=0 loops=1)
-> Result (cost=0.00..3.16 rows=1 width=1604) (actual time=0.007..0.013 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.007..0.013 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.007..0.013 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.020..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Subquery Scan on "*SELECT* 7" (cost=0.00..85820.53 rows=1 width=904) (actual time=0.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..85820.52 rows=1 width=816) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_waterway_linestring (cost=0.00..85820.52 rows=1 width=790) (never executed)
Filter: ((waterway)::text = ANY ('{river,canal}'::text[]))
-> Subquery Scan on "*SELECT* 8" (cost=0.00..87337.19 rows=1 width=904) (actual time=0.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..87337.18 rows=1 width=816) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_waterway_linestring osm_waterway_linestring_1 (cost=0.00..87337.18 rows=1 width=790) (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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=194) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=2.90..2.91 rows=1 width=32) (actual time=9.060..9.072 rows=1 loops=1)
-> Append (cost=0.00..1.38 rows=21 width=168) (actual time=0.102..4.592 rows=11 loops=1)
-> Seq Scan on ne_110m_glaciated_areas (cost=0.00..1.17 rows=11 width=1376) (actual time=0.089..4.195 rows=11 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geome
try) 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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.007..0.013 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.019..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.006..0.013 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.020..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.006..0.013 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.019..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.006..0.013 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.020..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=168) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=118.09..118.10 rows=1 width=32) (actual time=0.214..0.226 rows=1 loops=1)
-> Append (cost=0.00..117.84 rows=9 width=172) (actual time=0.199..0.205 rows=0 loops=1)
-> Result (cost=0.00..117.79 rows=1 width=414) (actual time=0.006..0.013 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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=172) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.36..0.37 rows=1 width=32) (actual time=0.041..0.053 rows=1 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=180) (actual time=0.027..0.034 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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.36..0.37 rows=1 width=32) (actual time=0.078..0.091 rows=1 loops=1)
-> Append (cost=0.01..0.02 rows=1 width=196) (actual time=0.064..0.070 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 2" (cost=0.01..0.02 rows=1 width=196) (actual time=0.051..0.057 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.038..0.044 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=262) (actual time=0.024..0.030 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), NULL
IF((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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=100177.55..100177.56 rows=1 width=32) (actual time=8.062..8.075 rows=1 loops=1)
-> Append (cost=0.00..100175.62 rows=191 width=278) (actual time=0.056..5.100 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.042..2.655 rows=186 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B73C1'::geome
try) AND (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.00..3155.24 rows=1 width=96) (actual time=0.007..0.014 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen8 (cost=0.00..3155.24 rows=1 width=96) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..3492.24 rows=1 width=120) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen7 (cost=0.00..3492.24 rows=1 width=120) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..4056.24 rows=1 width=159) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen6 (cost=0.00..4056.24 rows=1 width=159) (never executed)
Filter: (admin_level <= 4)
-> Result (cost=0.00..14835.31 rows=1 width=199) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen5 (cost=0.00..14835.31 rows=1 width=199) (never executed)
Filter: (admin_level <= 6)
-> Result (cost=0.00..18248.31 rows=1 width=264) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen4 (cost=0.00..18248.31 rows=1 width=264) (never executed)
Filter: (admin_level <= 6)
-> Result (cost=0.00..56373.62 rows=1 width=289) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_border_linestring_gen3 (cost=0.00..56373.62 rows=1 width=289) (never executed)
Filter: (admin_level <= 8)
-> Aggregate (cost=0.03..0.04 rows=1 width=32) (actual time=0.022..0.034 rows=1 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=96) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=13.13..13.14 rows=1 width=32) (actual time=0.478..0.491 rows=1 loops=1)
-> Sort (cost=12.76..12.81 rows=20 width=192) (actual time=0.464..0.470 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.445..0.451 rows=0 loops=1)
-> Append (cost=0.00..0.12 rows=20 width=285) (actual time=0.432..0.438 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 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.020..0.026 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.007..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=283) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=285) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=0.10..0.11 rows=1 width=32) (actual time=0.101..0.113 rows=1 loops=1)
-> Sort (cost=0.06..0.06 rows=1 width=57) (actual time=0.087..0.093 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.05 rows=1 width=57) (actual time=0.071..0.077 rows=0 loops=1)
-> Append (cost=0.01..0.03 rows=1 width=41) (actual time=0.059..0.065 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 2_1" (cost=0.01..0.03 rows=1 width=41) (actual time=0.046..0.053 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.034..0.040 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=49) (actual time=0.021..0.027 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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=326.20..326.21 rows=1 width=32) (actual time=2.230..2.242 rows=1 loops=1)
-> Function Scan on layer_water_name (cost=0.25..12.75 rows=995 width=200) (actual time=2.213..2.219 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.36..0.37 rows=1 width=32) (actual time=0.036..0.048 rows=1 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=316) (actual time=0.022..0.028 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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=50.47..50.48 rows=1 width=32) (actual time=0.276..0.289 rows=1 loops=1)
-> Sort (cost=22.60..22.82 rows=85 width=240) (actual time=0.184..0.197 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.060..0.166 rows=1 loops=1)
-> Seq Scan on osm_continent_point (cost=0.00..16.60 rows=80 width=240) (actual time=0.009..0.016 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.031..0.057 rows=1 loops=1)
-> Seq Scan on osm_country_point (cost=0.00..1.03 rows=1 width=1738) (actual time=0.018..0.031 rows=1 loops=1)
Filter: ((geometry && '0103000000010000000500000093107C45F81B73C196107C45F81B73C193107C45F81B73C193107C45F81B734193107C45F81B734193107C45F81B734193107C45F81B734196107C45F81B73C193107C45F81B73C196107C45F81B
73C1'::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.010..0.017 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 = A
NY ('{"United Kingdom",USA,Россия,Brasil,China,India}'::text[])) OR ((is_in_country_code)::text = ANY ('{AU,CN,IN,BR,US}'::text[]))))
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.006..0.013 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.019..0.025 rows=0 loops=1)
-> Result (cost=0.00..0.00 rows=0 width=240) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=1554.81..1554.82 rows=1 width=32) (actual time=0.021..0.033 rows=1 loops=1)
-> Result (cost=0.00..1554.78 rows=1 width=39) (actual time=0.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_housenumber_point (cost=0.00..1554.78 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.37..0.38 rows=1 width=32) (actual time=0.077..0.089 rows=1 loops=1)
-> Subquery Scan on layer_poi (cost=0.03..0.03 rows=1 width=252) (actual time=0.063..0.069 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.050..0.056 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.035..0.042 rows=0 loops=1)
-> Sort (cost=0.01..0.02 rows=0 width=377) (actual time=0.022..0.028 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,chari
ty,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,inter
ior_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 ((mappin
g_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 'ca
mpsite'::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 WH
EN ((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,hos
tel,chalet,alpine_hut,camp_site}'::text[])) THEN '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 WHE
N ((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 ((su
bclass)::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[])) T
HEN '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'::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 WH
EN '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 'groce
ry'::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.007..0.013 rows=0 loops=1)
One-Time Filter: false
-> Aggregate (cost=33.30..33.31 rows=1 width=32) (actual time=0.020..0.033 rows=1 loops=1)
-> Result (cost=0.00..32.90 rows=1 width=435) (actual time=0.006..0.013 rows=0 loops=1)
One-Time Filter: false
-> Seq Scan on osm_aerodrome_label_point (cost=0.00..32.90 rows=1 width=435) (never executed)
Filter: (st_asmvtgeom(geometry, 'BOX(-20037508.3427892 -20037508.3427893,20037508.3427892 20037508.3427892)'::box2d, 4096, 64, true) IS NOT NULL)
Planning Time: 23.360 ms
Execution Time: 120.424 ms
(276 rows)
Append (cost=368.03..26621.98 rows=16 width=32) (actual time=92.759..10595.625 rows=16 loops=1)
-> Aggregate (cost=368.03..368.04 rows=1 width=32) (actual time=92.741..92.754 rows=1 loops=1)
-> Append (cost=0.25..367.43 rows=77 width=309837) (actual time=0.466..52.178 rows=27 loops=1)
-> Append (cost=0.25..3.99 rows=2 width=21104) (actual time=0.449..50.738 rows=27 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=41832) (actual time=0.433..47.595 rows=2 loops=1)
One-Time Filter: (z($2) = 0)
-> Seq Scan on ne_110m_ocean (cost=0.25..1.29 rows=1 width=41832) (actual time=0.346..47.478 rows=2 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Result (cost=0.25..2.69 rows=1 width=376) (actual time=0.277..2.784 rows=25 loops=1)
One-Time Filter: (z($2) = 0)
-> Seq Scan on ne_110m_lakes (cost=0.25..2.69 rows=1 width=376) (actual time=0.222..2.403 rows=25 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.25..3.99 rows=2 width=21104) (actual time=0.094..0.100 rows=0 loops=1)
-> Result (cost=0.25..1.29 rows=1 width=41832) (actual time=0.046..0.052 rows=0 loops=1)
One-Time Filter: (z($2) = 1)
-> Seq Scan on ne_110m_ocean ne_110m_ocean_1 (cost=0.25..1.29 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..2.69 rows=1 width=376) (actual time=0.028..0.034 rows=0 loops=1)
One-Time Filter: (z($2) = 1)
-> Seq Scan on ne_110m_lakes ne_110m_lakes_1 (cost=0.25..2.69 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.70 rows=2 width=489426) (actual time=0.074..0.080 rows=0 loops=1)
-> Result (cost=0.51..1.52 rows=1 width=978064) (actual time=0.027..0.034 rows=0 loops=1)
One-Time Filter: ((z($2) >= 2) AND (z($2) <= 3))
-> Seq Scan on ne_50m_ocean (cost=0.51..1.52 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.17 rows=1 width=788) (actual time=0.026..0.033 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.17 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.45 rows=2 width=489426) (actual time=0.072..0.078 rows=0 loops=1)
-> Result (cost=0.25..1.27 rows=1 width=978064) (actual time=0.026..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Seq Scan on ne_50m_ocean ne_50m_ocean_1 (cost=0.25..1.27 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.17 rows=1 width=788) (actual time=0.026..0.032 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.17 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.45 rows=2 width=3585703) (actual time=0.071..0.077 rows=0 loops=1)
-> Result (cost=0.25..1.27 rows=1 width=7169688) (actual time=0.026..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Seq Scan on ne_10m_ocean (cost=0.25..1.27 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.17 rows=1 width=1718) (actual time=0.025..0.031 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.17 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.44 rows=2 width=3585572) (actual time=0.070..0.076 rows=0 loops=1)
-> Result (cost=0.25..1.27 rows=1 width=7169688) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Seq Scan on ne_10m_ocean ne_10m_ocean_1 (cost=0.25..1.27 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.16 rows=1 width=1457) (actual time=0.025..0.031 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.16 rows=1 width=1457) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.25..9.45 rows=2 width=3585410) (actual time=0.083..0.089 rows=0 loops=1)
-> Result (cost=0.25..1.27 rows=1 width=7169688) (actual time=0.037..0.043 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Seq Scan on ne_10m_ocean ne_10m_ocean_2 (cost=0.25..1.27 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.17 rows=1 width=1131) (actual time=0.026..0.032 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.17 rows=1 width=1131) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.56 rows=5 width=1786) (actual time=0.071..0.077 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=2054) (actual time=0.026..0.032 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.37 rows=4 width=2054) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.17 rows=1 width=714) (actual time=0.025..0.032 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.17 rows=1 width=714) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.56 rows=5 width=2942) (actual time=0.081..0.087 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=3534) (actual time=0.026..0.032 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.37 rows=4 width=3534) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.14..8.17 rows=1 width=573) (actual time=0.025..0.031 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.17 rows=1 width=573) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..28.57 rows=5 width=4335) (actual time=0.069..0.076 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=5314) (actual time=0.025..0.031 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.37 rows=4 width=5314) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.15..8.18 rows=1 width=419) (actual time=0.025..0.031 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.18 rows=1 width=419) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..32.73 rows=6 width=4855) (actual time=0.069..0.075 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=7122) (actual time=0.025..0.031 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.37 rows=4 width=7122) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=0.28..12.33 rows=2 width=321) (actual time=0.025..0.031 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.33 rows=2 width=321) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Append (cost=0.28..64.13 rows=14 width=5417) (actual time=0.069..0.075 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=17382) (actual time=0.025..0.031 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.37 rows=4 width=17382) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.61..43.70 rows=10 width=631) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_water_polygon (cost=4.61..43.70 rows=10 width=631) (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.13 rows=14 width=5417) (actual time=0.070..0.076 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=17382) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Index Scan using osm_ocean_polygon_geometry_idx on osm_ocean_polygon osm_ocean_polygon_1 (cost=0.28..20.37 rows=4 width=17382) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.61..43.70 rows=10 width=631) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_water_polygon osm_water_polygon_1 (cost=4.61..43.70 rows=10 width=631) (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.13 rows=14 width=5417) (actual time=0.084..0.090 rows=0 loops=1)
-> Result (cost=0.28..20.37 rows=4 width=17382) (actual time=0.025..0.031 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.37 rows=4 width=17382) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Result (cost=4.61..43.70 rows=10 width=631) (actual time=0.039..0.045 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.70 rows=10 width=631) (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=444.96..444.97 rows=1 width=32) (actual time=0.383..0.395 rows=1 loops=1)
-> Append (cost=0.25..401.06 rows=75 width=194) (actual time=0.368..0.374 rows=0 loops=1)
-> Result (cost=0.25..3.51 rows=1 width=1604) (actual time=0.025..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 3)
-> Seq Scan on ne_110m_rivers_lake_centerlines (cost=0.25..3.51 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.17 rows=1 width=1094) (actual time=0.025..0.031 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.17 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.17 rows=1 width=3023) (actual time=0.025..0.031 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.17 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.18 rows=1 width=453) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=369) (actual time=0.025..0.031 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.17 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.31 rows=1 width=486) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.28..8.30 rows=1 width=402) (actual time=0.025..0.031 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.30 rows=1 width=368) (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.38 rows=3 width=444) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.28..16.35 rows=3 width=360) (actual time=0.025..0.031 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.35 rows=3 width=326) (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.75..115.85 rows=11 width=904) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.75..115.74 rows=11 width=816) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_waterway_linestring (cost=4.75..115.74 rows=11 width=790) (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.49 rows=28 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 8" (cost=4.75..116.13 rows=28 width=904) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.75..115.85 rows=28 width=816) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_waterway_linestring osm_waterway_linestring_1 (cost=4.75..115.85 rows=28 width=790) (never executed)
Recheck Cond: (geometry && $1)
Filter: ((st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL) AND ((waterway)::text = ANY ('{river,canal,stream,drain,ditch}'::text[])))
-> Bitmap Index Scan on osm_waterway_linestring_geom (cost=0.00..4.49 rows=28 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 9" (cost=4.75..115.96 rows=28 width=904) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.75..115.68 rows=28 width=816) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_waterway_linestring osm_waterway_linestring_2 (cost=4.75..115.68 rows=28 width=790) (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.49 rows=28 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=485.44..485.45 rows=1 width=32) (actual time=9.295..9.308 rows=1 loops=1)
-> Append (cost=0.51..477.45 rows=108 width=168) (actual time=0.155..5.043 rows=11 loops=1)
-> Result (cost=0.51..1.70 rows=1 width=1376) (actual time=0.142..4.360 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.70 rows=1 width=1240) (actual time=0.094..4.169 rows=11 loops=1)
Filter: ((geometry && $1) AND (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL))
-> Append (cost=0.14..16.33 rows=2 width=1100) (actual time=0.081..0.087 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=770) (actual time=0.033..0.040 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.16 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.16 rows=1 width=1429) (actual time=0.028..0.034 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.16 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.34 rows=2 width=2304) (actual time=0.073..0.079 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=2200) (actual time=0.027..0.033 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.17 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.16 rows=1 width=2408) (actual time=0.026..0.032 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.16 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.18 rows=1 width=3789) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=3668) (actual time=0.025..0.031 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.17 rows=1 width=3668) (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.18 rows=1 width=1937) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=1816) (actual time=0.025..0.032 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.17 rows=1 width=1816) (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.31 rows=1 width=1216) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.28..8.30 rows=1 width=1095) (actual time=0.025..0.031 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.30 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.38 rows=3 width=940) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.28..16.35 rows=3 width=820) (actual time=0.025..0.031 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.35 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.38 rows=3 width=1340) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.28..16.35 rows=3 width=1220) (actual time=0.025..0.031 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.35 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.03 rows=7 width=1024) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.59..31.96 rows=7 width=903) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_landcover_polygon_gen2 (cost=4.59..31.96 rows=7 width=903) (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.07 rows=17 width=794) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.67..70.90 rows=17 width=674) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_landcover_polygon_gen1 (cost=4.67..70.90 rows=17 width=674) (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..281.98 rows=70 width=743) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=5.09..281.28 rows=70 width=624) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_landcover_polygon (cost=5.09..281.28 rows=70 width=624) (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=148.97..148.98 rows=1 width=32) (actual time=0.419..0.432 rows=1 loops=1)
-> Append (cost=0.14..148.17 rows=28 width=172) (actual time=0.405..0.411 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=414) (actual time=0.026..0.032 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.17 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.17 rows=1 width=414) (actual time=0.025..0.031 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.17 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.43 rows=1 width=1733) (actual time=0.025..0.031 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.43 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.17 rows=1 width=347) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=232) (actual time=0.025..0.031 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.16 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.18 rows=1 width=328) (actual time=0.049..0.055 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=212) (actual time=0.037..0.043 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.17 rows=1 width=208) (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.18 rows=1 width=317) (actual time=0.050..0.056 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=201) (actual time=0.037..0.043 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.17 rows=1 width=197) (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.07 rows=3 width=294) (actual time=0.050..0.056 rows=0 loops=1)
-> Result (cost=4.55..16.04 rows=3 width=176) (actual time=0.037..0.043 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_landuse_polygon_gen2 (cost=4.55..16.04 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.67 rows=6 width=300) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=4.58..27.61 rows=6 width=182) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_landuse_polygon_gen1 (cost=4.58..27.61 rows=6 width=178) (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..54.97 rows=13 width=373) (actual time=0.039..0.045 rows=0 loops=1)
-> Result (cost=4.63..54.84 rows=13 width=255) (actual time=0.025..0.032 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_landuse_polygon (cost=4.63..54.84 rows=13 width=251) (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.66..9.67 rows=1 width=32) (actual time=0.060..0.072 rows=1 loops=1)
-> Sort (cost=9.31..9.31 rows=1 width=298) (actual time=0.045..0.052 rows=0 loops=1)
Sort Key: ranked_peaks.rank
Sort Method: quicksort Memory: 25kB
-> Result (cost=8.70..9.30 rows=1 width=298) (actual time=0.026..0.032 rows=0 loops=1)
One-Time Filter: (z($2) >= 7)
-> Subquery Scan on ranked_peaks (cost=8.70..9.30 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)::te
xt, ''::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=158.34..158.35 rows=1 width=32) (actual time=0.963..0.975 rows=1 loops=1)
-> Append (cost=0.13..152.60 rows=18 width=1774) (actual time=0.949..0.955 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1" (cost=0.13..8.17 rows=1 width=2250) (actual time=0.039..0.045 rows=0 loops=1)
-> Result (cost=0.13..8.16 rows=1 width=2244) (actual time=0.025..0.032 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.16 rows=1 width=2232) (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.17 rows=1 width=2061) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=2055) (actual time=0.025..0.031 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.16 rows=1 width=2043) (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.17 rows=1 width=2648) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=2641) (actual time=0.025..0.031 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.16 rows=1 width=2629) (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.17 rows=1 width=3004) (actual time=0.101..0.107 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=2996) (actual time=0.088..0.094 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.16 rows=1 width=2984) (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.17 rows=1 width=3939) (actual time=0.039..0.045 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=3932) (actual time=0.026..0.032 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.16 rows=1 width=3920) (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.18 rows=1 width=3121) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=3113) (actual time=0.025..0.031 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.16 rows=1 width=3101) (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.18 rows=1 width=3539) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=3532) (actual time=0.025..0.031 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.16 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.18 rows=1 width=3903) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=3896) (actual time=0.025..0.031 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.16 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.18 rows=1 width=4690) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=4682) (actual time=0.025..0.031 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.16 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..78.95 rows=9 width=309) (actual time=0.471..0.477 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=355) (actual time=0.458..0.464 rows=0 loops=1)
-> Sort (cost=76.13..76.16 rows=9 width=328) (actual time=0.444..0.450 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=328) (actual time=0.419..0.425 rows=0 loops=1)
-> Append (cost=0.13..73.52 rows=9 width=294) (actual time=0.406..0.412 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_1" (cost=0.13..8.16 rows=1 width=309) (actual time=0.039..0.045 rows=0 loops=1)
-> Result (cost=0.13..8.15 rows=1 width=317) (actual time=0.026..0.032 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=309) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 2_2" (cost=0.14..8.16 rows=1 width=290) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=298) (actual time=0.025..0.031 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=290) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 3_1" (cost=0.14..8.16 rows=1 width=232) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=240) (actual time=0.025..0.031 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=232) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 4_4" (cost=0.14..8.16 rows=1 width=258) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=266) (actual time=0.025..0.031 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=258) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 5_4" (cost=0.14..8.16 rows=1 width=310) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=318) (actual time=0.025..0.031 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=310) (never executed)
Index Cond: (geometry_point && $1)
-> Subquery Scan on "*SELECT* 6_4" (cost=0.14..8.16 rows=1 width=307) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=315) (actual time=0.025..0.031 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=307) (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.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=326) (actual time=0.025..0.031 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.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=331) (actual time=0.025..0.031 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.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.15 rows=1 width=303) (actual time=0.025..0.031 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=2295.57..2295.58 rows=1 width=32) (actual time=11.335..11.347 rows=1 loops=1)
-> Append (cost=0.14..2288.66 rows=551 width=317) (actual time=0.124..8.277 rows=186 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=281) (actual time=0.111..5.278 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.16 rows=1 width=275) (actual time=0.078..2.860 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.85 rows=2 width=733) (actual time=0.097..0.103 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=911) (actual time=0.048..0.055 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.16 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.68 rows=1 width=555) (actual time=0.028..0.034 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.17 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.34 rows=2 width=733) (actual time=0.072..0.078 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=911) (actual time=0.026..0.033 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.16 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.16 rows=1 width=555) (actual time=0.025..0.032 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.16 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.01 rows=3 width=1224) (actual time=0.102..0.107 rows=0 loops=1)
-> Result (cost=0.40..8.43 rows=1 width=2869) (actual time=0.025..0.031 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.17 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.44 rows=1 width=726) (actual time=0.025..0.031 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.18 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.13 rows=1 width=78) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 4)
-> Bitmap Heap Scan on osm_border_linestring_gen10 (cost=4.29..11.87 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..62.97 rows=3 width=1225) (actual time=0.101..0.107 rows=0 loops=1)
-> Result (cost=0.40..8.43 rows=1 width=2869) (actual time=0.025..0.031 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.17 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.44 rows=1 width=726) (actual time=0.025..0.031 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.18 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.09 rows=1 width=81) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 5)
-> Bitmap Heap Scan on osm_border_linestring_gen9 (cost=4.36..45.82 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.23 rows=11 width=96) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 6)
-> Bitmap Heap Scan on osm_border_linestring_gen8 (cost=4.62..46.23 rows=11 width=96) (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.45 rows=11 width=120) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Bitmap Heap Scan on osm_border_linestring_gen7 (cost=4.62..46.45 rows=11 width=120) (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.72 rows=11 width=159) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Bitmap Heap Scan on osm_border_linestring_gen6 (cost=4.62..46.72 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.17 rows=36 width=199) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Bitmap Heap Scan on osm_border_linestring_gen5 (cost=4.81..143.17 rows=36 width=199) (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=5.34..404.35 rows=103 width=289) (actual time=0.025..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_border_linestring_gen3 (cost=5.34..404.35 rows=103 width=289) (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..656.74 rows=166 width=299) (actual time=0.025..0.032 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_border_linestring_gen2 (cost=9.96..656.74 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.96..659.38 rows=166 width=384) (actual time=0.025..0.032 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Bitmap Heap Scan on osm_border_linestring_gen1 (cost=9.96..659.38 rows=166 width=384) (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.66 rows=167 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=65.54..65.55 rows=1 width=32) (actual time=0.375..0.387 rows=1 loops=1)
-> Append (cost=0.15..65.46 rows=8 width=164) (actual time=0.360..0.366 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_2" (cost=0.15..8.18 rows=1 width=58) (actual time=0.038..0.045 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=58) (actual time=0.025..0.032 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.17 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.18 rows=1 width=60) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=60) (actual time=0.025..0.031 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.17 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.18 rows=1 width=63) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=63) (actual time=0.025..0.031 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.17 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.18 rows=1 width=185) (actual time=0.037..0.044 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=185) (actual time=0.025..0.031 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.17 rows=1 width=185) (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.17 rows=1 width=197) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=197) (actual time=0.025..0.031 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.16 rows=1 width=197) (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.17 rows=1 width=213) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=213) (actual time=0.025..0.031 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.16 rows=1 width=213) (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.18 rows=1 width=222) (actual time=0.037..0.044 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=222) (actual time=0.025..0.031 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.17 rows=1 width=222) (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.18 rows=1 width=316) (actual time=0.037..0.043 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=316) (actual time=0.024..0.030 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.17 rows=1 width=316) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Aggregate (cost=4813.30..4813.31 rows=1 width=32) (actual time=7934.032..7934.046 rows=1 loops=1)
-> Sort (cost=4806.29..4807.17 rows=349 width=192) (actual time=7934.014..7934.020 rows=0 loops=1)
Sort Key: zoom_levels.z_order
Sort Method: quicksort Memory: 25kB
-> Subquery Scan on zoom_levels (cost=0.14..4791.55 rows=349 width=192) (actual time=7933.993..7933.999 rows=0 loops=1)
-> Append (cost=0.14..4578.66 rows=349 width=285) (actual time=7933.979..7933.985 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=305) (actual time=0.025..0.032 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.17 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.15..8.17 rows=1 width=308) (actual time=0.025..0.031 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.15..8.17 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.15..8.17 rows=1 width=323) (actual time=0.025..0.031 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.15..8.17 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.18 rows=2 width=358) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 7)
-> Bitmap Heap Scan on osm_transportation_merge_linestring_gen4 (cost=4.54..12.18 rows=2 width=149) (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.32 rows=2 width=388) (actual time=0.025..0.031 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.32 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.15..186.44 rows=15 width=287) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: ((z($2) >= 9) AND (z($2) <= 10))
-> Bitmap Heap Scan on osm_highway_linestring_gen2 (cost=5.15..186.44 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.64 rows=47 width=0) (never executed)
Index Cond: (geometry && $1)
-> Result (cost=5.22..351.15 rows=30 width=290) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_highway_linestring_gen1 (cost=5.22..351.15 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.29..3751.30 rows=262 width=398) (actual time=7813.744..7813.750 rows=0 loops=1)
-> Bitmap Heap Scan on osm_highway_linestring (cost=34.29..3748.03 rows=262 width=334) (actual time=7813.728..7813.734 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 'motor
way'::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,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}'::tex
t[])) 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 ('{u
nclassified,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,corri
dor}'::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 (NOT st_isclosed(geometry))))) OR ((z($2) >= 14) AND (((man_made)::text <> 'pier'::text) OR (NOT st_isclosed(geometry))))))
Rows Removed by Filter: 7748575
Heap Blocks: exact=56469 lossy=231320
-> Bitmap Index Scan on osm_highway_linestring_geom (cost=0.00..34.23 rows=775 width=0) (actual time=1171.593..1171.599 rows=7748575 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 9_5" (cost=4.58..28.90 rows=4 width=302) (actual time=0.069..0.075 rows=0 loops=1)
-> Result (cost=4.58..28.86 rows=4 width=275) (actual time=0.052..0.058 rows=0 loops=1)
One-Time Filter: (z($2) = 8)
-> Bitmap Heap Scan on osm_railway_linestring_gen5 (cost=4.58..27.86 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..28.90 rows=4 width=305) (actual time=0.049..0.055 rows=0 loops=1)
-> Result (cost=4.58..28.86 rows=4 width=278) (actual time=0.032..0.039 rows=0 loops=1)
One-Time Filter: (z($2) = 9)
-> Bitmap Heap Scan on osm_railway_linestring_gen4 (cost=4.58..27.86 rows=4 width=74) (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.43 rows=6 width=307) (actual time=0.047..0.054 rows=0 loops=1)
-> Result (cost=4.58..29.35 rows=6 width=278) (actual time=0.031..0.037 rows=0 loops=1)
One-Time Filter: (z($2) = 10)
-> Bitmap Heap Scan on osm_railway_linestring_gen3 (cost=4.58..27.85 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.44 rows=6 width=312) (actual time=0.047..0.054 rows=0 loops=1)
-> Result (cost=4.58..29.37 rows=6 width=283) (actual time=0.031..0.038 rows=0 loops=1)
One-Time Filter: (z($2) = 11)
-> Bitmap Heap Scan on osm_railway_linestring_gen2 (cost=4.58..27.87 rows=6 width=87) (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.45 rows=6 width=317) (actual time=0.046..0.052 rows=0 loops=1)
-> Result (cost=4.58..29.37 rows=6 width=288) (actual time=0.030..0.037 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_railway_linestring_gen1 (cost=4.58..27.87 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.73 rows=3 width=417) (actual time=119.374..119.380 rows=0 loops=1)
-> Bitmap Heap Scan on osm_railway_linestring (cost=4.35..44.69 rows=3 width=388) (actual time=119.356..119.362 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)) O
R (z($2) >= 14)))
Rows Removed by Filter: 88804
Heap Blocks: exact=4843
-> Bitmap Index Scan on osm_railway_linestring_geom (cost=0.00..4.35 rows=9 width=0) (actual time=12.610..12.616 rows=88804 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 15" (cost=0.25..5.00 rows=1 width=302) (actual time=0.052..0.058 rows=0 loops=1)
-> Result (cost=0.25..4.99 rows=1 width=278) (actual time=0.036..0.042 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Seq Scan on osm_aerialway_linestring_gen1 (cost=0.25..4.74 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..5.00 rows=1 width=321) (actual time=0.044..0.050 rows=0 loops=1)
-> Result (cost=0.25..4.99 rows=1 width=297) (actual time=0.029..0.035 rows=0 loops=1)
One-Time Filter: (z($2) >= 13)
-> Seq Scan on osm_aerialway_linestring (cost=0.25..4.74 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.43 rows=1 width=536) (actual time=0.043..0.050 rows=0 loops=1)
-> Result (cost=0.14..8.42 rows=1 width=508) (actual time=0.029..0.035 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.17 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.43 rows=1 width=608) (actual time=0.043..0.050 rows=0 loops=1)
-> Result (cost=0.14..8.42 rows=1 width=580) (actual time=0.029..0.035 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.17 rows=1 width=384) (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.43 rows=1 width=947) (actual time=0.044..0.050 rows=0 loops=1)
-> Result (cost=0.14..8.42 rows=1 width=919) (actual time=0.029..0.035 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.17 rows=1 width=723) (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.34 rows=1 width=572) (actual time=0.043..0.049 rows=0 loops=1)
-> Result (cost=0.28..12.33 rows=1 width=511) (actual time=0.028..0.034 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.33 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=16255.21..16255.22 rows=1 width=32) (actual time=0.379..0.392 rows=1 loops=1)
-> Sort (cost=16254.41..16254.51 rows=39 width=168) (actual time=0.362..0.368 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..16253.38 rows=39 width=168) (actual time=0.335..0.341 rows=0 loops=1)
-> Append (cost=4.71..16252.79 rows=39 width=152) (actual time=0.320..0.326 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_3" (cost=4.71..89.18 rows=22 width=156) (actual time=0.047..0.053 rows=0 loops=1)
-> Result (cost=4.71..88.96 rows=22 width=164) (actual time=0.032..0.038 rows=0 loops=1)
One-Time Filter: (z($2) = 13)
-> Bitmap Heap Scan on osm_building_polygon_gen1 (cost=4.71..88.96 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=16163.07..16163.41 rows=17 width=147) (actual time=0.251..0.257 rows=0 loops=1)
Filter: (st_asmvtgeom("*SELECT* 2_4".geometry, ($1)::box2d, 4096, 4, true) IS NOT NULL)
-> Unique (cost=16163.07..16163.16 rows=17 width=155) (actual time=0.236..0.242 rows=0 loops=1)
-> Sort (cost=16163.07..16163.12 rows=17 width=155) (actual time=0.222..0.228 rows=0 loops=1)
Sort Key: "*SELECT* 1_4".osm_id
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.40..16162.73 rows=17 width=155) (actual time=0.204..0.210 rows=0 loops=1)
-> Append (cost=0.40..16162.30 rows=17 width=275) (actual time=0.190..0.196 rows=0 loops=1)
-> Result (cost=0.40..14.50 rows=1 width=300) (actual time=0.029..0.036 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_numeri
c((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'::numer
ic)) 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((buil
dingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=0.39..14.49 rows=1 width=254) (actual time=0.029..0.035 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_numer
ic((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'::nume
ric)) 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((bui
ldingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=0.39..14.49 rows=1 width=237) (actual time=0.028..0.034 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_numer
ic((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'::nume
ric)) 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((bui
ldingmin_height)::text), '-1'::numeric)) < '3000'::numeric)))
-> Result (cost=36.67..8006.24 rows=1 width=277) (actual time=0.029..0.035 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 4_6" (cost=36.67..8006.24 rows=1 width=277) (never executed)
-> Nested Loop Semi Join (cost=36.42..8005.98 rows=1 width=277) (never executed)
-> Bitmap Heap Scan on osm_building_polygon obp (cost=36.00..7987.26 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(NULLI
F(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'::numeri
c), 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(a
s_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.99 rows=1010 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..18.45 rows=24 width=8) (never executed)
Index Cond: (osm_id = obp.osm_id)
Heap Fetches: 0
-> Result (cost=36.53..8112.49 rows=13 width=277) (actual time=0.029..0.035 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Subquery Scan on "*SELECT* 5_6" (cost=36.53..8112.49 rows=13 width=277) (never executed)
-> Nested Loop Left Join (cost=36.28..8112.10 rows=13 width=277) (never executed)
-> Bitmap Heap Scan on osm_building_polygon obp_1 (cost=36.00..7989.78 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((buildin
gmin_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)::t
ext), '-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_he
ight)::text), '-1'::numeric)) < '3000'::numeric)))
-> Bitmap Index Scan on osm_building_polygon_geom (cost=0.00..35.99 rows=1010 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=331.44..331.45 rows=1 width=32) (actual time=3.851..3.872 rows=1 loops=1)
-> Function Scan on layer_water_name (cost=0.50..15.50 rows=995 width=200) (actual time=3.816..3.822 rows=0 loops=1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 256, true) IS NOT NULL)
-> Aggregate (cost=225.81..225.82 rows=1 width=32) (actual time=0.611..0.625 rows=1 loops=1)
-> Sort (cost=217.54..217.60 rows=25 width=1196) (actual time=0.592..0.598 rows=0 loops=1)
Sort Key: "*SELECT* 1_5".z_order
Sort Method: quicksort Memory: 25kB
-> Result (cost=0.14..216.96 rows=25 width=1196) (actual time=0.566..0.572 rows=0 loops=1)
-> Append (cost=0.14..214.39 rows=25 width=998) (actual time=0.545..0.551 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_5" (cost=0.14..8.17 rows=1 width=551) (actual time=0.107..0.113 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=559) (actual time=0.083..0.089 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.16 rows=1 width=542) (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.17 rows=1 width=715) (actual time=0.113..0.119 rows=0 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=723) (actual time=0.092..0.098 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.16 rows=1 width=706) (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.18 rows=1 width=666) (actual time=0.065..0.071 rows=0 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=674) (actual time=0.050..0.056 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.17 rows=1 width=657) (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.18 rows=1 width=725) (actual time=0.064..0.071 rows=0 loops=1)
-> Result (cost=0.15..8.17 rows=1 width=733) (actual time=0.049..0.055 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.17 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..62.86 rows=4 width=1062) (actual time=0.044..0.050 rows=0 loops=1)
-> Result (cost=4.63..62.82 rows=4 width=1070) (actual time=0.029..0.035 rows=0 loops=1)
One-Time Filter: (z($2) = 12)
-> Bitmap Heap Scan on osm_transportation_name_linestring (cost=4.63..62.82 rows=4 width=1062) (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[])) TH
EN '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_lin
k}'::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[])) THEN 'path'::text WHEN ((highway)::text = 'raceway'::text) THEN 'r
aceway'::text ELSE NULL::text END <> ALL ('{minor,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* 6_6" (cost=4.63..62.81 rows=4 width=1062) (actual time=0.044..0.050 rows=0 loops=1)
-> Result (cost=4.63..62.77 rows=4 width=1070) (actual time=0.029..0.035 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..62.77 rows=4 width=1062) (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 '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
('{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..55.90 rows=13 width=1062) (actual time=0.044..0.050 rows=0 loops=1)
-> Result (cost=4.63..55.77 rows=13 width=1070) (actual time=0.028..0.035 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..55.77 rows=13 width=1062) (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.33..73.34 rows=1 width=32) (actual time=2540.303..2540.315 rows=1 loops=1)
-> Sort (cost=70.99..71.01 rows=7 width=240) (actual time=2540.171..2540.184 rows=1 loops=1)
Sort Key: (1)
Sort Method: quicksort Memory: 27kB
-> Append (cost=0.14..70.89 rows=7 width=240) (actual time=0.191..2540.151 rows=1 loops=1)
-> Result (cost=0.14..8.17 rows=1 width=240) (actual time=0.081..0.087 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.16 rows=1 width=168) (actual time=0.034..0.040 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.29 rows=1 width=1767) (actual time=0.083..0.113 rows=1 loops=1)
-> Seq Scan on osm_country_point (cost=0.00..1.28 rows=1 width=1738) (actual time=0.067..0.081 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.033..0.040 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 ('{"Uni
ted Kingdom",USA,Россия,Brasil,China,India}'::text[])) OR ((is_in_country_code)::text = ANY ('{AU,CN,IN,BR,US}'::text[]))))
-> Result (cost=0.14..8.17 rows=1 width=343) (actual time=0.043..0.049 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.16 rows=1 width=210) (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.69 rows=1 width=432) (actual time=42.803..42.809 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: 686
-> Subquery Scan on "*SELECT* 6_7" (cost=4.30..42.49 rows=2 width=401) (actual time=2496.992..2496.998 rows=0 loops=1)
-> Result (cost=4.30..42.47 rows=2 width=401) (actual time=2496.977..2496.983 rows=0 loops=1)
-> Append (cost=4.30..42.44 rows=2 width=323) (actual time=2496.962..2496.968 rows=0 loops=1)
-> Bitmap Heap Scan on osm_city_point (cost=4.30..19.27 rows=1 width=323) (actual time=871.242..871.249 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: 27133
Heap Blocks: exact=1075
-> Bitmap Index Scan on osm_city_point_geom (cost=0.00..4.30 rows=3 width=0) (actual time=4.835..4.841 rows=27133 loops=1)
Index Cond: (geometry && $1)
-> Subquery Scan on ranked_places (cost=20.79..23.13 rows=1 width=323) (actual time=1625.695..1625.701 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 NU
LL))) 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_pla
ces.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=1625.682..1625.688 rows=0 loops=1)
-> Sort (cost=20.79..20.80 rows=1 width=299) (actual time=1625.666..1625.672 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_cit
y_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=1625.580..1625.586 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 (plac
e <= 'suburb'::city_place)) OR (z($2) >= 14))
Rows Removed by Filter: 27133
Heap Blocks: exact=1075
-> Bitmap Index Scan on osm_city_point_geom (cost=0.00..4.30 rows=3 width=0) (actual time=2.369..2.375 rows=27133 loops=1)
Index Cond: (geometry && $1)
-> Aggregate (cost=19.95..19.96 rows=1 width=32) (actual time=0.042..0.054 rows=1 loops=1)
-> Result (cost=4.56..19.89 rows=4 width=39) (actual time=0.028..0.034 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_housenumber_point (cost=4.56..19.89 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=917.46..917.47 rows=1 width=32) (actual time=0.333..0.346 rows=1 loops=1)
-> Subquery Scan on layer_poi (cost=885.61..887.27 rows=95 width=375) (actual time=0.319..0.325 rows=0 loops=1)
Filter: (st_asmvtgeom(layer_poi.geometry, ($1)::box2d, 4096, 64, true) IS NOT NULL)
-> Sort (cost=885.61..885.85 rows=95 width=411) (actual time=0.306..0.312 rows=0 loops=1)
Sort Key: ((row_number() OVER (?))::integer)
Sort Method: quicksort Memory: 25kB
-> WindowAgg (cost=812.90..882.49 rows=95 width=411) (actual time=0.289..0.295 rows=0 loops=1)
-> Sort (cost=812.90..813.14 rows=95 width=282) (actual time=0.218..0.224 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 ('{accessorie
s,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,gener
al,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,toba
cco,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".su
bclass)::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 ('{par
k,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 = 'rai
lway'::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)) THE
N '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[])) T
HEN 'grocery'::text WHEN (("*SELECT* 1_6".subclass)::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".sub
class)::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 (("*SELECT* 1_6".subclass)::text = ANY ('{hospital,nurs
ing_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 'a
ttraction'::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".subc
lass)::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)::te
xt = 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 WH
EN '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 'p
olice'::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=9.40..809.78 rows=95 width=282) (actual time=0.202..0.208 rows=0 loops=1)
-> Append (cost=9.40..761.57 rows=95 width=246) (actual time=0.189..0.195 rows=0 loops=1)
-> Subquery Scan on "*SELECT* 1_6" (cost=9.40..261.52 rows=1 width=260) (actual time=0.040..0.047 rows=0 loops=1)
-> Result (cost=9.40..261.51 rows=1 width=368) (actual time=0.027..0.034 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.038..0.044 rows=0 loops=1)
-> Result (cost=9.16..260.95 rows=64 width=368) (actual time=0.025..0.031 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=5.01..118.87 rows=1 width=216) (actual time=0.038..0.044 rows=0 loops=1)
-> Result (cost=5.01..118.86 rows=1 width=324) (actual time=0.025..0.031 rows=0 loops=1)
One-Time Filter: ((z($2) >= 12) AND (z($2) <= 13))
-> Bitmap Heap Scan on osm_poi_polygon (cost=5.01..118.85 rows=1 width=212) (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.50 rows=29 width=0) (never executed)
Index Cond: (geometry && $1)
-> Subquery Scan on "*SELECT* 4_8" (cost=4.76..119.11 rows=29 width=216) (actual time=0.041..0.047 rows=0 loops=1)
-> Result (cost=4.76..118.82 rows=29 width=324) (actual time=0.027..0.033 rows=0 loops=1)
One-Time Filter: (z($2) >= 14)
-> Bitmap Heap Scan on osm_poi_polygon osm_poi_polygon_1 (cost=4.76..118.38 rows=29 width=212) (never executed)
Recheck Cond: (geometry && $1)
-> Bitmap Index Scan on osm_poi_polygon_geom (cost=0.00..4.50 rows=29 width=0) (never executed)
Index Cond: (geometry && $1)
-> Aggregate (cost=8.57..8.58 rows=1 width=32) (actual time=0.040..0.053 rows=1 loops=1)
-> Result (cost=0.14..8.16 rows=1 width=435) (actual time=0.026..0.032 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.16 rows=1 width=435) (never executed)
Index Cond: (geometry && $1)
Filter: (st_asmvtgeom(geometry, ($1)::box2d, 4096, 64, true) IS NOT NULL)
Planning Time: 39.417 ms
Execution Time: 10608.592 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: 23.360 ms
Execution Time: 120.424 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: 39.417 ms
Execution Time: 10608.592 ms
(1009 rows)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment