diff --git a/css/25_areas.css b/css/25_areas.css index 85f886bef..39c2cdb50 100644 --- a/css/25_areas.css +++ b/css/25_areas.css @@ -216,6 +216,10 @@ path.stroke.tag-natural-wetland { /* Light Green things */ .pattern-color-cemetery, +.pattern-color-cemetery_christian, +.pattern-color-cemetery_buddhist, +.pattern-color-cemetery_muslim, +.pattern-color-cemetery_jewish, .pattern-color-orchard, .pattern-color-meadow, .pattern-color-farm, diff --git a/dist/img/pattern/cemetery_buddhist.png b/dist/img/pattern/cemetery_buddhist.png new file mode 100644 index 000000000..7ea4e0483 Binary files /dev/null and b/dist/img/pattern/cemetery_buddhist.png differ diff --git a/dist/img/pattern/cemetery_christian.png b/dist/img/pattern/cemetery_christian.png new file mode 100644 index 000000000..7e022113f Binary files /dev/null and b/dist/img/pattern/cemetery_christian.png differ diff --git a/dist/img/pattern/cemetery_jewish.png b/dist/img/pattern/cemetery_jewish.png new file mode 100644 index 000000000..3bb9bf9dc Binary files /dev/null and b/dist/img/pattern/cemetery_jewish.png differ diff --git a/dist/img/pattern/cemetery_muslim.png b/dist/img/pattern/cemetery_muslim.png new file mode 100644 index 000000000..13b1d70f7 Binary files /dev/null and b/dist/img/pattern/cemetery_muslim.png differ diff --git a/modules/svg/areas.js b/modules/svg/areas.js index bc4968a50..78bee3bce 100644 --- a/modules/svg/areas.js +++ b/modules/svg/areas.js @@ -19,7 +19,13 @@ export function svgAreas(projection, context) { grave_yard: 'cemetery' }, landuse: { - cemetery: 'cemetery', + cemetery: [ + { religion: 'christian', pattern: 'cemetery_christian' }, + { religion: 'buddhist', pattern: 'cemetery_buddhist' }, + { religion: 'muslim', pattern: 'cemetery_muslim' }, + { religion: 'jewish', pattern: 'cemetery_jewish' }, + { pattern: 'cemetery' } + ], construction: 'construction', farm: 'farmland', farmland: 'farmland', @@ -56,16 +62,16 @@ export function svgAreas(projection, context) { } }; - function setPattern(d) { + function setPattern(entity) { // Skip pattern filling if this is a building (buildings don't get patterns applied) - if (d.tags.building && d.tags.building !== 'no') { + if (entity.tags.building && entity.tags.building !== 'no') { this.style.fill = this.style.stroke = ''; return; } for (var tag in patterns) { if (patterns.hasOwnProperty(tag)) { - var entityValue = d.tags[tag]; + var entityValue = entity.tags[tag]; if (entityValue) { var values = patterns[tag]; @@ -84,7 +90,7 @@ export function svgAreas(projection, context) { for (var criterion in rule) { if (criterion !== 'pattern') { // reserved for pattern name // The only rule is a required tag-value pair - var v = d.tags[criterion]; + var v = entity.tags[criterion]; if (!v || v !== rule[criterion]) { pass = false; break; @@ -261,7 +267,7 @@ export function svgAreas(projection, context) { if (layer === 'fill') { this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)'); - setPattern.apply(this, arguments); + setPattern.call(this, entity); } }) .call(svgTagClasses()) diff --git a/modules/svg/defs.js b/modules/svg/defs.js index f8a3b1e98..73cb4c121 100644 --- a/modules/svg/defs.js +++ b/modules/svg/defs.js @@ -80,6 +80,10 @@ export function svgDefs(context) { ['scrub', 'bushes'], ['construction', 'construction'], ['cemetery', 'cemetery'], + ['cemetery_christian', 'cemetery_christian'], + ['cemetery_buddhist', 'cemetery_buddhist'], + ['cemetery_muslim', 'cemetery_muslim'], + ['cemetery_jewish', 'cemetery_jewish'], ['orchard', 'orchard'], ['farmland', 'farmland'], ['beach', 'dots'],