]> git.0d.be Git - hdm-toner-cartocss.git/blob - project.yml
style wetlands like grass
[hdm-toner-cartocss.git] / project.yml
1 bounds: &world
2   - -180
3   - -85
4   - 180
5   - 85
6
7 _parts:
8   # let's factorize default values used by layers
9   extents: &extents
10     extent: *world
11     srs-name: "3857"
12     srs: "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over"
13     class: ''
14     status: 'on'
15
16   extents84: &extents84
17     extent: *world
18     srs-name: "WGS84"
19     srs: "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
20
21   postgis: &postgis
22     type: postgis
23     dbname: gis
24     key_field: ""
25     geometry_field: way
26     extent: -20037508,-20037508,20037508,20037508
27
28 center:
29   - 29.9377
30   - -3.4216
31   - 15
32 format: png
33 interactivity: false
34 minzoom: 0
35 maxzoom: 20
36 srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
37
38 Stylesheet:
39   - "palette.mss"
40   - "base.mss"
41   - "roads.mss"
42   - "power.mss"
43   - "labels.mss"
44
45 Layer:
46   - Datasource:
47       file: ./data/simplified-land-polygons-complete-3857/simplified_land_polygons.shp
48       type: shape
49     class: shp
50     geometry: polygon
51     <<: *extents
52     id: land-low
53
54   - id: land-high
55     Datasource:
56       file: ./data/land-polygons-split-3857/land_polygons.shp
57       type: shape
58     class: shp
59     geometry: polygon
60     <<: *extents
61
62   - id: landuse_gen0
63     <<: *extents
64     Datasource:
65       <<: *postgis
66       table: |-
67         ( SELECT
68             way, way_area AS area, COALESCE(landuse, leisure, "natural", highway, amenity, tourism) AS type, tags->'landfill:type' as landfill_type
69           FROM
70             planet_osm_polygon
71           WHERE
72             way_area > 100000 ORDER BY way_area DESC
73         ) AS data
74     advanced:
75       extent_from_subquery: 'true'
76
77   - id: landuse_gen1
78     <<: *extents
79     Datasource:
80       <<: *postgis
81       table: >-
82         ( SELECT way, way_area AS area, COALESCE(landuse, leisure, "natural",
83         highway, amenity, tourism) AS type, tags->'landfill:type' as
84         landfill_type FROM planet_osm_polygon WHERE way_area > 10000 AND
85         COALESCE(landuse, leisure, "natural", highway, amenity, tourism) IS NOT NULL
86         ORDER BY way_area DESC
87         ) AS data
88     advanced:
89       extent_from_subquery: 'true'
90
91   - id: landuse
92     <<: *extents
93     Datasource:
94       <<: *postgis
95       table: |-
96         ( SELECT way, way_area AS area, COALESCE(landuse, leisure, "natural", highway, amenity, tourism) AS type, tags->'landfill:type' as landfill_type
97         FROM planet_osm_polygon
98         WHERE COALESCE(landuse, leisure, "natural", highway, amenity, tourism) IS NOT NULL
99         ORDER BY way_area DESC) AS data
100     advanced:
101       extent_from_subquery: 'true'
102
103   - geometry: raster
104     extent: *world
105     id: hillshade
106     Datasource:
107       file: DEM/data/hillshade.vrt
108       type: gdal
109     srs-name: 900913
110     srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
111     status: 'off'
112
113   - geometry: linestring
114     extent: *world
115     id: contour_line
116     Datasource:
117       file: DEM/data/contour-25m.shp
118       type: shape
119     srs-name: autodetect
120     srs: +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over
121     status: 'off'
122
123   - id: waterway_low
124     <<: *extents
125     Datasource:
126       <<: *postgis
127       table: >-
128         ( SELECT way, waterway AS type,
129
130         CASE WHEN intermittent IN ('yes') OR tags@> hstore('seasonal','yes') THEN
131         'yes'
132
133         ELSE 'no' END AS seasonal
134
135         FROM planet_osm_line
136
137         WHERE waterway IN ('river', 'canal')) as h2olow
138     advanced:
139       extent_from_subquery: 'true'
140
141   - id: waterway_med
142     Datasource:
143       <<: *postgis
144       table: >-
145         ( SELECT way, waterway AS type,
146
147         CASE WHEN intermittent IN ('yes') OR tags@> hstore('seasonal','yes') THEN
148         'yes'
149
150         ELSE 'no' END AS seasonal
151
152         FROM planet_osm_line
153
154         WHERE waterway IN ('river', 'canal', 'stream')) as h2o
155
156   - id: waterway_high
157     <<: *extents
158     Datasource:
159       <<: *postgis
160       table: >-
161         ( SELECT way, waterway AS type,
162
163         CASE WHEN intermittent IN ('yes') OR tags@> hstore('seasonal','yes') THEN
164         'yes'
165
166         ELSE 'no' END AS seasonal
167
168         FROM planet_osm_line
169
170         WHERE waterway IN ('river', 'canal', 'stream', 'ditch', 'drain')) as h2o
171     advanced:
172       extent_from_subquery: 'true'
173
174   - id: water_gen0
175     <<: *extents
176     Datasource:
177       <<: *postgis
178       table: >-
179         ( SELECT way, "natural" AS type, way_area AS area
180           FROM planet_osm_polygon
181           WHERE ("natural" IN ('water', 'pond')
182             OR waterway IN ('basin', 'canal', 'mill_pond', 'pond', 'riverbank'))
183             AND way_area > 10000
184         ) AS data
185     advanced:
186       extent_from_subquery: 'true'
187
188   - id: water_gen1
189     <<: *extents
190     Datasource:
191       <<: *postgis
192       table: >-
193         ( SELECT way, "natural" AS type, way_area AS area
194           FROM planet_osm_polygon
195           WHERE ("natural" IN ('water', 'pond')
196             OR waterway IN ('basin', 'canal', 'mill_pond', 'pond', 'riverbank'))
197             AND way_area > 1000
198         ) AS data
199     advanced:
200       extent_from_subquery: 'true'
201
202   - id: water
203     <<: *extents
204     Datasource:
205       <<: *postgis
206       table: >-
207         ( SELECT way, way_area AS area
208           FROM planet_osm_polygon
209           WHERE "natural" IN ('water', 'pond')
210             OR waterway IN ('basin', 'canal', 'mill_pond', 'pond', 'riverbank', 'dock')
211         ) AS data
212     advanced:
213       extent_from_subquery: 'true'
214
215   - id: landuse_overlays
216     <<: *extents
217     Datasource:
218       <<: *postgis
219       table: |-
220         ( SELECT way, way_area AS area, COALESCE(leisure) AS type
221           FROM planet_osm_polygon
222           WHERE leisure = 'nature_reserve'
223           ORDER BY way_area DESC
224         ) AS data
225     advanced:
226       extent_from_subquery: 'true'
227
228   - id: admin-high
229     <<: *extents
230     Datasource:
231       <<: *postgis
232       table: |-
233         ( SELECT
234             ST_Intersection(way, !bbox!) AS way, admin_level::integer,
235             CASE WHEN tags->'maritime'='yes' THEN 'yes' ELSE 'no' END AS maritime
236           FROM
237             planet_osm_roads
238           WHERE
239             "boundary" = 'administrative'
240             AND admin_level IN ('1','2','3','4', '5', '6', '7', '8', '9', '10')
241             AND "boundary" IS NOT NULL
242             AND way && !bbox!
243           ORDER BY
244             admin_level DESC
245         ) AS data
246     advanced:
247       extent_from_subquery: 'true'
248
249   - id: admin-med
250     <<: *extents
251     Datasource:
252       <<: *postgis
253       table: |-
254         ( SELECT
255             ST_Intersection(way, !bbox!) AS way, admin_level::integer,
256             CASE WHEN tags->'maritime'='yes' THEN 'yes' ELSE 'no' END AS maritime
257           FROM
258             planet_osm_roads
259           WHERE
260             "boundary" = 'administrative'
261             AND admin_level IN ('1','2','3','4', '5', '6', '7', '8')
262             AND "boundary" IS NOT NULL
263             AND way && !bbox!
264           ORDER BY
265             admin_level DESC
266         ) AS data
267     advanced:
268       extent_from_subquery: 'true'
269
270   - id: admin-low
271     <<: *extents
272     Datasource:
273       <<: *postgis
274       table: |-
275         ( SELECT
276             way, admin_level::integer,
277             CASE WHEN tags->'maritime'='yes' THEN 'yes' ELSE 'no' END AS maritime
278           FROM
279             planet_osm_roads
280           WHERE
281             "boundary" = 'administrative'
282             AND admin_level IN ('1','2','3','4')
283             AND "boundary" IS NOT NULL
284           ORDER BY
285             admin_level DESC
286         ) AS data
287     advanced:
288       extent_from_subquery: 'true'
289
290   - id: buildings
291     <<: *extents
292     Datasource:
293       <<: *postgis
294       table: |-
295         ( SELECT
296             way, CASE WHEN amenity IS NOT NULL or shop IS NOT NULL THEN 'yes' ELSE 'no' END AS poi, building AS type
297           FROM
298             planet_osm_polygon
299           WHERE
300             building NOT IN ('0','false', 'no')
301         ) AS data
302     advanced:
303       extent_from_subquery: 'true'
304
305   - id: aeroway-poly
306     <<: *extents
307     Datasource:
308       <<: *postgis
309       table: "( SELECT way, aeroway AS type, tunnel FROM planet_osm_polygon WHERE aeroway IN ('apron', 'runway', 'taxiway')) AS data"
310     advanced:
311       extent_from_subquery: 'true'
312
313   - id: aeroway
314     <<: *extents
315     Datasource:
316       <<: *postgis
317       table: |-
318         ( SELECT way, aeroway AS type, tunnel FROM planet_osm_line
319           WHERE aeroway IN ('apron', 'runway', 'taxiway')
320         ) AS data
321     advanced:
322       extent_from_subquery: 'true'
323
324   - id: turning_circle_case
325     <<: *extents
326     Datasource:
327       <<: *postgis
328       table: "( SELECT way \n  FROM planet_osm_point \n  WHERE highway = 'turning_circle'\n) AS data"
329     advanced:
330       extent_from_subquery: 'true'
331
332   - id: roads_high
333     <<: *extents
334     Datasource:
335       <<: *postgis
336       table: |-
337         ( SELECT
338             way, name, access, construction, stratum, type,
339             CASE
340               WHEN smoothness IN ('bad', 'very_bad', 'horrible', 'very_horrible') THEN 'bad'
341               ELSE 'good'
342             END AS condition,
343             CASE
344               WHEN surface IN ('paved', 'paving_stones', 'asphalt', 'concrete') THEN 'paved'
345               WHEN (surface IS NULL AND type IN ('trunk', 'trunk_link', 'motorway', 'motorway_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link')) THEN 'paved'
346               ELSE 'unpaved'
347             END AS surface,
348             CASE
349               WHEN tunnel IS NOT NULL AND tunnel!='no' THEN 'tunnel'
350               WHEN bridge IS NOT NULL AND bridge!='no' THEN 'bridge'
351               WHEN ford IS NOT NULL AND ford!='no' THEN 'ford'
352               ELSE NULL
353             END AS structure,
354             CASE
355               WHEN type IN ('motorway', 'trunk', 'trunk_link') THEN 'motorway'
356               WHEN type ~ E'\\w+_link$' THEN regexp_replace(type, '_link', '')
357               WHEN type IN ('unclassified', 'road') THEN 'standard'
358               WHEN type IN ('residential', 'living_street') THEN 'urban'
359               WHEN type IN ('track', 'service', 'path', 'cycleway', 'footway', 'pedestrian', 'steps', 'bridleway') THEN 'noauto'
360               ELSE type
361             END AS style
362           FROM
363             ( SELECT
364                 way, name, bridge, access, surface, tunnel, tags->'smoothness' AS smoothness, tags->'ford' AS ford, layer, tags->'narrow' AS narrow, construction,
365                 CASE
366                   WHEN true THEN layer::integer
367                   ELSE 0
368                 END AS stratum,
369                 CASE
370                   WHEN highway='construction' AND construction IS NOT NULL THEN construction
371                   ELSE highway
372                 END AS type,
373                 CASE
374                   WHEN highway IN ('trunk', 'motorway') THEN 1
375                   WHEN highway IN ('primary', 'secondary', 'tertiary') THEN 10
376                   WHEN highway IN ('tertiary') THEN 100
377                   ELSE 1000
378                 END AS prio
379               FROM
380                 planet_osm_line
381               WHERE
382                 highway IS NOT NULL
383                 AND way && !bbox!
384               ORDER BY
385                 stratum, prio DESC, z_order
386             ) as a
387           WHERE
388             a.type!='construction' and (a.construction!='yes' OR a.construction IS NULL)
389           ) AS data
390     advanced:
391       extent_from_subquery: 'true'
392
393   - id: ferry
394     <<: *extents
395     Datasource:
396       <<: *postgis
397       table: "( SELECT way, route, name, z_order FROM planet_osm_line WHERE route IS NOT NULL AND route='ferry' ORDER BY z_order) as ferry"
398     advanced:
399       extent_from_subquery: 'true'
400
401   - id: railway
402     <<: *extents
403     Datasource:
404       <<: *postgis
405       table: "( SELECT way, tunnel, bridge, railway, service, CASE WHEN railway in ('spur','siding') or (railway='rail' and service in ('spur','siding','yard')) THEN 'yard' WHEN railway='disused' THEN 'disused' WHEN railway='rail' THEN 'main' ELSE 'other' END AS type FROM planet_osm_line WHERE railway IS NOT NULL AND railway!='abandoned' AND railway!='dismantled' AND railway!='razed' AND railway!='historic' ORDER BY z_order) as rail"
406     advanced:
407       extent_from_subquery: 'true'
408
409   - id: roads_med
410     <<: *extents
411     Datasource:
412       <<: *postgis
413       table: >-
414         ( SELECT way, highway AS type
415
416           FROM planet_osm_roads
417
418           WHERE highway IN ('motorway', 'trunk', 'primary', 'secondary',
419         'motorway_link', 'trunk_link')
420
421         ) AS data
422     advanced:
423       extent_from_subquery: 'true'
424
425   - id: roads_low
426     <<: *extents
427     Datasource:
428       <<: *postgis
429       table: |-
430         ( SELECT way, highway AS type, bridge, tunnel
431             FROM planet_osm_roads
432             WHERE highway IN ('motorway', 'trunk')
433         ) AS data
434     advanced:
435       extent_from_subquery: 'true'
436
437   - id: turning_circle_fill
438     <<: *extents
439     Datasource:
440       <<: *postgis
441       table: "( SELECT way \n  FROM planet_osm_point\n  WHERE highway = 'turning_circle'\n) AS data"
442     advanced:
443       extent_from_subquery: 'true'
444
445   - id: barrier_lines
446     <<: *extents
447     class: barriers
448     Datasource:
449       <<: *postgis
450       table: '(select way, barrier from planet_osm_line where barrier is not null) as data'
451     advanced:
452       extent_from_subquery: 'true'
453
454   - id: barrier_areas
455     <<: *extents
456     class: barriers
457     Datasource:
458       <<: *postgis
459       table: |-
460         ( SELECT
461             way,barrier,"natural"
462           FROM
463             planet_osm_polygon
464           WHERE
465             barrier IS NOT NULL OR "natural"='hedge'
466         ) AS barriers
467     advanced:
468       extent_from_subquery: 'true'
469
470   - id: power-poly
471     <<: *extents
472     class: power-poi
473     Datasource:
474       <<: *postgis
475       table: "(SELECT way, power AS type, tags->'generator:source' AS source, name FROM planet_osm_polygon WHERE power IS NOT NULL) as data"
476     advanced:
477       extent_from_subquery: 'true'
478
479   - id: power-line
480     <<: *extents
481     Datasource:
482       <<: *postgis
483       table: "(SELECT way, power AS type, tags->'generator:source' AS source, name FROM planet_osm_line WHERE power IS NOT NULL) as data"
484     advanced:
485       extent_from_subquery: 'true'
486
487   - id: power-point
488     <<: *extents
489     class: power-poi
490     Datasource:
491       <<: *postgis
492       table: "(SELECT way, power AS type, tags->'generator:source' AS source, name FROM planet_osm_point WHERE power IS NOT NULL) as data"
493     advanced:
494       extent_from_subquery: 'true'
495
496   - id: airport-point
497     <<: *extents
498     class: airport
499     Datasource:
500       <<: *postgis
501       table: "(select way,name,CASE WHEN tags ? 'iata' THEN 'airport' WHEN aeroway='aerodrome' THEN 'airfield' ELSE null END AS aeroway FROM planet_osm_point WHERE aeroway='aerodrome') as data"
502     advanced:
503       extent_from_subquery: 'true'
504
505   - id: airport-poly
506     <<: *extents
507     class: airport
508     Datasource:
509       <<: *postgis
510       table: "(select way,name,CASE WHEN tags ? 'iata' THEN 'airport' WHEN aeroway='aerodrome' THEN 'airfield' ELSE null END AS aeroway FROM planet_osm_polygon WHERE aeroway='aerodrome') as data"
511     advanced:
512       extent_from_subquery: 'true'
513
514   - id: poi-point
515     <<: *extents
516     class: poi
517     Datasource:
518       <<: *postgis
519       table: |-
520         ( SELECT
521             way, name, COALESCE(amenity, leisure, tags->'healthcare', shop, tourism, highway, tags->'emergency', barrier) AS main, man_made, religion,
522             CASE WHEN shop IS NOT NULL AND shop!='no' THEN shop ELSE NULL END AS shop,
523             tags->'craft' as craft, tags->'pump' as pump, tags->'drinking_water' as drinking_water, power, tags->'content' AS content
524           FROM
525             planet_osm_point
526           WHERE
527             amenity IS NOT NULL OR shop IS NOT NULL OR tags ? 'craft' OR tags ? 'healthcare'
528             OR tourism IN ('alpine_hut','camp_site','caravan_site','guest_house','hostel','hotel','motel','museum','viewpoint','bed_and_breakfast','information','chalet')
529             OR highway IN ('bus_stop','traffic_signals','ford', 'street_lamp')
530             OR man_made IN ('mast','water_tower', 'tower', 'water_well', 'watermill', 'storage_tank')
531             OR historic IN ('memorial','archaeological_site')
532             OR leisure IN ('playground','slipway', 'beach_resort')
533             OR tags @> hstore ('emergency', 'fire_hydrant')
534             OR power IN ('generator', 'sub_station', 'tower', 'pole') OR barrier IN ('border_control')
535         ) AS data
536     advanced:
537       extent_from_subquery: 'true'
538
539   - id: poi-poly
540     <<: *extents
541     class: poi
542     Datasource:
543       <<: *postgis
544       table: |-
545         ( SELECT
546             way, name, COALESCE(amenity, leisure, tags->'healthcare', shop, tourism, highway, tags->'emergency', barrier) AS main, man_made, religion,
547             CASE WHEN shop IS NOT NULL AND shop!='no' THEN shop ELSE NULL END AS shop,
548             tags->'craft' as craft, tags->'pump' as pump, tags->'drinking_water' as drinking_water,
549             power, tags->'content' AS content
550           FROM
551             planet_osm_polygon
552           WHERE
553             amenity IS NOT NULL OR shop IS NOT NULL OR tags ? 'healthcare'
554             OR tourism IN ('alpine_hut','camp_site','caravan_site','guest_house','hostel','hotel','motel','museum','viewpoint','bed_and_breakfast','information','chalet')
555             OR highway IN ('bus_stop','traffic_signals') OR historic in ('memorial','archaeological_site') OR leisure='playground'
556             OR power IN ('plant', 'sub_station')
557         ) AS data
558     advanced:
559       extent_from_subquery: 'true'
560
561   - id: low_place
562     <<: *extents
563     Datasource:
564       <<: *postgis
565       table: "( SELECT way, CASE WHEN place='country' THEN 1 WHEN capital='yes' AND admin_level='2' THEN 10 WHEN place='state' THEN 20 WHEN place='city' THEN 21 WHEN place='town' THEN 30 ELSE 100 END as prio, place AS type, name, z_order, CASE WHEN population ~ E'^\\d{1,9}$' THEN population::integer ELSE NULL END AS population, CASE WHEN capital='yes' AND admin_level='2' THEN 'country' ELSE NULL END AS is_capital FROM planet_osm_point WHERE place in ('country', 'state', 'city', 'town') AND place IS NOT NULL ORDER BY prio, population DESC NULLS LAST) AS data"
566     advanced:
567       extent_from_subquery: 'true'
568
569   - id: place
570     <<: *extents
571     Datasource:
572       <<: *postgis
573       table: "( SELECT way, CASE WHEN place='country' THEN 1 WHEN capital='yes' AND admin_level='2' THEN 10 WHEN place='state' THEN 20 WHEN place='town' THEN 30 WHEN place='village' THEN 40 ELSE 100 END as prio, place AS type, name, z_order, CASE WHEN population ~ E'^\\d{1,9}$' THEN population::integer ELSE NULL END AS population, CASE WHEN capital='yes' AND admin_level='2' THEN 'country' ELSE NULL END AS is_capital FROM planet_osm_point WHERE place in ('country', 'state', 'city', 'town', 'village', 'hamlet', 'suburb', 'neighbourhood', 'locality') AND place IS NOT NULL ORDER BY prio, population DESC NULLS LAST) AS data"
574     advanced:
575       extent_from_subquery: 'true'
576
577   - id: area_label
578     <<: *extents
579     Datasource:
580       <<: *postgis
581       table: '( SELECT COALESCE(landuse, leisure, "natural", highway, amenity, tourism) AS type, name, way_area AS area, ST_PointOnSurface(way) AS way FROM planet_osm_polygon WHERE name IS NOT NULL AND (landuse IS NOT NULL OR leisure IS NOT NULL OR "natural" IS NOT NULL) AND way && !bbox! AND ST_IsValid(way) ORDER BY area DESC) AS data'
582     advanced:
583       extent_from_subquery: 'true'
584
585   - id: motorway_label
586     <<: *extents
587     Datasource:
588       <<: *postgis
589       table: "( SELECT way, highway AS type, name, ref, CASE WHEN oneway IN ('yes', '-1') THEN oneway ELSE 'no' END AS oneway, CHAR_LENGTH(ref) AS reflen FROM planet_osm_line WHERE highway IN ('motorway', 'trunk') AND (name IS NOT NULL OR ref IS NOT NULL)) AS data"
590     advanced:
591       extent_from_subquery: 'true'
592
593   - id: mainroad_label
594     <<: *extents
595     Datasource:
596       <<: *postgis
597       table: "( SELECT way, highway AS type, name, CASE WHEN oneway IN ('yes', '-1') THEN oneway ELSE 'no' END AS oneway FROM planet_osm_line WHERE (name IS NOT NULL OR oneway IN ('yes', '-1')) AND highway IN ('primary', 'secondary', 'tertiary')) AS data"
598     advanced:
599       extent_from_subquery: 'true'
600
601   - id: minorroad_label
602     <<: *extents
603     Datasource:
604       <<: *postgis
605       table: >-
606         ( SELECT way, highway AS type, name, CASE WHEN oneway IN ('yes', '-1')
607         THEN oneway ELSE 'no' END AS oneway FROM planet_osm_line WHERE (name IS
608         NOT NULL OR oneway IN ('yes', '-1')) AND highway IN ('residential',
609         'unclassified', 'road', 'living_street', 'unknown')
610
611         ) AS data
612     advanced:
613       extent_from_subquery: 'true'
614
615   - id: admin-label-5-10
616     <<: *extents
617     Datasource:
618       <<: *postgis
619       table: |-
620         ( SELECT
621             ST_Intersection(p.way, !bbox!) AS way, name, cast(regexp_replace(admin_level,'[^0-9]','','g') AS integer) AS admin_level
622           FROM
623             planet_osm_polygon p
624           WHERE
625             ST_Intersects(p.way,!bbox!) AND not ST_Covers(p.way, !bbox!)
626             AND boundary='administrative' AND admin_level IN ('5', '6', '7', '8', '9', '10')
627           ORDER BY
628             admin_level
629         ) AS data
630     advanced:
631       extent_from_subquery: 'true'
632
633   - id: admin-label-1-4
634     <<: *extents
635     Datasource:
636       <<: *postgis
637       table: |-
638         ( SELECT
639             ST_Intersection(p.way, !bbox!) AS way, name, cast(regexp_replace(admin_level,'[^0-9]','','g') AS integer) AS admin_level
640           FROM
641             planet_osm_polygon p
642           WHERE
643             ST_Intersects(p.way, !bbox!) AND not ST_Covers(p.way, !bbox!)
644             AND boundary='administrative' AND admin_level IN ('0', '2', '3', '4')
645           ORDER BY
646             admin_level
647         ) AS data
648     advanced:
649       extent_from_subquery: 'true'
650
651   - id: waterway_label
652     <<: *extents
653     Datasource:
654       <<: *postgis
655       table: "( SELECT way, waterway AS type, name\n  FROM planet_osm_line\n  WHERE waterway IN ('canal', 'river', 'stream') \n    AND name IS NOT NULL\n) AS data"
656     advanced:
657       extent_from_subquery: 'true'
658
659   - id: natural_point_label
660     <<: *extents
661     Datasource:
662       <<: *postgis
663       table: |-
664         ( SELECT
665           way, "natural" AS type, name,
666           CASE WHEN ele ~ E'^\\d{1,5}$' THEN ele::integer ELSE null END as ele
667         FROM
668           planet_osm_point
669         WHERE
670           "natural" IS NOT NULL AND "natural" IN ('peak', 'bay', 'volcano')
671         ORDER BY ele DESC NULLS LAST
672         ) AS data
673     advanced:
674       extent_from_subquery: 'true'
675
676   - id: housenumber
677     <<: *extents
678     Datasource:
679       <<: *postgis
680       table: "      (select way,\"addr:housenumber\" AS housenumber, CASE WHEN \"addr:housenumber\" ~ E'^\\d+$' AND mod(\"addr:housenumber\"::bigint, 5) IN (0, 1) THEN 'yes' ELSE 'no' END AS mod5 FROM planet_osm_polygon WHERE \"addr:housenumber\" IS NOT NULL AND building IS NOT NULL UNION SELECT way,\"addr:housenumber\" AS housenumber, CASE WHEN \"addr:housenumber\" ~ E'^\\d+$' AND mod(\"addr:housenumber\"::bigint, 5) IN (0, 1) THEN 'yes' ELSE 'no' END AS mod5 FROM planet_osm_point WHERE \"addr:housenumber\" IS NOT NULL) as data"
681     advanced:
682       extent_from_subquery: 'true'
683
684 scale: 1
685 metatile: 8
686 attribution: 'Data © OpenStreetMap (and) contributors under ODbL 1.0'
687 description: ''
688 name: hdm-toner
689 compareUrl: 'https://tiles.entrouvert.org/toner/{z}/{x}/{y}.png'