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